You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mi...@apache.org on 2015/12/16 17:59:47 UTC

[01/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 539ad1779 -> ecb8d8ba0


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/xref/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/xref/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html b/0.94/xref/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
index 0007f84..fb4d583 100644
--- a/0.94/xref/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
+++ b/0.94/xref/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
@@ -36,174 +36,177 @@
 <a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.util.Bytes;
 <a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.io.RawComparator;
 <a class="jxr_linenumber" name="28" href="#28">28</a>  
-<a class="jxr_linenumber" name="29" href="#29">29</a>  <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * Compress key by storing size of common prefix with previous KeyValue</em>
-<a class="jxr_linenumber" name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * and storing raw size of rest.</em>
-<a class="jxr_linenumber" name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * Format:</em>
-<a class="jxr_linenumber" name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * 1-5 bytes: compressed key length minus prefix (7-bit encoding)</em>
-<a class="jxr_linenumber" name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * 1-5 bytes: compressed value length (7-bit encoding)</em>
-<a class="jxr_linenumber" name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * 1-3 bytes: compressed length of common key prefix</em>
-<a class="jxr_linenumber" name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * ... bytes: rest of key (including timestamp)</em>
-<a class="jxr_linenumber" name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * ... bytes: value</em>
-<a class="jxr_linenumber" name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * In a worst case compressed KeyValue will be three bytes longer than original.</em>
+<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.classification.InterfaceAudience;
+<a class="jxr_linenumber" name="30" href="#30">30</a>  
+<a class="jxr_linenumber" name="31" href="#31">31</a>  <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * Compress key by storing size of common prefix with previous KeyValue</em>
+<a class="jxr_linenumber" name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * and storing raw size of rest.</em>
+<a class="jxr_linenumber" name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * Format:</em>
+<a class="jxr_linenumber" name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * 1-5 bytes: compressed key length minus prefix (7-bit encoding)</em>
+<a class="jxr_linenumber" name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * 1-5 bytes: compressed value length (7-bit encoding)</em>
+<a class="jxr_linenumber" name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * 1-3 bytes: compressed length of common key prefix</em>
+<a class="jxr_linenumber" name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * ... bytes: rest of key (including timestamp)</em>
+<a class="jxr_linenumber" name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * ... bytes: value</em>
 <a class="jxr_linenumber" name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html">PrefixKeyDeltaEncoder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">BufferedDataBlockEncoder</a> {
-<a class="jxr_linenumber" name="44" href="#44">44</a>  
-<a class="jxr_linenumber" name="45" href="#45">45</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> addKV(<strong class="jxr_keyword">int</strong> prevKeyOffset, DataOutputStream out,
-<a class="jxr_linenumber" name="46" href="#46">46</a>        ByteBuffer in, <strong class="jxr_keyword">int</strong> prevKeyLength) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="47" href="#47">47</a>      <strong class="jxr_keyword">int</strong> keyLength = in.getInt();
-<a class="jxr_linenumber" name="48" href="#48">48</a>      <strong class="jxr_keyword">int</strong> valueLength = in.getInt();
-<a class="jxr_linenumber" name="49" href="#49">49</a>  
-<a class="jxr_linenumber" name="50" href="#50">50</a>      <strong class="jxr_keyword">if</strong> (prevKeyOffset == -1) {
-<a class="jxr_linenumber" name="51" href="#51">51</a>        <em class="jxr_comment">// copy the key, there is no common prefix with none</em>
-<a class="jxr_linenumber" name="52" href="#52">52</a>        ByteBufferUtils.putCompressedInt(out, keyLength);
-<a class="jxr_linenumber" name="53" href="#53">53</a>        ByteBufferUtils.putCompressedInt(out, valueLength);
-<a class="jxr_linenumber" name="54" href="#54">54</a>        ByteBufferUtils.putCompressedInt(out, 0);
-<a class="jxr_linenumber" name="55" href="#55">55</a>        ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);
-<a class="jxr_linenumber" name="56" href="#56">56</a>      } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="57" href="#57">57</a>        <em class="jxr_comment">// find a common prefix and skip it</em>
-<a class="jxr_linenumber" name="58" href="#58">58</a>        <strong class="jxr_keyword">int</strong> common = ByteBufferUtils.findCommonPrefix(
-<a class="jxr_linenumber" name="59" href="#59">59</a>            in, prevKeyOffset + KeyValue.ROW_OFFSET,
-<a class="jxr_linenumber" name="60" href="#60">60</a>            in.position(),
-<a class="jxr_linenumber" name="61" href="#61">61</a>            Math.min(prevKeyLength, keyLength));
-<a class="jxr_linenumber" name="62" href="#62">62</a>  
-<a class="jxr_linenumber" name="63" href="#63">63</a>        ByteBufferUtils.putCompressedInt(out, keyLength - common);
-<a class="jxr_linenumber" name="64" href="#64">64</a>        ByteBufferUtils.putCompressedInt(out, valueLength);
-<a class="jxr_linenumber" name="65" href="#65">65</a>        ByteBufferUtils.putCompressedInt(out, common);
-<a class="jxr_linenumber" name="66" href="#66">66</a>  
-<a class="jxr_linenumber" name="67" href="#67">67</a>        ByteBufferUtils.skip(in, common);
-<a class="jxr_linenumber" name="68" href="#68">68</a>        ByteBufferUtils.moveBufferToStream(out, in, keyLength - common
-<a class="jxr_linenumber" name="69" href="#69">69</a>            + valueLength);
-<a class="jxr_linenumber" name="70" href="#70">70</a>      }
-<a class="jxr_linenumber" name="71" href="#71">71</a>  
-<a class="jxr_linenumber" name="72" href="#72">72</a>      <strong class="jxr_keyword">return</strong> keyLength;
-<a class="jxr_linenumber" name="73" href="#73">73</a>    }
+<a class="jxr_linenumber" name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * In a worst case compressed KeyValue will be three bytes longer than original.</em>
+<a class="jxr_linenumber" name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="45" href="#45">45</a>  @InterfaceAudience.Private
+<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html">PrefixKeyDeltaEncoder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">BufferedDataBlockEncoder</a> {
+<a class="jxr_linenumber" name="47" href="#47">47</a>  
+<a class="jxr_linenumber" name="48" href="#48">48</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> addKV(<strong class="jxr_keyword">int</strong> prevKeyOffset, DataOutputStream out,
+<a class="jxr_linenumber" name="49" href="#49">49</a>        ByteBuffer in, <strong class="jxr_keyword">int</strong> prevKeyLength) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="50" href="#50">50</a>      <strong class="jxr_keyword">int</strong> keyLength = in.getInt();
+<a class="jxr_linenumber" name="51" href="#51">51</a>      <strong class="jxr_keyword">int</strong> valueLength = in.getInt();
+<a class="jxr_linenumber" name="52" href="#52">52</a>  
+<a class="jxr_linenumber" name="53" href="#53">53</a>      <strong class="jxr_keyword">if</strong> (prevKeyOffset == -1) {
+<a class="jxr_linenumber" name="54" href="#54">54</a>        <em class="jxr_comment">// copy the key, there is no common prefix with none</em>
+<a class="jxr_linenumber" name="55" href="#55">55</a>        ByteBufferUtils.putCompressedInt(out, keyLength);
+<a class="jxr_linenumber" name="56" href="#56">56</a>        ByteBufferUtils.putCompressedInt(out, valueLength);
+<a class="jxr_linenumber" name="57" href="#57">57</a>        ByteBufferUtils.putCompressedInt(out, 0);
+<a class="jxr_linenumber" name="58" href="#58">58</a>        ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);
+<a class="jxr_linenumber" name="59" href="#59">59</a>      } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="60" href="#60">60</a>        <em class="jxr_comment">// find a common prefix and skip it</em>
+<a class="jxr_linenumber" name="61" href="#61">61</a>        <strong class="jxr_keyword">int</strong> common = ByteBufferUtils.findCommonPrefix(
+<a class="jxr_linenumber" name="62" href="#62">62</a>            in, prevKeyOffset + KeyValue.ROW_OFFSET,
+<a class="jxr_linenumber" name="63" href="#63">63</a>            in.position(),
+<a class="jxr_linenumber" name="64" href="#64">64</a>            Math.min(prevKeyLength, keyLength));
+<a class="jxr_linenumber" name="65" href="#65">65</a>  
+<a class="jxr_linenumber" name="66" href="#66">66</a>        ByteBufferUtils.putCompressedInt(out, keyLength - common);
+<a class="jxr_linenumber" name="67" href="#67">67</a>        ByteBufferUtils.putCompressedInt(out, valueLength);
+<a class="jxr_linenumber" name="68" href="#68">68</a>        ByteBufferUtils.putCompressedInt(out, common);
+<a class="jxr_linenumber" name="69" href="#69">69</a>  
+<a class="jxr_linenumber" name="70" href="#70">70</a>        ByteBufferUtils.skip(in, common);
+<a class="jxr_linenumber" name="71" href="#71">71</a>        ByteBufferUtils.moveBufferToStream(out, in, keyLength - common
+<a class="jxr_linenumber" name="72" href="#72">72</a>            + valueLength);
+<a class="jxr_linenumber" name="73" href="#73">73</a>      }
 <a class="jxr_linenumber" name="74" href="#74">74</a>  
-<a class="jxr_linenumber" name="75" href="#75">75</a>    @Override
-<a class="jxr_linenumber" name="76" href="#76">76</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> compressKeyValues(DataOutputStream writeHere,
-<a class="jxr_linenumber" name="77" href="#77">77</a>        ByteBuffer in, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="78" href="#78">78</a>      in.rewind();
-<a class="jxr_linenumber" name="79" href="#79">79</a>      ByteBufferUtils.putInt(writeHere, in.limit());
-<a class="jxr_linenumber" name="80" href="#80">80</a>      <strong class="jxr_keyword">int</strong> prevOffset = -1;
-<a class="jxr_linenumber" name="81" href="#81">81</a>      <strong class="jxr_keyword">int</strong> offset = 0;
-<a class="jxr_linenumber" name="82" href="#82">82</a>      <strong class="jxr_keyword">int</strong> keyLength = 0;
-<a class="jxr_linenumber" name="83" href="#83">83</a>      <strong class="jxr_keyword">while</strong> (in.hasRemaining()) {
-<a class="jxr_linenumber" name="84" href="#84">84</a>        offset = in.position();
-<a class="jxr_linenumber" name="85" href="#85">85</a>        keyLength = addKV(prevOffset, writeHere, in, keyLength);
-<a class="jxr_linenumber" name="86" href="#86">86</a>        afterEncodingKeyValue(in, writeHere, includesMemstoreTS);
-<a class="jxr_linenumber" name="87" href="#87">87</a>        prevOffset = offset;
-<a class="jxr_linenumber" name="88" href="#88">88</a>      }
-<a class="jxr_linenumber" name="89" href="#89">89</a>    }
-<a class="jxr_linenumber" name="90" href="#90">90</a>  
-<a class="jxr_linenumber" name="91" href="#91">91</a>    @Override
-<a class="jxr_linenumber" name="92" href="#92">92</a>    <strong class="jxr_keyword">public</strong> ByteBuffer uncompressKeyValues(DataInputStream source,
-<a class="jxr_linenumber" name="93" href="#93">93</a>        <strong class="jxr_keyword">int</strong> allocHeaderLength, <strong class="jxr_keyword">int</strong> skipLastBytes, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS)
-<a class="jxr_linenumber" name="94" href="#94">94</a>            <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="95" href="#95">95</a>      <strong class="jxr_keyword">int</strong> decompressedSize = source.readInt();
-<a class="jxr_linenumber" name="96" href="#96">96</a>      ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +
-<a class="jxr_linenumber" name="97" href="#97">97</a>          allocHeaderLength);
-<a class="jxr_linenumber" name="98" href="#98">98</a>      buffer.position(allocHeaderLength);
-<a class="jxr_linenumber" name="99" href="#99">99</a>      <strong class="jxr_keyword">int</strong> prevKeyOffset = 0;
-<a class="jxr_linenumber" name="100" href="#100">100</a> 
-<a class="jxr_linenumber" name="101" href="#101">101</a>     <strong class="jxr_keyword">while</strong> (source.available() &gt; skipLastBytes) {
-<a class="jxr_linenumber" name="102" href="#102">102</a>       prevKeyOffset = uncompressKeyValue(source, buffer, prevKeyOffset);
-<a class="jxr_linenumber" name="103" href="#103">103</a>       afterDecodingKeyValue(source, buffer, includesMemstoreTS);
-<a class="jxr_linenumber" name="104" href="#104">104</a>     }
-<a class="jxr_linenumber" name="105" href="#105">105</a> 
-<a class="jxr_linenumber" name="106" href="#106">106</a>     <strong class="jxr_keyword">if</strong> (source.available() != skipLastBytes) {
-<a class="jxr_linenumber" name="107" href="#107">107</a>       <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"Read too many bytes."</span>);
-<a class="jxr_linenumber" name="108" href="#108">108</a>     }
-<a class="jxr_linenumber" name="109" href="#109">109</a> 
-<a class="jxr_linenumber" name="110" href="#110">110</a>     buffer.limit(buffer.position());
-<a class="jxr_linenumber" name="111" href="#111">111</a>     <strong class="jxr_keyword">return</strong> buffer;
-<a class="jxr_linenumber" name="112" href="#112">112</a>   }
-<a class="jxr_linenumber" name="113" href="#113">113</a> 
-<a class="jxr_linenumber" name="114" href="#114">114</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> uncompressKeyValue(DataInputStream source, ByteBuffer buffer,
-<a class="jxr_linenumber" name="115" href="#115">115</a>       <strong class="jxr_keyword">int</strong> prevKeyOffset)
-<a class="jxr_linenumber" name="116" href="#116">116</a>           <strong class="jxr_keyword">throws</strong> IOException, <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/EncoderBufferTooSmallException.html">EncoderBufferTooSmallException</a> {
-<a class="jxr_linenumber" name="117" href="#117">117</a>     <strong class="jxr_keyword">int</strong> keyLength = ByteBufferUtils.readCompressedInt(source);
-<a class="jxr_linenumber" name="118" href="#118">118</a>     <strong class="jxr_keyword">int</strong> valueLength = ByteBufferUtils.readCompressedInt(source);
-<a class="jxr_linenumber" name="119" href="#119">119</a>     <strong class="jxr_keyword">int</strong> commonLength = ByteBufferUtils.readCompressedInt(source);
-<a class="jxr_linenumber" name="120" href="#120">120</a>     <strong class="jxr_keyword">int</strong> keyOffset;
-<a class="jxr_linenumber" name="121" href="#121">121</a>     keyLength += commonLength;
-<a class="jxr_linenumber" name="122" href="#122">122</a> 
-<a class="jxr_linenumber" name="123" href="#123">123</a>     ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength
-<a class="jxr_linenumber" name="124" href="#124">124</a>         + KeyValue.ROW_OFFSET);
+<a class="jxr_linenumber" name="75" href="#75">75</a>      <strong class="jxr_keyword">return</strong> keyLength;
+<a class="jxr_linenumber" name="76" href="#76">76</a>    }
+<a class="jxr_linenumber" name="77" href="#77">77</a>  
+<a class="jxr_linenumber" name="78" href="#78">78</a>    @Override
+<a class="jxr_linenumber" name="79" href="#79">79</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> compressKeyValues(DataOutputStream writeHere,
+<a class="jxr_linenumber" name="80" href="#80">80</a>        ByteBuffer in, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="81" href="#81">81</a>      in.rewind();
+<a class="jxr_linenumber" name="82" href="#82">82</a>      ByteBufferUtils.putInt(writeHere, in.limit());
+<a class="jxr_linenumber" name="83" href="#83">83</a>      <strong class="jxr_keyword">int</strong> prevOffset = -1;
+<a class="jxr_linenumber" name="84" href="#84">84</a>      <strong class="jxr_keyword">int</strong> offset = 0;
+<a class="jxr_linenumber" name="85" href="#85">85</a>      <strong class="jxr_keyword">int</strong> keyLength = 0;
+<a class="jxr_linenumber" name="86" href="#86">86</a>      <strong class="jxr_keyword">while</strong> (in.hasRemaining()) {
+<a class="jxr_linenumber" name="87" href="#87">87</a>        offset = in.position();
+<a class="jxr_linenumber" name="88" href="#88">88</a>        keyLength = addKV(prevOffset, writeHere, in, keyLength);
+<a class="jxr_linenumber" name="89" href="#89">89</a>        afterEncodingKeyValue(in, writeHere, includesMemstoreTS);
+<a class="jxr_linenumber" name="90" href="#90">90</a>        prevOffset = offset;
+<a class="jxr_linenumber" name="91" href="#91">91</a>      }
+<a class="jxr_linenumber" name="92" href="#92">92</a>    }
+<a class="jxr_linenumber" name="93" href="#93">93</a>  
+<a class="jxr_linenumber" name="94" href="#94">94</a>    @Override
+<a class="jxr_linenumber" name="95" href="#95">95</a>    <strong class="jxr_keyword">public</strong> ByteBuffer uncompressKeyValues(DataInputStream source,
+<a class="jxr_linenumber" name="96" href="#96">96</a>        <strong class="jxr_keyword">int</strong> allocHeaderLength, <strong class="jxr_keyword">int</strong> skipLastBytes, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS)
+<a class="jxr_linenumber" name="97" href="#97">97</a>            <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="98" href="#98">98</a>      <strong class="jxr_keyword">int</strong> decompressedSize = source.readInt();
+<a class="jxr_linenumber" name="99" href="#99">99</a>      ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +
+<a class="jxr_linenumber" name="100" href="#100">100</a>         allocHeaderLength);
+<a class="jxr_linenumber" name="101" href="#101">101</a>     buffer.position(allocHeaderLength);
+<a class="jxr_linenumber" name="102" href="#102">102</a>     <strong class="jxr_keyword">int</strong> prevKeyOffset = 0;
+<a class="jxr_linenumber" name="103" href="#103">103</a> 
+<a class="jxr_linenumber" name="104" href="#104">104</a>     <strong class="jxr_keyword">while</strong> (source.available() &gt; skipLastBytes) {
+<a class="jxr_linenumber" name="105" href="#105">105</a>       prevKeyOffset = uncompressKeyValue(source, buffer, prevKeyOffset);
+<a class="jxr_linenumber" name="106" href="#106">106</a>       afterDecodingKeyValue(source, buffer, includesMemstoreTS);
+<a class="jxr_linenumber" name="107" href="#107">107</a>     }
+<a class="jxr_linenumber" name="108" href="#108">108</a> 
+<a class="jxr_linenumber" name="109" href="#109">109</a>     <strong class="jxr_keyword">if</strong> (source.available() != skipLastBytes) {
+<a class="jxr_linenumber" name="110" href="#110">110</a>       <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"Read too many bytes."</span>);
+<a class="jxr_linenumber" name="111" href="#111">111</a>     }
+<a class="jxr_linenumber" name="112" href="#112">112</a> 
+<a class="jxr_linenumber" name="113" href="#113">113</a>     buffer.limit(buffer.position());
+<a class="jxr_linenumber" name="114" href="#114">114</a>     <strong class="jxr_keyword">return</strong> buffer;
+<a class="jxr_linenumber" name="115" href="#115">115</a>   }
+<a class="jxr_linenumber" name="116" href="#116">116</a> 
+<a class="jxr_linenumber" name="117" href="#117">117</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> uncompressKeyValue(DataInputStream source, ByteBuffer buffer,
+<a class="jxr_linenumber" name="118" href="#118">118</a>       <strong class="jxr_keyword">int</strong> prevKeyOffset)
+<a class="jxr_linenumber" name="119" href="#119">119</a>           <strong class="jxr_keyword">throws</strong> IOException, <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/EncoderBufferTooSmallException.html">EncoderBufferTooSmallException</a> {
+<a class="jxr_linenumber" name="120" href="#120">120</a>     <strong class="jxr_keyword">int</strong> keyLength = ByteBufferUtils.readCompressedInt(source);
+<a class="jxr_linenumber" name="121" href="#121">121</a>     <strong class="jxr_keyword">int</strong> valueLength = ByteBufferUtils.readCompressedInt(source);
+<a class="jxr_linenumber" name="122" href="#122">122</a>     <strong class="jxr_keyword">int</strong> commonLength = ByteBufferUtils.readCompressedInt(source);
+<a class="jxr_linenumber" name="123" href="#123">123</a>     <strong class="jxr_keyword">int</strong> keyOffset;
+<a class="jxr_linenumber" name="124" href="#124">124</a>     keyLength += commonLength;
 <a class="jxr_linenumber" name="125" href="#125">125</a> 
-<a class="jxr_linenumber" name="126" href="#126">126</a>     buffer.putInt(keyLength);
-<a class="jxr_linenumber" name="127" href="#127">127</a>     buffer.putInt(valueLength);
+<a class="jxr_linenumber" name="126" href="#126">126</a>     ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength
+<a class="jxr_linenumber" name="127" href="#127">127</a>         + KeyValue.ROW_OFFSET);
 <a class="jxr_linenumber" name="128" href="#128">128</a> 
-<a class="jxr_linenumber" name="129" href="#129">129</a>     <em class="jxr_comment">// copy the prefix</em>
-<a class="jxr_linenumber" name="130" href="#130">130</a>     <strong class="jxr_keyword">if</strong> (commonLength &gt; 0) {
-<a class="jxr_linenumber" name="131" href="#131">131</a>       keyOffset = buffer.position();
-<a class="jxr_linenumber" name="132" href="#132">132</a>       ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, prevKeyOffset,
-<a class="jxr_linenumber" name="133" href="#133">133</a>           commonLength);
-<a class="jxr_linenumber" name="134" href="#134">134</a>     } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="135" href="#135">135</a>       keyOffset = buffer.position();
-<a class="jxr_linenumber" name="136" href="#136">136</a>     }
-<a class="jxr_linenumber" name="137" href="#137">137</a> 
-<a class="jxr_linenumber" name="138" href="#138">138</a>     <em class="jxr_comment">// copy rest of the key and value</em>
-<a class="jxr_linenumber" name="139" href="#139">139</a>     <strong class="jxr_keyword">int</strong> len = keyLength - commonLength + valueLength;
-<a class="jxr_linenumber" name="140" href="#140">140</a>     ByteBufferUtils.copyFromStreamToBuffer(buffer, source, len);
-<a class="jxr_linenumber" name="141" href="#141">141</a>     <strong class="jxr_keyword">return</strong> keyOffset;
-<a class="jxr_linenumber" name="142" href="#142">142</a>   }
-<a class="jxr_linenumber" name="143" href="#143">143</a> 
-<a class="jxr_linenumber" name="144" href="#144">144</a>   @Override
-<a class="jxr_linenumber" name="145" href="#145">145</a>   <strong class="jxr_keyword">public</strong> ByteBuffer getFirstKeyInBlock(ByteBuffer block) {
-<a class="jxr_linenumber" name="146" href="#146">146</a>     block.mark();
-<a class="jxr_linenumber" name="147" href="#147">147</a>     block.position(Bytes.SIZEOF_INT);
-<a class="jxr_linenumber" name="148" href="#148">148</a>     <strong class="jxr_keyword">int</strong> keyLength = ByteBufferUtils.readCompressedInt(block);
-<a class="jxr_linenumber" name="149" href="#149">149</a>     ByteBufferUtils.readCompressedInt(block);
-<a class="jxr_linenumber" name="150" href="#150">150</a>     <strong class="jxr_keyword">int</strong> commonLength = ByteBufferUtils.readCompressedInt(block);
-<a class="jxr_linenumber" name="151" href="#151">151</a>     <strong class="jxr_keyword">if</strong> (commonLength != 0) {
-<a class="jxr_linenumber" name="152" href="#152">152</a>       <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> AssertionError(<span class="jxr_string">"Nonzero common length in the first key in "</span>
-<a class="jxr_linenumber" name="153" href="#153">153</a>           + <span class="jxr_string">"block: "</span> + commonLength);
-<a class="jxr_linenumber" name="154" href="#154">154</a>     }
-<a class="jxr_linenumber" name="155" href="#155">155</a>     <strong class="jxr_keyword">int</strong> pos = block.position();
-<a class="jxr_linenumber" name="156" href="#156">156</a>     block.reset();
-<a class="jxr_linenumber" name="157" href="#157">157</a>     <strong class="jxr_keyword">return</strong> ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();
-<a class="jxr_linenumber" name="158" href="#158">158</a>   }
-<a class="jxr_linenumber" name="159" href="#159">159</a> 
-<a class="jxr_linenumber" name="160" href="#160">160</a>   @Override
-<a class="jxr_linenumber" name="161" href="#161">161</a>   <strong class="jxr_keyword">public</strong> String toString() {
-<a class="jxr_linenumber" name="162" href="#162">162</a>     <strong class="jxr_keyword">return</strong> PrefixKeyDeltaEncoder.<strong class="jxr_keyword">class</strong>.getSimpleName();
-<a class="jxr_linenumber" name="163" href="#163">163</a>   }
-<a class="jxr_linenumber" name="164" href="#164">164</a> 
-<a class="jxr_linenumber" name="165" href="#165">165</a>   @Override
-<a class="jxr_linenumber" name="166" href="#166">166</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html">EncodedSeeker</a> createSeeker(RawComparator&lt;byte[]&gt; comparator,
-<a class="jxr_linenumber" name="167" href="#167">167</a>       <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) {
-<a class="jxr_linenumber" name="168" href="#168">168</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {
-<a class="jxr_linenumber" name="169" href="#169">169</a>       @Override
-<a class="jxr_linenumber" name="170" href="#170">170</a>       <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> decodeNext() {
-<a class="jxr_linenumber" name="171" href="#171">171</a>         current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);
-<a class="jxr_linenumber" name="172" href="#172">172</a>         current.valueLength = ByteBufferUtils.readCompressedInt(currentBuffer);
-<a class="jxr_linenumber" name="173" href="#173">173</a>         current.lastCommonPrefix =
-<a class="jxr_linenumber" name="174" href="#174">174</a>             ByteBufferUtils.readCompressedInt(currentBuffer);
-<a class="jxr_linenumber" name="175" href="#175">175</a>         current.keyLength += current.lastCommonPrefix;
-<a class="jxr_linenumber" name="176" href="#176">176</a>         current.ensureSpaceForKey();
-<a class="jxr_linenumber" name="177" href="#177">177</a>         currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,
-<a class="jxr_linenumber" name="178" href="#178">178</a>             current.keyLength - current.lastCommonPrefix);
-<a class="jxr_linenumber" name="179" href="#179">179</a>         current.valueOffset = currentBuffer.position();
-<a class="jxr_linenumber" name="180" href="#180">180</a>         ByteBufferUtils.skip(currentBuffer, current.valueLength);
-<a class="jxr_linenumber" name="181" href="#181">181</a>         <strong class="jxr_keyword">if</strong> (includesMemstoreTS) {
-<a class="jxr_linenumber" name="182" href="#182">182</a>           current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);
-<a class="jxr_linenumber" name="183" href="#183">183</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="184" href="#184">184</a>           current.memstoreTS = 0;
-<a class="jxr_linenumber" name="185" href="#185">185</a>         }
-<a class="jxr_linenumber" name="186" href="#186">186</a>         current.nextKvOffset = currentBuffer.position();
-<a class="jxr_linenumber" name="187" href="#187">187</a>       }
-<a class="jxr_linenumber" name="188" href="#188">188</a> 
-<a class="jxr_linenumber" name="189" href="#189">189</a>       @Override
-<a class="jxr_linenumber" name="190" href="#190">190</a>       <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> decodeFirst() {
-<a class="jxr_linenumber" name="191" href="#191">191</a>         ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);
-<a class="jxr_linenumber" name="192" href="#192">192</a>         decodeNext();
-<a class="jxr_linenumber" name="193" href="#193">193</a>       }
-<a class="jxr_linenumber" name="194" href="#194">194</a>     };
-<a class="jxr_linenumber" name="195" href="#195">195</a>   }
-<a class="jxr_linenumber" name="196" href="#196">196</a> }
+<a class="jxr_linenumber" name="129" href="#129">129</a>     buffer.putInt(keyLength);
+<a class="jxr_linenumber" name="130" href="#130">130</a>     buffer.putInt(valueLength);
+<a class="jxr_linenumber" name="131" href="#131">131</a> 
+<a class="jxr_linenumber" name="132" href="#132">132</a>     <em class="jxr_comment">// copy the prefix</em>
+<a class="jxr_linenumber" name="133" href="#133">133</a>     <strong class="jxr_keyword">if</strong> (commonLength &gt; 0) {
+<a class="jxr_linenumber" name="134" href="#134">134</a>       keyOffset = buffer.position();
+<a class="jxr_linenumber" name="135" href="#135">135</a>       ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, prevKeyOffset,
+<a class="jxr_linenumber" name="136" href="#136">136</a>           commonLength);
+<a class="jxr_linenumber" name="137" href="#137">137</a>     } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="138" href="#138">138</a>       keyOffset = buffer.position();
+<a class="jxr_linenumber" name="139" href="#139">139</a>     }
+<a class="jxr_linenumber" name="140" href="#140">140</a> 
+<a class="jxr_linenumber" name="141" href="#141">141</a>     <em class="jxr_comment">// copy rest of the key and value</em>
+<a class="jxr_linenumber" name="142" href="#142">142</a>     <strong class="jxr_keyword">int</strong> len = keyLength - commonLength + valueLength;
+<a class="jxr_linenumber" name="143" href="#143">143</a>     ByteBufferUtils.copyFromStreamToBuffer(buffer, source, len);
+<a class="jxr_linenumber" name="144" href="#144">144</a>     <strong class="jxr_keyword">return</strong> keyOffset;
+<a class="jxr_linenumber" name="145" href="#145">145</a>   }
+<a class="jxr_linenumber" name="146" href="#146">146</a> 
+<a class="jxr_linenumber" name="147" href="#147">147</a>   @Override
+<a class="jxr_linenumber" name="148" href="#148">148</a>   <strong class="jxr_keyword">public</strong> ByteBuffer getFirstKeyInBlock(ByteBuffer block) {
+<a class="jxr_linenumber" name="149" href="#149">149</a>     block.mark();
+<a class="jxr_linenumber" name="150" href="#150">150</a>     block.position(Bytes.SIZEOF_INT);
+<a class="jxr_linenumber" name="151" href="#151">151</a>     <strong class="jxr_keyword">int</strong> keyLength = ByteBufferUtils.readCompressedInt(block);
+<a class="jxr_linenumber" name="152" href="#152">152</a>     ByteBufferUtils.readCompressedInt(block);
+<a class="jxr_linenumber" name="153" href="#153">153</a>     <strong class="jxr_keyword">int</strong> commonLength = ByteBufferUtils.readCompressedInt(block);
+<a class="jxr_linenumber" name="154" href="#154">154</a>     <strong class="jxr_keyword">if</strong> (commonLength != 0) {
+<a class="jxr_linenumber" name="155" href="#155">155</a>       <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> AssertionError(<span class="jxr_string">"Nonzero common length in the first key in "</span>
+<a class="jxr_linenumber" name="156" href="#156">156</a>           + <span class="jxr_string">"block: "</span> + commonLength);
+<a class="jxr_linenumber" name="157" href="#157">157</a>     }
+<a class="jxr_linenumber" name="158" href="#158">158</a>     <strong class="jxr_keyword">int</strong> pos = block.position();
+<a class="jxr_linenumber" name="159" href="#159">159</a>     block.reset();
+<a class="jxr_linenumber" name="160" href="#160">160</a>     <strong class="jxr_keyword">return</strong> ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();
+<a class="jxr_linenumber" name="161" href="#161">161</a>   }
+<a class="jxr_linenumber" name="162" href="#162">162</a> 
+<a class="jxr_linenumber" name="163" href="#163">163</a>   @Override
+<a class="jxr_linenumber" name="164" href="#164">164</a>   <strong class="jxr_keyword">public</strong> String toString() {
+<a class="jxr_linenumber" name="165" href="#165">165</a>     <strong class="jxr_keyword">return</strong> PrefixKeyDeltaEncoder.<strong class="jxr_keyword">class</strong>.getSimpleName();
+<a class="jxr_linenumber" name="166" href="#166">166</a>   }
+<a class="jxr_linenumber" name="167" href="#167">167</a> 
+<a class="jxr_linenumber" name="168" href="#168">168</a>   @Override
+<a class="jxr_linenumber" name="169" href="#169">169</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html">EncodedSeeker</a> createSeeker(RawComparator&lt;byte[]&gt; comparator,
+<a class="jxr_linenumber" name="170" href="#170">170</a>       <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) {
+<a class="jxr_linenumber" name="171" href="#171">171</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {
+<a class="jxr_linenumber" name="172" href="#172">172</a>       @Override
+<a class="jxr_linenumber" name="173" href="#173">173</a>       <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> decodeNext() {
+<a class="jxr_linenumber" name="174" href="#174">174</a>         current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);
+<a class="jxr_linenumber" name="175" href="#175">175</a>         current.valueLength = ByteBufferUtils.readCompressedInt(currentBuffer);
+<a class="jxr_linenumber" name="176" href="#176">176</a>         current.lastCommonPrefix =
+<a class="jxr_linenumber" name="177" href="#177">177</a>             ByteBufferUtils.readCompressedInt(currentBuffer);
+<a class="jxr_linenumber" name="178" href="#178">178</a>         current.keyLength += current.lastCommonPrefix;
+<a class="jxr_linenumber" name="179" href="#179">179</a>         current.ensureSpaceForKey();
+<a class="jxr_linenumber" name="180" href="#180">180</a>         currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,
+<a class="jxr_linenumber" name="181" href="#181">181</a>             current.keyLength - current.lastCommonPrefix);
+<a class="jxr_linenumber" name="182" href="#182">182</a>         current.valueOffset = currentBuffer.position();
+<a class="jxr_linenumber" name="183" href="#183">183</a>         ByteBufferUtils.skip(currentBuffer, current.valueLength);
+<a class="jxr_linenumber" name="184" href="#184">184</a>         <strong class="jxr_keyword">if</strong> (includesMemstoreTS) {
+<a class="jxr_linenumber" name="185" href="#185">185</a>           current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);
+<a class="jxr_linenumber" name="186" href="#186">186</a>         } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="187" href="#187">187</a>           current.memstoreTS = 0;
+<a class="jxr_linenumber" name="188" href="#188">188</a>         }
+<a class="jxr_linenumber" name="189" href="#189">189</a>         current.nextKvOffset = currentBuffer.position();
+<a class="jxr_linenumber" name="190" href="#190">190</a>       }
+<a class="jxr_linenumber" name="191" href="#191">191</a> 
+<a class="jxr_linenumber" name="192" href="#192">192</a>       @Override
+<a class="jxr_linenumber" name="193" href="#193">193</a>       <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> decodeFirst() {
+<a class="jxr_linenumber" name="194" href="#194">194</a>         ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);
+<a class="jxr_linenumber" name="195" href="#195">195</a>         decodeNext();
+<a class="jxr_linenumber" name="196" href="#196">196</a>       }
+<a class="jxr_linenumber" name="197" href="#197">197</a>     };
+<a class="jxr_linenumber" name="198" href="#198">198</a>   }
+<a class="jxr_linenumber" name="199" href="#199">199</a> }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>


[10/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
index 014b293..da0f54b 100644
--- a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
+++ b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
@@ -34,527 +34,530 @@
 <span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import org.apache.hadoop.io.RawComparator;<a name="line.27"></a>
 <span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>/**<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * Compress using:<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * - store size of common prefix<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * - save column family once, it is same within HFile<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * - use bits to avoid duplication key length, value length<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *   and type if it same as previous<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * - store in 3 bits length of timestamp field<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * - allow diff in timestamp instead of actual value<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * Format:<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * - 1 byte:    flag<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * - 1-5 bytes: prefix length<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * - 1-8 bytes: timestamp or diff<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * - ... bytes: value<a name="line.48"></a>
-<span class="sourceLineNo">049</span> */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    long timestamp;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    byte[] familyNameWithSize;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @Override<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      timestamp = in.getLong();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @Override<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    void copyFrom(CompressionState state) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      super.copyFrom(state);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      timestamp = state2.timestamp;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      ByteBuffer in) throws IOException {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    byte flag = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    int kvPos = in.position();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int keyLength = in.getInt();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    int valueLength = in.getInt();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    long timestamp;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    long diffTimestamp = 0;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    int diffTimestampFitsInBytes = 0;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>    int commonPrefix;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    int timestampFitsInBytes;<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>    if (previousState.isFirst()) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      currentState.prevOffset = kvPos;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      timestamp = currentState.timestamp;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (timestamp &lt; 0) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        timestamp = -timestamp;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      commonPrefix = 0;<a name="line.103"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Compress using:<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * - store size of common prefix<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * - save column family once, it is same within HFile<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * - use bits to avoid duplication key length, value length<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *   and type if it same as previous<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * - store in 3 bits length of timestamp field<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * - allow diff in timestamp instead of actual value<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * Format:<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * - 1 byte:    flag<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * - 1-5 bytes: prefix length<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * - 1-8 bytes: timestamp or diff<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * - ... bytes: value<a name="line.50"></a>
+<span class="sourceLineNo">051</span> */<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@InterfaceAudience.Private<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    long timestamp;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    byte[] familyNameWithSize;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @Override<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      timestamp = in.getLong();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    void copyFrom(CompressionState state) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      super.copyFrom(state);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      timestamp = state2.timestamp;<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><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      ByteBuffer in) throws IOException {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    byte flag = 0;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    int kvPos = in.position();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    int keyLength = in.getInt();<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    int valueLength = in.getInt();<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>    long timestamp;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    long diffTimestamp = 0;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    int diffTimestampFitsInBytes = 0;<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>    int commonPrefix;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>    int timestampFitsInBytes;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>    if (previousState.isFirst()) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      currentState.prevOffset = kvPos;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      timestamp = currentState.timestamp;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      if (timestamp &lt; 0) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        timestamp = -timestamp;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.103"></a>
 <span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // put column family<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      in.mark();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.109"></a>
-<span class="sourceLineNo">110</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      in.reset();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    } else {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      // find a common prefix and skip it<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      commonPrefix =<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.115"></a>
-<span class="sourceLineNo">116</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.116"></a>
-<span class="sourceLineNo">117</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      // don't compress timestamp and type using prefix<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          commonPrefix, previousState);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      currentState.prevOffset = kvPos;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      timestamp = currentState.timestamp;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      if (negativeTimestamp) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>        timestamp = -timestamp;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (keyLength == previousState.keyLength) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      if (valueLength == previousState.valueLength) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.134"></a>
+<span class="sourceLineNo">105</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      commonPrefix = 0;<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>      // put column family<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      in.mark();<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.110"></a>
+<span class="sourceLineNo">111</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      in.reset();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    } else {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      // find a common prefix and skip it<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      commonPrefix =<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.118"></a>
+<span class="sourceLineNo">119</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.119"></a>
+<span class="sourceLineNo">120</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      // don't compress timestamp and type using prefix<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.123"></a>
+<span class="sourceLineNo">124</span>          commonPrefix, previousState);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      currentState.prevOffset = kvPos;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      timestamp = currentState.timestamp;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      if (negativeTimestamp) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        timestamp = -timestamp;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>      if (keyLength == previousState.keyLength) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.134"></a>
 <span class="sourceLineNo">135</span>      }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      if (currentState.type == previousState.type) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_TYPE;<a name="line.137"></a>
+<span class="sourceLineNo">136</span>      if (valueLength == previousState.valueLength) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>      }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>      // encode timestamp<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      if (minusDiffTimestamp) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        diffTimestamp = -diffTimestamp;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        if (minusDiffTimestamp) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      } else {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        if (negativeTimestamp) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>    out.write(flag);<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.167"></a>
+<span class="sourceLineNo">139</span>      if (currentState.type == previousState.type) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        flag |= FLAG_SAME_TYPE;<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>      // encode timestamp<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      if (minusDiffTimestamp) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        diffTimestamp = -diffTimestamp;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        if (minusDiffTimestamp) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      } else {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        if (negativeTimestamp) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>    out.write(flag);<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.171"></a>
+<span class="sourceLineNo">169</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<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>    if (previousState.isFirst() ||<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      int restRowLength =<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.178"></a>
-<span class="sourceLineNo">179</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    } else {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.182"></a>
-<span class="sourceLineNo">183</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    } else {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      out.write(currentState.type);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">173</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>    if (previousState.isFirst() ||<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      int restRowLength =<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    } else {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.185"></a>
+<span class="sourceLineNo">186</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    } else {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      out.write(currentState.type);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      ByteBuffer buffer,<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      DiffCompressionState state)<a name="line.202"></a>
-<span class="sourceLineNo">203</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // read the column family at the beginning<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (state.isFirst()) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      state.familyLength = source.readByte();<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      state.familyNameWithSize =<a name="line.207"></a>
-<span class="sourceLineNo">208</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>          state.familyLength);<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // read flag<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    byte flag = source.readByte();<a name="line.215"></a>
+<span class="sourceLineNo">200</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      ByteBuffer buffer,<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      DiffCompressionState state)<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    // read the column family at the beginning<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    if (state.isFirst()) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      state.familyLength = source.readByte();<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      state.familyNameWithSize =<a name="line.210"></a>
+<span class="sourceLineNo">211</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          state.familyLength);<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>    // read key/value/common lengths<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    int keyLength;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    int valueLength;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      keyLength = state.keyLength;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      valueLength = state.valueLength;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    } else {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // create KeyValue buffer and fill it prefix<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    int keyOffset = buffer.position();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.234"></a>
-<span class="sourceLineNo">235</span>        + KeyValue.ROW_OFFSET);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    buffer.putInt(keyLength);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    buffer.putInt(valueLength);<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // copy common from previous key<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    if (commonPrefix &gt; 0) {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // copy the rest of the key from the buffer<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    int keyRestLength;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      // omit the family part of the key, it is always the same<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      short rowLength;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      int rowRestLength;<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>      // check length of row<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        // not yet copied, do it now<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        rowLength = buffer.getShort();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        rowRestLength = rowLength;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        // already in buffer, just read it<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>      // copy the rest of row<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      state.rowLength = rowLength;<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>      // copy the column family<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      buffer.put(state.familyNameWithSize);<a name="line.272"></a>
+<span class="sourceLineNo">217</span>    // read flag<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    byte flag = source.readByte();<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // read key/value/common lengths<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    int keyLength;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    int valueLength;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      keyLength = state.keyLength;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    } else {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      valueLength = state.valueLength;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    } else {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>    // create KeyValue buffer and fill it prefix<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    int keyOffset = buffer.position();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        + KeyValue.ROW_OFFSET);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    buffer.putInt(keyLength);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    buffer.putInt(valueLength);<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>    // copy common from previous key<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    if (commonPrefix &gt; 0) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.244"></a>
+<span class="sourceLineNo">245</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>    // copy the rest of the key from the buffer<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    int keyRestLength;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      // omit the family part of the key, it is always the same<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      short rowLength;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      int rowRestLength;<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>      // check length of row<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        // not yet copied, do it now<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.259"></a>
+<span class="sourceLineNo">260</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        rowLength = buffer.getShort();<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        rowRestLength = rowLength;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      } else {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        // already in buffer, just read it<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<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>      // copy the rest of row<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      state.rowLength = rowLength;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>      keyRestLength = keyLength - rowLength -<a name="line.274"></a>
-<span class="sourceLineNo">275</span>          state.familyNameWithSize.length -<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>    // handle timestamp<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    int timestampFitsInBytes =<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      timestamp = -timestamp;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      timestamp = state.timestamp - timestamp;<a name="line.292"></a>
+<span class="sourceLineNo">274</span>      // copy the column family<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      buffer.put(state.familyNameWithSize);<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>      keyRestLength = keyLength - rowLength -<a name="line.277"></a>
+<span class="sourceLineNo">278</span>          state.familyNameWithSize.length -<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    } else {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    // handle timestamp<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    int timestampFitsInBytes =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      timestamp = -timestamp;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    }<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    buffer.putLong(timestamp);<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    // copy the type field<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    byte type;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      type = state.type;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    } else {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      type = source.readByte();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    buffer.put(type);<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>    // copy value part<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.306"></a>
+<span class="sourceLineNo">294</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      timestamp = state.timestamp - timestamp;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    }<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    buffer.putLong(timestamp);<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>    // copy the type field<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    byte type;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      type = state.type;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    } else {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      type = source.readByte();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    buffer.put(type);<a name="line.306"></a>
 <span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    state.keyLength = keyLength;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    state.valueLength = valueLength;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    state.prevOffset = keyOffset;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    state.timestamp = timestamp;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    state.type = type;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    // state.qualifier is unused<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public void compressKeyValues(DataOutputStream out,<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    in.rewind();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    while (in.hasRemaining()) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      compressSingleKeyValue(previousState, currentState,<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          out, in);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>      // swap previousState &lt;-&gt; currentState<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      DiffCompressionState tmp = previousState;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      previousState = currentState;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      currentState = tmp;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      throws IOException {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    int decompressedSize = source.readInt();<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        allocHeaderLength);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    buffer.position(allocHeaderLength);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    while (source.available() &gt; skipLastBytes) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    if (source.available() != skipLastBytes) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return buffer;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>  }<a name="line.354"></a>
+<span class="sourceLineNo">308</span>    // copy value part<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    state.keyLength = keyLength;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    state.valueLength = valueLength;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    state.prevOffset = keyOffset;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    state.timestamp = timestamp;<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    state.type = type;<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    // state.qualifier is unused<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>  @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public void compressKeyValues(DataOutputStream out,<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    in.rewind();<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    while (in.hasRemaining()) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      compressSingleKeyValue(previousState, currentState,<a name="line.327"></a>
+<span class="sourceLineNo">328</span>          out, in);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>      // swap previousState &lt;-&gt; currentState<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      DiffCompressionState tmp = previousState;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      previousState = currentState;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      currentState = tmp;<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  }<a name="line.336"></a>
+<span class="sourceLineNo">337</span><a name="line.337"></a>
+<span class="sourceLineNo">338</span>  @Override<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      throws IOException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    int decompressedSize = source.readInt();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        allocHeaderLength);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    buffer.position(allocHeaderLength);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    while (source.available() &gt; skipLastBytes) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (source.available() != skipLastBytes) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
 <span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>  @Override<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    block.mark();<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    block.position(Bytes.SIZEOF_INT);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    byte familyLength = block.get();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    byte flag = block.get();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>    // copy row<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    int pos = result.arrayOffset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    short rowLength = result.getShort();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    block.get(result.array(), pos, rowLength);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    pos += rowLength;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    // copy family<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    int savePosition = block.position();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    block.position(Bytes.SIZEOF_INT);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.380"></a>
-<span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // copy qualifier<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    block.position(savePosition);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    int qualifierLength =<a name="line.384"></a>
-<span class="sourceLineNo">385</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    block.get(result.array(), pos, qualifierLength);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    pos += qualifierLength;<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // copy the timestamp and type<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    int timestampFitInBytes =<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      timestamp = -timestamp;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    result.putLong(pos, timestamp);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    pos += Bytes.SIZEOF_LONG;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>    block.reset();<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return result;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  @Override<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public String toString() {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>  protected static class DiffSeekerState extends SeekerState {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    private int rowLengthWithSize;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    private long timestamp;<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>    @Override<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    protected void copyFromNext(SeekerState that) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      super.copyFromNext(that);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      timestamp = other.timestamp;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @Override<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      final boolean includesMemstoreTS) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      private byte[] familyNameWithSize;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.427"></a>
-<span class="sourceLineNo">428</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>      private void decode(boolean isFirst) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        byte flag = currentBuffer.get();<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        byte type = 0;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          if (!isFirst) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          current.valueLength =<a name="line.440"></a>
-<span class="sourceLineNo">441</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        }<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        current.lastCommonPrefix =<a name="line.443"></a>
-<span class="sourceLineNo">444</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>        current.ensureSpaceForKey();<a name="line.446"></a>
-<span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          // length of row is different, copy everything except family<a name="line.449"></a>
+<span class="sourceLineNo">356</span>    return buffer;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    block.mark();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    block.position(Bytes.SIZEOF_INT);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    byte familyLength = block.get();<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    byte flag = block.get();<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    // copy row<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    int pos = result.arrayOffset();<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    short rowLength = result.getShort();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    block.get(result.array(), pos, rowLength);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    pos += rowLength;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    // copy family<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    int savePosition = block.position();<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    block.position(Bytes.SIZEOF_INT);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.383"></a>
+<span class="sourceLineNo">384</span><a name="line.384"></a>
+<span class="sourceLineNo">385</span>    // copy qualifier<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    block.position(savePosition);<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    int qualifierLength =<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    block.get(result.array(), pos, qualifierLength);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    pos += qualifierLength;<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    // copy the timestamp and type<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    int timestampFitInBytes =<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      timestamp = -timestamp;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    result.putLong(pos, timestamp);<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    pos += Bytes.SIZEOF_LONG;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>    block.reset();<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    return result;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  @Override<a name="line.407"></a>
+<span class="sourceLineNo">408</span>  public String toString() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<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>  protected static class DiffSeekerState extends SeekerState {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    private int rowLengthWithSize;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    private long timestamp;<a name="line.414"></a>
+<span class="sourceLineNo">415</span><a name="line.415"></a>
+<span class="sourceLineNo">416</span>    @Override<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    protected void copyFromNext(SeekerState that) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      super.copyFromNext(that);<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      timestamp = other.timestamp;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  @Override<a name="line.425"></a>
+<span class="sourceLineNo">426</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      final boolean includesMemstoreTS) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      private byte[] familyNameWithSize;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.430"></a>
+<span class="sourceLineNo">431</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>      private void decode(boolean isFirst) {<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        byte flag = currentBuffer.get();<a name="line.434"></a>
+<span class="sourceLineNo">435</span>        byte type = 0;<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>          if (!isFirst) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          }<a name="line.439"></a>
+<span class="sourceLineNo">440</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>          current.valueLength =<a name="line.443"></a>
+<span class="sourceLineNo">444</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>        }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        current.lastCommonPrefix =<a name="line.446"></a>
+<span class="sourceLineNo">447</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.447"></a>
+<span class="sourceLineNo">448</span><a name="line.448"></a>
+<span class="sourceLineNo">449</span>        current.ensureSpaceForKey();<a name="line.449"></a>
 <span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>          // copy the row size<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.454"></a>
-<span class="sourceLineNo">455</span>              Bytes.SIZEOF_SHORT;<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span>          // copy the rest of row<a name="line.457"></a>
-<span class="sourceLineNo">458</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.458"></a>
-<span class="sourceLineNo">459</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.459"></a>
-<span class="sourceLineNo">460</span><a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // copy the column family<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          System.arraycopy(familyNameWithSize, 0, current.keyBuffer,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>              current.rowLengthWithSize, familyNameWithSize.length);<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>          // copy the qualifier<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          currentBuffer.get(current.keyBuffer,<a name="line.466"></a>
-<span class="sourceLineNo">467</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.467"></a>
-<span class="sourceLineNo">468</span>              current.keyLength - current.rowLengthWithSize -<a name="line.468"></a>
-<span class="sourceLineNo">469</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        } else if (current.lastCommonPrefix &lt; current.rowLengthWithSize) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>          // we have to copy part of row and qualifier,<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          // but column family is in right place<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>          // before column family (rest of row)<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>              current.rowLengthWithSize - current.lastCommonPrefix);<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>          // after column family (qualifier)<a name="line.478"></a>
-<span class="sourceLineNo">479</span>          currentBuffer.get(current.keyBuffer,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.480"></a>
-<span class="sourceLineNo">481</span>              current.keyLength - current.rowLengthWithSize -<a name="line.481"></a>
-<span class="sourceLineNo">482</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>        } else {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>          // copy just the ending<a name="line.484"></a>
-<span class="sourceLineNo">485</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH -<a name="line.486"></a>
-<span class="sourceLineNo">487</span>              current.lastCommonPrefix);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        }<a name="line.488"></a>
-<span class="sourceLineNo">489</span><a name="line.489"></a>
-<span class="sourceLineNo">490</span>        // timestamp<a name="line.490"></a>
-<span class="sourceLineNo">491</span>        int pos = current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        int timestampFitInBytes = 1 +<a name="line.492"></a>
-<span class="sourceLineNo">493</span>            ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        long timestampOrDiff =<a name="line.494"></a>
-<span class="sourceLineNo">495</span>            ByteBufferUtils.readLong(currentBuffer, timestampFitInBytes);<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>          timestampOrDiff = -timestampOrDiff;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) { // it is timestamp<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          current.timestamp = timestampOrDiff;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        } else { // it is diff<a name="line.501"></a>
-<span class="sourceLineNo">502</span>          current.timestamp = current.timestamp - timestampOrDiff;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        }<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        Bytes.putLong(current.keyBuffer, pos, current.timestamp);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        pos += Bytes.SIZEOF_LONG;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>        // type<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          currentBuffer.get(current.keyBuffer, pos, Bytes.SIZEOF_BYTE);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        } else if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          current.keyBuffer[pos] = type;<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>        current.valueOffset = currentBuffer.position();<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.515"></a>
+<span class="sourceLineNo">451</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          // length of row is different, copy everything except family<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>          // copy the row size<a name="line.454"></a>
+<span class="sourceLineNo">455</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.455"></a>
+<span class="sourceLineNo">456</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.457"></a>
+<span class="sourceLineNo">458</span>              Bytes.SIZEOF_SHORT;<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span>          // copy the rest of row<a name="line.460"></a>
+<span class="sourceLineNo">461</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.461"></a>
+<span class="sourceLineNo">462</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.462"></a>
+<span class="sourceLineNo">463</span><a name="line.463"></a>
+<span class="sourceLineNo">464</span>          // copy the

<TRUNCATED>

[29/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html b/0.94/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html
index 752232c..b863b6a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html
@@ -107,8 +107,8 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&gt;</pre>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
- <code> .META. </code>, is the table is read only, the maximum size of the memstore,
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
+ <code> .META. </code>, is the table is read only, the maximum size of the memstore, 
  when the region split should occur, coprocessors associated with it etc...</div>
 </li>
 </ul>
@@ -131,7 +131,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="altColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#DEFAULT_MEMSTORE_FLUSH_SIZE">DEFAULT_MEMSTORE_FLUSH_SIZE</a></strong></code>
-<div class="block">Constant that denotes the maximum default size of the memstore after which
+<div class="block">Constant that denotes the maximum default size of the memstore after which 
  the contents are flushed to the store files</div>
 </td>
 </tr>
@@ -144,14 +144,14 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#DEFERRED_LOG_FLUSH">DEFERRED_LOG_FLUSH</a></strong></code>
-<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata 
  attribute which denotes if the deferred log flush option is enabled</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#IS_META">IS_META</a></strong></code>
-<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata 
  attribute which denotes if it is a catalog table, either
  <code> .META.</div>
 </td>
@@ -159,23 +159,23 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#IS_ROOT">IS_ROOT</a></strong></code>
-<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata 
  attribute which denotes if the table is a -ROOT- region or not</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#MAX_FILESIZE">MAX_FILESIZE</a></strong></code>
-<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
- attribute which denotes the maximum size of the store file after which
+<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata 
+ attribute which denotes the maximum size of the store file after which 
  a region split occurs</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#MEMSTORE_FLUSHSIZE">MEMSTORE_FLUSHSIZE</a></strong></code>
-<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
- attribute which represents the maximum size of the memstore after which
+<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata 
+ attribute which represents the maximum size of the memstore after which 
  its contents are flushed onto the disk</div>
 </td>
 </tr>
@@ -196,7 +196,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#READONLY">READONLY</a></strong></code>
-<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata 
  attribute which denotes if the table is Read Only</div>
 </td>
 </tr>
@@ -327,7 +327,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>[]</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilies()">getColumnFamilies</a></strong>()</code>
-<div class="block">Returns an array all the <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> of the column families
+<div class="block">Returns an array all the <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> of the column families 
  of the table.</div>
 </td>
 </tr>
@@ -344,7 +344,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFamilies()">getFamilies</a></strong>()</code>
-<div class="block">Returns an unmodifiable collection of all the <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a>
+<div class="block">Returns an unmodifiable collection of all the <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> 
  of all the column families of the table.</div>
 </td>
 </tr>
@@ -357,7 +357,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFamily(byte[])">getFamily</a></strong>(byte[]&nbsp;column)</code>
-<div class="block">Returns the HColumnDescriptor for a specific column family with name as
+<div class="block">Returns the HColumnDescriptor for a specific column family with name as 
  specified by the parameter column.</div>
 </td>
 </tr>
@@ -395,7 +395,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getRegionSplitPolicyClassName()">getRegionSplitPolicyClassName</a></strong>()</code>
-<div class="block">This get the class associated with the region split policy which
+<div class="block">This get the class associated with the region split policy which 
  determines when a region split should occur.</div>
 </td>
 </tr>
@@ -403,7 +403,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getTableDir(org.apache.hadoop.fs.Path,%20byte[])">getTableDir</a></strong>(org.apache.hadoop.fs.Path&nbsp;rootdir,
                       byte[]&nbsp;tableName)</code>
-<div class="block">Returns the <code>Path</code> object representing the table directory under
+<div class="block">Returns the <code>Path</code> object representing the table directory under 
  path rootdir</div>
 </td>
 </tr>
@@ -473,7 +473,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isMetaTable(byte[])">isMetaTable</a></strong>(byte[]&nbsp;tableName)</code>
-<div class="block">Checks of the tableName being passed represents either
+<div class="block">Checks of the tableName being passed represents either 
  <code > -ROOT- </code> or <code> .META.</div>
 </td>
 </tr>
@@ -492,7 +492,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#readFields(java.io.DataInput)">readFields</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
-<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface
+<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface 
  and is used for de-serialization of the HTableDescriptor over RPC</div>
 </td>
 </tr>
@@ -517,7 +517,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeFamily(byte[])">removeFamily</a></strong>(byte[]&nbsp;column)</code>
-<div class="block">Removes the HColumnDescriptor with name specified by the parameter column
+<div class="block">Removes the HColumnDescriptor with name specified by the parameter column 
  from the table descriptor</div>
 </td>
 </tr>
@@ -537,14 +537,14 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMemStoreFlushSize(long)">setMemStoreFlushSize</a></strong>(long&nbsp;memstoreFlushSize)</code>
-<div class="block">Represents the maximum size of the memstore after which the contents of the
+<div class="block">Represents the maximum size of the memstore after which the contents of the 
  memstore are flushed to the filesystem.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMetaRegion(boolean)">setMetaRegion</a></strong>(boolean&nbsp;isMeta)</code>
-<div class="block"><em> INTERNAL </em> Used to denote if the current table represents
+<div class="block"><em> INTERNAL </em> Used to denote if the current table represents 
  <code> -ROOT- </code> or <code> .META.</div>
 </td>
 </tr>
@@ -576,7 +576,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setRootRegion(boolean)">setRootRegion</a></strong>(boolean&nbsp;isRoot)</code>
-<div class="block"><em> INTERNAL </em> Used to denote if the current table represents
+<div class="block"><em> INTERNAL </em> Used to denote if the current table represents 
  <code> -ROOT- </code> region.</div>
 </td>
 </tr>
@@ -610,7 +610,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#write(java.io.DataOutput)">write</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
-<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface
+<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface 
  and is used for serialization of the HTableDescriptor over RPC</div>
 </td>
 </tr>
@@ -643,7 +643,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>values</h4>
 <pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.70">values</a></pre>
-<div class="block">A map which holds the metadata information of the table. This metadata
+<div class="block">A map which holds the metadata information of the table. This metadata 
  includes values like IS_ROOT, IS_META, DEFERRED_LOG_FLUSH, SPLIT_POLICY,
  MAX_FILE_SIZE, READONLY, MEMSTORE_FLUSHSIZE etc...</div>
 </li>
@@ -665,10 +665,10 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>MAX_FILESIZE</h4>
 <pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/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/HTableDescriptor.html#line.84">MAX_FILESIZE</a></pre>
-<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
- attribute which denotes the maximum size of the store file after which
+<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata 
+ attribute which denotes the maximum size of the store file after which 
  a region split occurs</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getMaxFileSize()"><code>getMaxFileSize()</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getMaxFileSize()"><code>getMaxFileSize()</code></a>, 
 <a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.MAX_FILESIZE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -698,9 +698,9 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>READONLY</h4>
 <pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/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/HTableDescriptor.html#line.98">READONLY</a></pre>
-<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata 
  attribute which denotes if the table is Read Only</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isReadOnly()"><code>isReadOnly()</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isReadOnly()"><code>isReadOnly()</code></a>, 
 <a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.READONLY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -711,10 +711,10 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>MEMSTORE_FLUSHSIZE</h4>
 <pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/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/HTableDescriptor.html#line.109">MEMSTORE_FLUSHSIZE</a></pre>
-<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
- attribute which represents the maximum size of the memstore after which
+<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata 
+ attribute which represents the maximum size of the memstore after which 
  its contents are flushed onto the disk</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getMemStoreFlushSize()"><code>getMemStoreFlushSize()</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getMemStoreFlushSize()"><code>getMemStoreFlushSize()</code></a>, 
 <a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.MEMSTORE_FLUSHSIZE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -725,9 +725,9 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>IS_ROOT</h4>
 <pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/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/HTableDescriptor.html#line.119">IS_ROOT</a></pre>
-<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata 
  attribute which denotes if the table is a -ROOT- region or not</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isRootRegion()"><code>isRootRegion()</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isRootRegion()"><code>isRootRegion()</code></a>, 
 <a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.IS_ROOT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -738,10 +738,10 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>IS_META</h4>
 <pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/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/HTableDescriptor.html#line.130">IS_META</a></pre>
-<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata 
  attribute which denotes if it is a catalog table, either
  <code> .META. </code> or <code> -ROOT- </code></div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isMetaRegion()"><code>isMetaRegion()</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#isMetaRegion()"><code>isMetaRegion()</code></a>, 
 <a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.IS_META">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -752,7 +752,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>DEFERRED_LOG_FLUSH</h4>
 <pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/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/HTableDescriptor.html#line.138">DEFERRED_LOG_FLUSH</a></pre>
-<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata 
  attribute which denotes if the deferred log flush option is enabled</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.DEFERRED_LOG_FLUSH">Constant Field Values</a></dd></dl>
 </li>
@@ -775,7 +775,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>DEFAULT_MEMSTORE_FLUSH_SIZE</h4>
 <pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.164">DEFAULT_MEMSTORE_FLUSH_SIZE</a></pre>
-<div class="block">Constant that denotes the maximum default size of the memstore after which
+<div class="block">Constant that denotes the maximum default size of the memstore after which 
  the contents are flushed to the store files</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HTableDescriptor.DEFAULT_MEMSTORE_FLUSH_SIZE">Constant Field Values</a></dd></dl>
 </li>
@@ -925,8 +925,8 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>setRootRegion</h4>
 <pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.316">setRootRegion</a>(boolean&nbsp;isRoot)</pre>
-<div class="block"><em> INTERNAL </em> Used to denote if the current table represents
- <code> -ROOT- </code> region. This is used internally by the
+<div class="block"><em> INTERNAL </em> Used to denote if the current table represents 
+ <code> -ROOT- </code> region. This is used internally by the 
  HTableDescriptor constructors</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>isRoot</code> - true if this is the <code> -ROOT- </code> region</dd></dl>
 </li>
@@ -940,7 +940,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.328">isMetaRegion</a>()</pre>
 <div class="block">Checks if this table is either <code> -ROOT- </code> or <code> .META. </code>
  region.</div>
-<dl><dt><span class="strong">Returns:</span></dt><dd>true if this is either a <code> -ROOT- </code> or <code> .META. </code>
+<dl><dt><span class="strong">Returns:</span></dt><dd>true if this is either a <code> -ROOT- </code> or <code> .META. </code> 
  region</dd></dl>
 </li>
 </ul>
@@ -951,10 +951,10 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>setMetaRegion</h4>
 <pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.358">setMetaRegion</a>(boolean&nbsp;isMeta)</pre>
-<div class="block"><em> INTERNAL </em> Used to denote if the current table represents
- <code> -ROOT- </code> or <code> .META. </code> region. This is used
+<div class="block"><em> INTERNAL </em> Used to denote if the current table represents 
+ <code> -ROOT- </code> or <code> .META. </code> region. This is used 
  internally by the HTableDescriptor constructors</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>isMeta</code> - true if its either <code> -ROOT- </code> or
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>isMeta</code> - true if its either <code> -ROOT- </code> or 
  <code> .META. </code> region</dd></dl>
 </li>
 </ul>
@@ -976,9 +976,9 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>isMetaTable</h4>
 <pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.378">isMetaTable</a>(byte[]&nbsp;tableName)</pre>
-<div class="block">Checks of the tableName being passed represents either
+<div class="block">Checks of the tableName being passed represents either 
  <code > -ROOT- </code> or <code> .META. </code></div>
-<dl><dt><span class="strong">Returns:</span></dt><dd>true if a tablesName is either <code> -ROOT- </code>
+<dl><dt><span class="strong">Returns:</span></dt><dd>true if a tablesName is either <code> -ROOT- </code> 
  or <code> .META. </code></dd></dl>
 </li>
 </ul>
@@ -1108,7 +1108,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>isReadOnly</h4>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.536">isReadOnly</a>()</pre>
-<div class="block">Check if the readOnly flag of the table is set. If the readOnly flag is
+<div class="block">Check if the readOnly flag of the table is set. If the readOnly flag is 
  set then the contents of the table can only be read from but not modified.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if all columns in the table should be read only</dd></dl>
 </li>
@@ -1121,7 +1121,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <h4>setReadOnly</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.548">setReadOnly</a>(boolean&nbsp;readOnly)</pre>
 <div class="block">Setting the table as read only sets all the columns in the table as read
- only. By default all tables are modifiable, but if the readOnly flag is
+ only. By default all tables are modifiable, but if the readOnly flag is 
  set to true then the contents of the table can only be read but not modified.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>readOnly</code> - True if all of the columns in the table should be read
  only.</dd></dl>
@@ -1145,15 +1145,15 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>setDeferredLogFlush</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.581">setDeferredLogFlush</a>(boolean&nbsp;isDeferredLogFlush)</pre>
-<div class="block">This is used to defer the log edits syncing to the file system. Everytime
- an edit is sent to the server it is first sync'd to the file system by the
- log writer. This sync is an expensive operation and thus can be deferred so
+<div class="block">This is used to defer the log edits syncing to the file system. Everytime 
+ an edit is sent to the server it is first sync'd to the file system by the 
+ log writer. This sync is an expensive operation and thus can be deferred so 
  that the edits are kept in memory for a specified period of time as represented
  by <code> hbase.regionserver.optionallogflushinterval </code> and not flushed
  for every edit.
  <p>
  NOTE:- This option might result in data loss if the region server crashes
- before these deferred edits in memory are flushed onto the filesystem.
+ before these deferred edits in memory are flushed onto the filesystem. 
  </p></div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>isDeferredLogFlush</code> - </dd></dl>
 </li>
@@ -1187,7 +1187,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>getRegionSplitPolicyClassName</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/HTableDescriptor.html#line.614">getRegionSplitPolicyClassName</a>()</pre>
-<div class="block">This get the class associated with the region split policy which
+<div class="block">This get the class associated with the region split policy which 
  determines when a region split should occur.  The class used by
  default is <a href="../../../../org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver"><code>ConstantSizeRegionSplitPolicy</code></a>
  which split the region base on a constant <a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getMaxFileSize()"><code>getMaxFileSize()</code></a></div>
@@ -1228,14 +1228,14 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <h4>setMaxFileSize</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.661">setMaxFileSize</a>(long&nbsp;maxFileSize)</pre>
 <div class="block">Sets the maximum size upto which a region can grow to after which a region
- split is triggered. The region size is represented by the size of the biggest
- store file in that region, i.e. If the biggest store file grows beyond the
- maxFileSize, then the region split is triggered. This defaults to a value of
+ split is triggered. The region size is represented by the size of the biggest 
+ store file in that region, i.e. If the biggest store file grows beyond the 
+ maxFileSize, then the region split is triggered. This defaults to a value of 
  256 MB.
  <p>
- This is not an absolute value and might vary. Assume that a single row exceeds
+ This is not an absolute value and might vary. Assume that a single row exceeds 
  the maxFileSize then the storeFileSize will be greater than maxFileSize since
- a single row cannot be split across multiple regions
+ a single row cannot be split across multiple regions 
  </p></div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxFileSize</code> - The maximum file size that a store file can grow to
  before a split is triggered.</dd></dl>
@@ -1259,7 +1259,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>setMemStoreFlushSize</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.686">setMemStoreFlushSize</a>(long&nbsp;memstoreFlushSize)</pre>
-<div class="block">Represents the maximum size of the memstore after which the contents of the
+<div class="block">Represents the maximum size of the memstore after which the contents of the 
  memstore are flushed to the filesystem. This defaults to a size of 64 MB.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>memstoreFlushSize</code> - memory cache flush size for each hregion</dd></dl>
 </li>
@@ -1328,7 +1328,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>equals</h4>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.826">equals</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
-<div class="block">Compare the contents of the descriptor with another one passed as a parameter.
+<div class="block">Compare the contents of the descriptor with another one passed as a parameter. 
  Checks if the obj passed is an instance of HTableDescriptor, if yes then the
  contents of the descriptors are compared.</div>
 <dl>
@@ -1358,7 +1358,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <h4>readFields</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.861">readFields</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                 throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface
+<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface 
  and is used for de-serialization of the HTableDescriptor over RPC</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -1375,7 +1375,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <h4>write</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.896">write</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
            throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface
+<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface 
  and is used for serialization of the HTableDescriptor over RPC</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -1396,7 +1396,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true#compareTo(T)" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&gt;</code></dd>
-<dt><span class="strong">Returns:</span></dt><dd>0 if the contents of the descriptors are exactly matching,
+<dt><span class="strong">Returns:</span></dt><dd>0 if the contents of the descriptors are exactly matching, 
      1 if there is a mismatch in the contents</dd></dl>
 </li>
 </ul>
@@ -1407,7 +1407,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>getFamilies</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.961">getFamilies</a>()</pre>
-<div class="block">Returns an unmodifiable collection of all the <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a>
+<div class="block">Returns an unmodifiable collection of all the <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> 
  of all the column families of the table.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Immutable collection of <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> of all the
  column families.</dd></dl>
@@ -1420,9 +1420,9 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>getFamiliesKeys</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.973">getFamiliesKeys</a>()</pre>
-<div class="block">Returns all the column family names of the current table. The map of
- HTableDescriptor contains mapping of family name to HColumnDescriptors.
- This returns all the keys of the family map which represents the column
+<div class="block">Returns all the column family names of the current table. The map of 
+ HTableDescriptor contains mapping of family name to HColumnDescriptors. 
+ This returns all the keys of the family map which represents the column 
  family names of the table.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Immutable sorted set of the keys of the families.</dd></dl>
 </li>
@@ -1434,7 +1434,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>getColumnFamilies</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.985">getColumnFamilies</a>()</pre>
-<div class="block">Returns an array all the <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> of the column families
+<div class="block">Returns an array all the <a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> of the column families 
  of the table.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Array of all the HColumnDescriptors of the current table</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFamilies()"><code>getFamilies()</code></a></dd></dl>
 </li>
@@ -1446,7 +1446,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>getFamily</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.998">getFamily</a>(byte[]&nbsp;column)</pre>
-<div class="block">Returns the HColumnDescriptor for a specific column family with name as
+<div class="block">Returns the HColumnDescriptor for a specific column family with name as 
  specified by the parameter column.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>column</code> - Column family name</dd>
 <dt><span class="strong">Returns:</span></dt><dd>Column descriptor for the passed family name or the family on
@@ -1460,7 +1460,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <li class="blockList">
 <h4>removeFamily</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1011">removeFamily</a>(byte[]&nbsp;column)</pre>
-<div class="block">Removes the HColumnDescriptor with name specified by the parameter column
+<div class="block">Removes the HColumnDescriptor with name specified by the parameter column 
  from the table descriptor</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>column</code> - Name of the column family to be removed.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>Column descriptor for the passed family name or the family on
@@ -1551,7 +1551,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <h4>getTableDir</h4>
 <pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HTableDescriptor.html#line.1192">getTableDir</a>(org.apache.hadoop.fs.Path&nbsp;rootdir,
                                     byte[]&nbsp;tableName)</pre>
-<div class="block">Returns the <code>Path</code> object representing the table directory under
+<div class="block">Returns the <code>Path</code> object representing the table directory under 
  path rootdir</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>rootdir</code> - qualified path of HBase root directory</dd><dd><code>tableName</code> - name of table</dd>
 <dt><span class="strong">Returns:</span></dt><dd><code>Path</code> for table</dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/KeyValue.Type.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/KeyValue.Type.html b/0.94/apidocs/org/apache/hadoop/hbase/KeyValue.Type.html
index b5ba15d..43d648c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/KeyValue.Type.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/KeyValue.Type.html
@@ -303,7 +303,7 @@ for (KeyValue.Type c : KeyValue.Type.values())
 <pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase">KeyValue.Type</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/KeyValue.Type.html#line.26">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/ServerName.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/ServerName.html b/0.94/apidocs/org/apache/hadoop/hbase/ServerName.html
index b2e6405..19e8d2d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/ServerName.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/ServerName.html
@@ -113,10 +113,10 @@ implements <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Comparabl
  For example, if hostname is <code>example.org</code>, port is <code>1234</code>,
  and the startcode for the regionserver is <code>1212121212</code>, then
  the <a href="../../../../org/apache/hadoop/hbase/ServerName.html#toString()"><code>toString()</code></a> would be <code>example.org,1234,1212121212</code>.
-
+ 
  <p>You can obtain a versioned serialized form of this class by calling
  <a href="../../../../org/apache/hadoop/hbase/ServerName.html#getVersionedBytes()"><code>getVersionedBytes()</code></a>.  To deserialize, call <a href="../../../../org/apache/hadoop/hbase/ServerName.html#parseVersionedServerName(byte[])"><code>parseVersionedServerName(byte[])</code></a>
-
+ 
  <p>Immutable.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/avro/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/avro/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/avro/package-summary.html
index 92fbb4a..e002a86 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/avro/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/avro/package-summary.html
@@ -108,7 +108,7 @@
 This directory contains an Avro interface definition file for an HBase RPC
 service and a Java server implementation.
 
-<h2><a name="whatisavro">What is Avro?</a></h2>
+<h2><a name="whatisavro">What is Avro?</a></h2> 
 
 <p>Avro is a data serialization and RPC system. For more, see the
 <a href="http://avro.apache.org/docs/current/spec.html">current specification</a>.
@@ -131,9 +131,9 @@ types, and RPC utility files are checked into SVN under the
 </pre>
 </p>
 
-<p>The 'avro-tools-x.y.z.jar' jarfile is an Avro utility, and it is
-distributed as a part of the Avro package.  Additionally, specific
-language runtime libraries are apart of the Avro package.  A version of the
+<p>The 'avro-tools-x.y.z.jar' jarfile is an Avro utility, and it is 
+distributed as a part of the Avro package.  Additionally, specific 
+language runtime libraries are apart of the Avro package.  A version of the 
 Java runtime is listed as a dendency in Maven.
 </p>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/class-use/HColumnDescriptor.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/class-use/HColumnDescriptor.html b/0.94/apidocs/org/apache/hadoop/hbase/class-use/HColumnDescriptor.html
index 7eb97c6..8f52be9 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/class-use/HColumnDescriptor.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/class-use/HColumnDescriptor.html
@@ -150,21 +150,21 @@ service.</div>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>[]</code></td>
 <td class="colLast"><span class="strong">HTableDescriptor.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilies()">getColumnFamilies</a></strong>()</code>
-<div class="block">Returns an array all the <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> of the column families
+<div class="block">Returns an array all the <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> of the column families 
  of the table.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></code></td>
 <td class="colLast"><span class="strong">HTableDescriptor.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFamily(byte[])">getFamily</a></strong>(byte[]&nbsp;column)</code>
-<div class="block">Returns the HColumnDescriptor for a specific column family with name as
+<div class="block">Returns the HColumnDescriptor for a specific column family with name as 
  specified by the parameter column.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></code></td>
 <td class="colLast"><span class="strong">HTableDescriptor.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeFamily(byte[])">removeFamily</a></strong>(byte[]&nbsp;column)</code>
-<div class="block">Removes the HColumnDescriptor with name specified by the parameter column
+<div class="block">Removes the HColumnDescriptor with name specified by the parameter column 
  from the table descriptor</div>
 </td>
 </tr>
@@ -267,7 +267,7 @@ service.</div>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&gt;</code></td>
 <td class="colLast"><span class="strong">HTableDescriptor.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#getFamilies()">getFamilies</a></strong>()</code>
-<div class="block">Returns an unmodifiable collection of all the <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a>
+<div class="block">Returns an unmodifiable collection of all the <a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> 
  of all the column families of the table.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/ClientSmallScanner.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/ClientSmallScanner.html b/0.94/apidocs/org/apache/hadoop/hbase/client/ClientSmallScanner.html
index aab7f4b..a05eee5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/ClientSmallScanner.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/ClientSmallScanner.html
@@ -114,7 +114,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/ClientScanner.htm
 <div class="block">Client scanner for small scan. Generally, only one RPC is called to fetch the
  scan results, unless the results cross multiple regions or the row count of
  results excess the caching.
-
+ 
  For small scan, it will get better performance than <a href="../../../../../org/apache/hadoop/hbase/client/ClientScanner.html" title="class in org.apache.hadoop.hbase.client"><code>ClientScanner</code></a></div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/Durability.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/Durability.html b/0.94/apidocs/org/apache/hadoop/hbase/client/Durability.html
index dcf7c0b..0b465f0 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/Durability.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/Durability.html
@@ -301,7 +301,7 @@ for (Durability c : Durability.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Durability.html#line.36">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/HBaseAdmin.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/HBaseAdmin.html b/0.94/apidocs/org/apache/hadoop/hbase/client/HBaseAdmin.html
index 51181b6..1e83ca5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/HBaseAdmin.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/HBaseAdmin.html
@@ -1176,7 +1176,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HMasterInterface
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regex</code> - The regular expression to match table names against</dd>
 <dt><span class="strong">Returns:</span></dt><dd>Table descriptors for tables that couldn't be deleted</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#deleteTables(java.util.regex.Pattern)"><code>deleteTables(java.util.regex.Pattern)</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#deleteTables(java.util.regex.Pattern)"><code>deleteTables(java.util.regex.Pattern)</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#deleteTable(java.lang.String)"><code>deleteTable(java.lang.String)</code></a></dd></dl>
 </li>
 </ul>
@@ -1227,8 +1227,8 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HMasterInterface
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs
  There could be couple types of IOException
  TableNotFoundException means the table doesn't exist.
- TableNotDisabledException means the table isn't in disabled state.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableEnabled(byte[])"><code>isTableEnabled(byte[])</code></a>,
-<a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#disableTable(byte[])"><code>disableTable(byte[])</code></a>,
+ TableNotDisabledException means the table isn't in disabled state.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableEnabled(byte[])"><code>isTableEnabled(byte[])</code></a>, 
+<a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#disableTable(byte[])"><code>disableTable(byte[])</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#enableTableAsync(byte[])"><code>enableTableAsync(byte[])</code></a></dd></dl>
 </li>
 </ul>
@@ -1278,7 +1278,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HMasterInterface
  <a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#enableTable(byte[])"><code>enableTable(byte[])</code></a></div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regex</code> - The regular expression to match table names against</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#enableTables(java.util.regex.Pattern)"><code>enableTables(java.util.regex.Pattern)</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#enableTables(java.util.regex.Pattern)"><code>enableTables(java.util.regex.Pattern)</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#enableTable(java.lang.String)"><code>enableTable(java.lang.String)</code></a></dd></dl>
 </li>
 </ul>
@@ -1330,7 +1330,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HMasterInterface
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs</dd><dt><span class="strong">Since:</span></dt>
   <dd>0.90.0</dd>
-<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableDisabled(byte[])"><code>isTableDisabled(byte[])</code></a>,
+<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableDisabled(byte[])"><code>isTableDisabled(byte[])</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#isTableEnabled(byte[])"><code>isTableEnabled(byte[])</code></a></dd></dl>
 </li>
 </ul>
@@ -1381,7 +1381,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HMasterInterface
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regex</code> - The regular expression to match table names against</dd>
 <dt><span class="strong">Returns:</span></dt><dd>Table descriptors for tables that couldn't be disabled</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#disableTables(java.util.regex.Pattern)"><code>disableTables(java.util.regex.Pattern)</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#disableTables(java.util.regex.Pattern)"><code>disableTables(java.util.regex.Pattern)</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#disableTable(java.lang.String)"><code>disableTable(java.lang.String)</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/HConnectionManager.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/HConnectionManager.html b/0.94/apidocs/org/apache/hadoop/hbase/client/HConnectionManager.html
index 1b7e042..e520cf1 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/HConnectionManager.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/HConnectionManager.html
@@ -100,7 +100,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <div class="block">A non-instantiable class that manages creation of <a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>HConnection</code></a>s.
  <p>The simplest way to use this class is by using <a href="../../../../../org/apache/hadoop/hbase/client/HConnectionManager.html#createConnection(org.apache.hadoop.conf.Configuration)"><code>createConnection(Configuration)</code></a>.
  This creates a new <a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>HConnection</code></a> that is managed by the caller.
- From this <a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>HConnection</code></a> <a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html" title="interface in org.apache.hadoop.hbase.client"><code>HTableInterface</code></a> implementations are retrieved
+ From this <a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>HConnection</code></a> <a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html" title="interface in org.apache.hadoop.hbase.client"><code>HTableInterface</code></a> implementations are retrieved 
  with <a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html#getTable(byte[])"><code>HConnection.getTable(byte[])</code></a>. Example:
  <pre>
  <code>HConnection connection = HConnectionManager.createConnection(config);

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/HTable.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/HTable.html b/0.94/apidocs/org/apache/hadoop/hbase/client/HTable.html
index 80849b5..9203d47 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/HTable.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/HTable.html
@@ -105,10 +105,10 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/HTableInterfac
 <div class="block"><p>Used to communicate with a single HBase table.
 
  <p>This class is not thread safe for reads nor write.
-
+ 
  <p>In case of writes (Put, Delete), the underlying write buffer can
  be corrupted if multiple threads contend over a single HTable instance.
-
+ 
  <p>In case of reads, some fields used by a Scan are shared among all threads.
  The HTable implementation can either not contract to be safe in case of a Get
 
@@ -135,10 +135,10 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/HTableInterfac
 
  <p>Note that this class implements the <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io"><code>Closeable</code></a> interface. When a
  HTable instance is no longer required, it *should* be closed in order to ensure
- that the underlying resources are promptly released. Please note that the close
+ that the underlying resources are promptly released. Please note that the close 
  method can throw java.io.IOException that must be handled.</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client"><code>for create, drop, list, enable and disable of tables.</code></a>,
-<a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>HConnection</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client"><code>for create, drop, list, enable and disable of tables.</code></a>, 
+<a href="../../../../../org/apache/hadoop/hbase/client/HConnection.html" title="interface in org.apache.hadoop.hbase.client"><code>HConnection</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/HConnectionManager.html" title="class in org.apache.hadoop.hbase.client"><code>HConnectionManager</code></a></dd></dl>
 </li>
 </ul>
@@ -1732,7 +1732,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hado
 <dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - The row to lock.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>A <a href="../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a> containing the row and lock id.</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html#unlockRow(org.apache.hadoop.hbase.client.RowLock)"><code>HTableInterface.unlockRow(org.apache.hadoop.hbase.client.RowLock)</code></a></dd></dl>
 </li>
 </ul>
@@ -1750,7 +1750,7 @@ public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hado
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html#unlockRow(org.apache.hadoop.hbase.client.RowLock)">unlockRow</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html" title="interface in org.apache.hadoop.hbase.client">HTableInterface</a></code></dd>
 <dt><span class="strong">Parameters:</span></dt><dd><code>rl</code> - The row lock to release.</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html#unlockRow(org.apache.hadoop.hbase.client.RowLock)"><code>HTableInterface.unlockRow(org.apache.hadoop.hbase.client.RowLock)</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/HTableInterface.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/HTableInterface.html b/0.94/apidocs/org/apache/hadoop/hbase/client/HTableInterface.html
index 2f063b8..60c5d03 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/HTableInterface.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/HTableInterface.html
@@ -245,7 +245,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Closeable.html
                             byte[]&nbsp;family)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
 <div class="block"><i>As of version 0.92 this method is deprecated without
- replacement.
+ replacement.   
  getRowOrBefore is used internally to find entries in .META. and makes
  various assumptions about the table (which are true for .META. but not
  in general) to be efficient.</i></div>
@@ -539,7 +539,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Closeable.html
                     byte[]&nbsp;family)
                       throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>As of version 0.92 this method is deprecated without
- replacement.
+ replacement.   
  getRowOrBefore is used internally to find entries in .META. and makes
  various assumptions about the table (which are true for .META. but not
  in general) to be efficient.</i></div>
@@ -896,7 +896,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Closeable.html
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - The row to lock.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>A <a href="../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a> containing the row and lock id.</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html#unlockRow(org.apache.hadoop.hbase.client.RowLock)"><code>unlockRow(org.apache.hadoop.hbase.client.RowLock)</code></a></dd></dl>
 </li>
 </ul>
@@ -912,7 +912,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Closeable.html
 <div class="block">Releases a row lock.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>rl</code> - The row lock to release.</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html#unlockRow(org.apache.hadoop.hbase.client.RowLock)"><code>unlockRow(org.apache.hadoop.hbase.client.RowLock)</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/HTablePool.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/HTablePool.html b/0.94/apidocs/org/apache/hadoop/hbase/client/HTablePool.html
index 1443f23..040a5d7 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/HTablePool.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/HTablePool.html
@@ -106,7 +106,7 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
 <div class="block">A simple pool of HTable instances.
-
+ 
  Each HTablePool acts as a pool for all tables. To use, instantiate an
  HTablePool and use <a href="../../../../../org/apache/hadoop/hbase/client/HTablePool.html#getTable(java.lang.String)"><code>getTable(String)</code></a> to get an HTable from the pool.
 
@@ -116,12 +116,12 @@ implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Closeable.h
  Once you are done with it, close your instance of <a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html" title="interface in org.apache.hadoop.hbase.client"><code>HTableInterface</code></a>
  by calling <a href="../../../../../org/apache/hadoop/hbase/client/HTableInterface.html#close()"><code>HTableInterface.close()</code></a> rather than returning the tables
  to the pool with (deprecated) <a href="../../../../../org/apache/hadoop/hbase/client/HTablePool.html#putTable(org.apache.hadoop.hbase.client.HTableInterface)"><code>putTable(HTableInterface)</code></a>.
-
+ 
  <p>
  A pool can be created with a <i>maxSize</i> which defines the most HTable
  references that will ever be retained for each table. Otherwise the default
  is <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html?is-external=true#MAX_VALUE" title="class or interface in java.lang"><code>Integer.MAX_VALUE</code></a>.
-
+ 
  <p>
  Pool will manage its own connections to the cluster. See
  <a href="../../../../../org/apache/hadoop/hbase/client/HConnectionManager.html" title="class in org.apache.hadoop.hbase.client"><code>HConnectionManager</code></a>.</div>
@@ -385,7 +385,7 @@ implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Closeable.h
 <div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
 <div class="block">Get a reference to the specified table from the pool.
  <p>
-
+ 
  Create a new one if one is not available.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>tableName</code> - table name</dd>
 <dt><span class="strong">Returns:</span></dt><dd>a reference to the specified table</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/HTableUtil.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/HTableUtil.html b/0.94/apidocs/org/apache/hadoop/hbase/client/HTableUtil.html
index 756fbbb..076dd92 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/HTableUtil.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/HTableUtil.html
@@ -195,15 +195,15 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableUtil.html#line.63">bucketRsPut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/HTable.html" title="class in org.apache.hadoop.hbase.client">HTable</a>&nbsp;htable,
                <a href="http://docs.oracle.com/javase/6/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/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&gt;&nbsp;puts)
                         throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Processes a List of Puts and writes them to an HTable instance in RegionServer buckets via the htable.put method.
- This will utilize the writeBuffer, thus the writeBuffer flush frequency may be tuned accordingly via htable.setWriteBufferSize.
+<div class="block">Processes a List of Puts and writes them to an HTable instance in RegionServer buckets via the htable.put method. 
+ This will utilize the writeBuffer, thus the writeBuffer flush frequency may be tuned accordingly via htable.setWriteBufferSize. 
  <br><br>
  The benefit of submitting Puts in this manner is to minimize the number of RegionServer RPCs in each flush.
  <br><br>
- Assumption #1:  Regions have been pre-created for the table.  If they haven't, then all of the Puts will go to the same region,
+ Assumption #1:  Regions have been pre-created for the table.  If they haven't, then all of the Puts will go to the same region, 
  defeating the purpose of this utility method. See the Apache HBase book for an explanation of how to do this.
  <br>
- Assumption #2:  Row-keys are not monotonically increasing.  See the Apache HBase book for an explanation of this problem.
+ Assumption #2:  Row-keys are not monotonically increasing.  See the Apache HBase book for an explanation of this problem.  
  <br>
  Assumption #3:  That the input list of Puts is big enough to be useful (in the thousands or more).  The intent of this
  method is to process larger chunks of data.
@@ -224,15 +224,15 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/HTableUtil.html#line.92">bucketRsBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/client/HTable.html" title="class in org.apache.hadoop.hbase.client">HTable</a>&nbsp;htable,
                  <a href="http://docs.oracle.com/javase/6/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/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&gt;&nbsp;rows)
                           throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Processes a List of Rows (Put, Delete) and writes them to an HTable instance in RegionServer buckets via the htable.batch method.
+<div class="block">Processes a List of Rows (Put, Delete) and writes them to an HTable instance in RegionServer buckets via the htable.batch method. 
  <br><br>
  The benefit of submitting Puts in this manner is to minimize the number of RegionServer RPCs, thus this will
  produce one RPC of Puts per RegionServer.
  <br><br>
- Assumption #1:  Regions have been pre-created for the table.  If they haven't, then all of the Puts will go to the same region,
+ Assumption #1:  Regions have been pre-created for the table.  If they haven't, then all of the Puts will go to the same region, 
  defeating the purpose of this utility method. See the Apache HBase book for an explanation of how to do this.
  <br>
- Assumption #2:  Row-keys are not monotonically increasing.  See the Apache HBase book for an explanation of this problem.
+ Assumption #2:  Row-keys are not monotonically increasing.  See the Apache HBase book for an explanation of this problem.  
  <br>
  Assumption #3:  That the input list of Rows is big enough to be useful (in the thousands or more).  The intent of this
  method is to process larger chunks of data.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/IsolationLevel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/IsolationLevel.html b/0.94/apidocs/org/apache/hadoop/hbase/client/IsolationLevel.html
index 694db42..02d3c6c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/IsolationLevel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/IsolationLevel.html
@@ -261,7 +261,7 @@ for (IsolationLevel c : IsolationLevel.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/IsolationLevel.html#line.30">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/MultiPut.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/MultiPut.html b/0.94/apidocs/org/apache/hadoop/hbase/client/MultiPut.html
index dfbab0f..7779a65 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/MultiPut.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/MultiPut.html
@@ -224,8 +224,8 @@ implements org.apache.hadoop.io.Writable</pre>
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/MultiPut.html#toMap(int)">toMap</a></strong>(int&nbsp;maxCols)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;</div>
-<div class="block">Compile the details beyond the scope of getFingerprint (mostly
- toMap from the Puts) into a Map along with the fingerprinted
+<div class="block">Compile the details beyond the scope of getFingerprint (mostly 
+ toMap from the Puts) into a Map along with the fingerprinted 
  information.</div>
 </td>
 </tr>
@@ -373,7 +373,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <h4>getFingerprint</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/MultiPut.html#line.99">getFingerprint</a>()</pre>
 <div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
-<div class="block">Compile the table and column family (i.e. schema) information
+<div class="block">Compile the table and column family (i.e. schema) information 
  into a String. Useful for parsing and aggregation by debugging,
  logging, and administration tools.</div>
 <dl>
@@ -390,8 +390,8 @@ implements org.apache.hadoop.io.Writable</pre>
 <h4>toMap</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/MultiPut.html#line.150">toMap</a>(int&nbsp;maxCols)</pre>
 <div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
-<div class="block">Compile the details beyond the scope of getFingerprint (mostly
- toMap from the Puts) into a Map along with the fingerprinted
+<div class="block">Compile the details beyond the scope of getFingerprint (mostly 
+ toMap from the Puts) into a Map along with the fingerprinted 
  information. Useful for debugging, logging, and administration tools.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>


[16/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
index fbb011a..c9f897a 100644
--- a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
+++ b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
@@ -35,523 +35,526 @@
 <span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.27"></a>
 <span class="sourceLineNo">028</span>import org.apache.hadoop.io.RawComparator;<a name="line.28"></a>
 <span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * Encoder similar to {@link DiffKeyDeltaEncoder} but supposedly faster.<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * Compress using:<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * - store size of common prefix<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * - save column family once in the first KeyValue<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * - use bits to avoid duplication key length, value length<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *   and type if it same as previous<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * - store in 3 bits length of prefix timestamp<a name="line.39"></a>
-<span class="sourceLineNo">040</span> *    with previous KeyValue's timestamp<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * - one bit which allow to omit value if it is the same<a name="line.41"></a>
-<span class="sourceLineNo">042</span> *<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Format:<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * - 1 byte:    flag<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * - 1-5 bytes: prefix length<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * - 1-8 bytes: timestamp suffix<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * - ... bytes: value (only if FLAG_SAME_VALUE is not set in the flag)<a name="line.52"></a>
-<span class="sourceLineNo">053</span> *<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class FastDiffDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 0) | (1 &lt;&lt; 1) | (1 &lt;&lt; 2);<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  final int SHIFT_TIMESTAMP_LENGTH = 0;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  final int FLAG_SAME_KEY_LENGTH = 1 &lt;&lt; 3;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 4;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  final int FLAG_SAME_TYPE = 1 &lt;&lt; 5;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  final int FLAG_SAME_VALUE = 1 &lt;&lt; 6;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private static class FastDiffCompressionState extends CompressionState {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    byte[] timestamp = new byte[KeyValue.TIMESTAMP_SIZE];<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    int prevTimestampOffset;<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @Override<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      in.get(timestamp);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>    @Override<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    void copyFrom(CompressionState state) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      super.copyFrom(state);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      FastDiffCompressionState state2 = (FastDiffCompressionState) state;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      System.arraycopy(state2.timestamp, 0, timestamp, 0,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>          KeyValue.TIMESTAMP_SIZE);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      prevTimestampOffset = state2.prevTimestampOffset;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>    /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>     * Copies the first key/value from the given stream, and initializes<a name="line.82"></a>
-<span class="sourceLineNo">083</span>     * decompression state based on it. Assumes that we have already read key<a name="line.83"></a>
-<span class="sourceLineNo">084</span>     * and value lengths. Does not set {@link #qualifierLength} (not used by<a name="line.84"></a>
-<span class="sourceLineNo">085</span>     * decompression) or {@link #prevOffset} (set by the calle afterwards).<a name="line.85"></a>
-<span class="sourceLineNo">086</span>     */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    private void decompressFirstKV(ByteBuffer out, DataInputStream in)<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        throws IOException {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      int kvPos = out.position();<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      out.putInt(keyLength);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      out.putInt(valueLength);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      prevTimestampOffset = out.position() + keyLength -<a name="line.92"></a>
-<span class="sourceLineNo">093</span>          KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      ByteBufferUtils.copyFromStreamToBuffer(out, in, keyLength + valueLength);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      rowLength = out.getShort(kvPos + KeyValue.ROW_OFFSET);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      familyLength = out.get(kvPos + KeyValue.ROW_OFFSET +<a name="line.96"></a>
-<span class="sourceLineNo">097</span>          KeyValue.ROW_LENGTH_SIZE + rowLength);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      type = out.get(prevTimestampOffset + KeyValue.TIMESTAMP_SIZE);<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><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private void compressSingleKeyValue(<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        FastDiffCompressionState previousState,<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        FastDiffCompressionState currentState,<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        OutputStream out, ByteBuffer in) throws IOException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    currentState.prevOffset = in.position();<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int keyLength = in.getInt();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    int valueOffset =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        currentState.prevOffset + keyLength + KeyValue.ROW_OFFSET;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    int valueLength = in.getInt();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    byte flag = 0;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>    if (previousState.isFirst()) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      // copy the key, there is no common prefix with none<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      out.write(flag);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    } else {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      // find a common prefix and skip it<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      int commonPrefix = ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.126"></a>
-<span class="sourceLineNo">127</span>          previousState.prevOffset + KeyValue.ROW_OFFSET,<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          Math.min(keyLength, previousState.keyLength) -<a name="line.128"></a>
-<span class="sourceLineNo">129</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          commonPrefix, previousState);<a name="line.132"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * Encoder similar to {@link DiffKeyDeltaEncoder} but supposedly faster.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Compress using:<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * - store size of common prefix<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * - save column family once in the first KeyValue<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * - use bits to avoid duplication key length, value length<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *   and type if it same as previous<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * - store in 3 bits length of prefix timestamp<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *    with previous KeyValue's timestamp<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * - one bit which allow to omit value if it is the same<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Format:<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * - 1 byte:    flag<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * - 1-5 bytes: prefix length<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * - 1-8 bytes: timestamp suffix<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * - ... bytes: value (only if FLAG_SAME_VALUE is not set in the flag)<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *<a name="line.55"></a>
+<span class="sourceLineNo">056</span> */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>@InterfaceAudience.Private<a name="line.57"></a>
+<span class="sourceLineNo">058</span>public class FastDiffDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 0) | (1 &lt;&lt; 1) | (1 &lt;&lt; 2);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  final int SHIFT_TIMESTAMP_LENGTH = 0;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  final int FLAG_SAME_KEY_LENGTH = 1 &lt;&lt; 3;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 4;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  final int FLAG_SAME_TYPE = 1 &lt;&lt; 5;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  final int FLAG_SAME_VALUE = 1 &lt;&lt; 6;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private static class FastDiffCompressionState extends CompressionState {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    byte[] timestamp = new byte[KeyValue.TIMESTAMP_SIZE];<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    int prevTimestampOffset;<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @Override<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      in.get(timestamp);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>    @Override<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    void copyFrom(CompressionState state) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      super.copyFrom(state);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      FastDiffCompressionState state2 = (FastDiffCompressionState) state;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      System.arraycopy(state2.timestamp, 0, timestamp, 0,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>          KeyValue.TIMESTAMP_SIZE);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      prevTimestampOffset = state2.prevTimestampOffset;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>    /**<a name="line.84"></a>
+<span class="sourceLineNo">085</span>     * Copies the first key/value from the given stream, and initializes<a name="line.85"></a>
+<span class="sourceLineNo">086</span>     * decompression state based on it. Assumes that we have already read key<a name="line.86"></a>
+<span class="sourceLineNo">087</span>     * and value lengths. Does not set {@link #qualifierLength} (not used by<a name="line.87"></a>
+<span class="sourceLineNo">088</span>     * decompression) or {@link #prevOffset} (set by the calle afterwards).<a name="line.88"></a>
+<span class="sourceLineNo">089</span>     */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    private void decompressFirstKV(ByteBuffer out, DataInputStream in)<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        throws IOException {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      int kvPos = out.position();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      out.putInt(keyLength);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      out.putInt(valueLength);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      prevTimestampOffset = out.position() + keyLength -<a name="line.95"></a>
+<span class="sourceLineNo">096</span>          KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      ByteBufferUtils.copyFromStreamToBuffer(out, in, keyLength + valueLength);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      rowLength = out.getShort(kvPos + KeyValue.ROW_OFFSET);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      familyLength = out.get(kvPos + KeyValue.ROW_OFFSET +<a name="line.99"></a>
+<span class="sourceLineNo">100</span>          KeyValue.ROW_LENGTH_SIZE + rowLength);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      type = out.get(prevTimestampOffset + KeyValue.TIMESTAMP_SIZE);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  private void compressSingleKeyValue(<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        FastDiffCompressionState previousState,<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        FastDiffCompressionState currentState,<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        OutputStream out, ByteBuffer in) throws IOException {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    currentState.prevOffset = in.position();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    int keyLength = in.getInt();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    int valueOffset =<a name="line.112"></a>
+<span class="sourceLineNo">113</span>        currentState.prevOffset + keyLength + KeyValue.ROW_OFFSET;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    int valueLength = in.getInt();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    byte flag = 0;<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (previousState.isFirst()) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      // copy the key, there is no common prefix with none<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      out.write(flag);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    } else {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      // find a common prefix and skip it<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      int commonPrefix = ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.129"></a>
+<span class="sourceLineNo">130</span>          previousState.prevOffset + KeyValue.ROW_OFFSET,<a name="line.130"></a>
+<span class="sourceLineNo">131</span>          Math.min(keyLength, previousState.keyLength) -<a name="line.131"></a>
+<span class="sourceLineNo">132</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.132"></a>
 <span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>      if (keyLength == previousState.keyLength) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      if (valueLength == previousState.valueLength) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.138"></a>
+<span class="sourceLineNo">134</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.134"></a>
+<span class="sourceLineNo">135</span>          commonPrefix, previousState);<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>      if (keyLength == previousState.keyLength) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.138"></a>
 <span class="sourceLineNo">139</span>      }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      if (currentState.type == previousState.type) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        flag |= FLAG_SAME_TYPE;<a name="line.141"></a>
+<span class="sourceLineNo">140</span>      if (valueLength == previousState.valueLength) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        flag |= FLAG_SAME_VALUE_LENGTH;<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>      int commonTimestampPrefix = findCommonTimestampPrefix(<a name="line.144"></a>
-<span class="sourceLineNo">145</span>          currentState, previousState);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      flag |= commonTimestampPrefix &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // Check if current and previous values are the same. Compare value<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      // length first as an optimization.<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      if (valueLength == previousState.valueLength) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        int previousValueOffset = previousState.prevOffset<a name="line.151"></a>
-<span class="sourceLineNo">152</span>            + previousState.keyLength + KeyValue.ROW_OFFSET;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        if (ByteBufferUtils.arePartsEqual(in,<a name="line.153"></a>
-<span class="sourceLineNo">154</span>                previousValueOffset, previousState.valueLength,<a name="line.154"></a>
-<span class="sourceLineNo">155</span>                valueOffset, valueLength)) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          flag |= FLAG_SAME_VALUE;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>      out.write(flag);<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.165"></a>
+<span class="sourceLineNo">143</span>      if (currentState.type == previousState.type) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        flag |= FLAG_SAME_TYPE;<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>      int commonTimestampPrefix = findCommonTimestampPrefix(<a name="line.147"></a>
+<span class="sourceLineNo">148</span>          currentState, previousState);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      flag |= commonTimestampPrefix &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>      // Check if current and previous values are the same. Compare value<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      // length first as an optimization.<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      if (valueLength == previousState.valueLength) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        int previousValueOffset = previousState.prevOffset<a name="line.154"></a>
+<span class="sourceLineNo">155</span>            + previousState.keyLength + KeyValue.ROW_OFFSET;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        if (ByteBufferUtils.arePartsEqual(in,<a name="line.156"></a>
+<span class="sourceLineNo">157</span>                previousValueOffset, previousState.valueLength,<a name="line.157"></a>
+<span class="sourceLineNo">158</span>                valueOffset, valueLength)) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          flag |= FLAG_SAME_VALUE;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>      out.write(flag);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.165"></a>
 <span class="sourceLineNo">166</span>      }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>      ByteBufferUtils.skip(in, commonPrefix);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      if (commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        // Previous and current rows are different. Copy the differing part of<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        // the row, skip the column family, and copy the qualifier.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>            currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.175"></a>
-<span class="sourceLineNo">176</span>            KeyValue.FAMILY_LENGTH_SIZE);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.177"></a>
-<span class="sourceLineNo">178</span>            currentState.qualifierLength);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      } else {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        // The common part includes the whole row. As the column family is the<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // same across the whole file, it will automatically be included in the<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        // common prefix, so we need not special-case it here.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        int restKeyLength = keyLength - commonPrefix -<a name="line.183"></a>
-<span class="sourceLineNo">184</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        ByteBufferUtils.moveBufferToStream(out, in, restKeyLength);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      ByteBufferUtils.skip(in, commonTimestampPrefix);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          KeyValue.TIMESTAMP_SIZE - commonTimestampPrefix);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>      // Write the type if it is not the same as before.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        out.write(currentState.type);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>      // Write the value if it is not the same as before.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        ByteBufferUtils.copyBufferToStream(out, in, valueOffset, valueLength);<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>      // Skip key type and value in the input buffer.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      ByteBufferUtils.skip(in, KeyValue.TYPE_SIZE + currentState.valueLength);<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><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  private int findCommonTimestampPrefix(FastDiffCompressionState left,<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      FastDiffCompressionState right) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    int prefixTimestamp = 0;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    while (prefixTimestamp &lt; (KeyValue.TIMESTAMP_SIZE - 1) &amp;&amp;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        left.timestamp[prefixTimestamp]<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            == right.timestamp[prefixTimestamp]) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      prefixTimestamp++;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    return prefixTimestamp; // has to be at most 7 bytes<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>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      ByteBuffer out, FastDiffCompressionState state)<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte flag = source.readByte();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    int prevKeyLength = state.keyLength;<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      state.keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      state.valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.227"></a>
+<span class="sourceLineNo">167</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>      ByteBufferUtils.skip(in, commonPrefix);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      if (commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        // Previous and current rows are different. Copy the differing part of<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // the row, skip the column family, and copy the qualifier.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.178"></a>
+<span class="sourceLineNo">179</span>            KeyValue.FAMILY_LENGTH_SIZE);<a name="line.179"></a>
+<span class="sourceLineNo">180</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.180"></a>
+<span class="sourceLineNo">181</span>            currentState.qualifierLength);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      } else {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>        // The common part includes the whole row. As the column family is the<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        // same across the whole file, it will automatically be included in the<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        // common prefix, so we need not special-case it here.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        int restKeyLength = keyLength - commonPrefix -<a name="line.186"></a>
+<span class="sourceLineNo">187</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        ByteBufferUtils.moveBufferToStream(out, in, restKeyLength);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      }<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      ByteBufferUtils.skip(in, commonTimestampPrefix);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.191"></a>
+<span class="sourceLineNo">192</span>          KeyValue.TIMESTAMP_SIZE - commonTimestampPrefix);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>      // Write the type if it is not the same as before.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>        out.write(currentState.type);<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>      // Write the value if it is not the same as before.<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        ByteBufferUtils.copyBufferToStream(out, in, valueOffset, valueLength);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      }<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>      // Skip key type and value in the input buffer.<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      ByteBufferUtils.skip(in, KeyValue.TYPE_SIZE + currentState.valueLength);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int findCommonTimestampPrefix(FastDiffCompressionState left,<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      FastDiffCompressionState right) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    int prefixTimestamp = 0;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    while (prefixTimestamp &lt; (KeyValue.TIMESTAMP_SIZE - 1) &amp;&amp;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        left.timestamp[prefixTimestamp]<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            == right.timestamp[prefixTimestamp]) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      prefixTimestamp++;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    return prefixTimestamp; // has to be at most 7 bytes<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      ByteBuffer out, FastDiffCompressionState state)<a name="line.221"></a>
+<span class="sourceLineNo">222</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    byte flag = source.readByte();<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    int prevKeyLength = state.keyLength;<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      state.keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    ByteBufferUtils.ensureSpace(out, state.keyLength + state.valueLength +<a name="line.231"></a>
-<span class="sourceLineNo">232</span>        KeyValue.ROW_OFFSET);<a name="line.232"></a>
+<span class="sourceLineNo">229</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      state.valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.232"></a>
 <span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>    int kvPos = out.position();<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    if (!state.isFirst()) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      // copy the prefix<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      int common;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      int prevOffset;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        out.putInt(state.keyLength);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        out.putInt(state.valueLength);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        prevOffset = state.prevOffset + KeyValue.ROW_OFFSET;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        common = commonLength;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      } else {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>          prevOffset = state.prevOffset;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>          common = commonLength + KeyValue.ROW_OFFSET;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        } else {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>          out.putInt(state.keyLength);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          prevOffset = state.prevOffset + KeyValue.KEY_LENGTH_SIZE;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          common = commonLength + KeyValue.KEY_LENGTH_SIZE;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>        }<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      }<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out, prevOffset, common);<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>      // copy the rest of the key from the buffer<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      int keyRestLength;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      if (commonLength &lt; state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        // omit the family part of the key, it is always the same<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        int rowWithSizeLength;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        int rowRestLength;<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>        // check length of row<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (commonLength &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          // not yet copied, do it now<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              KeyValue.ROW_LENGTH_SIZE - commonLength);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>          rowWithSizeLength = out.getShort(out.position() -<a name="line.272"></a>
-<span class="sourceLineNo">273</span>              KeyValue.ROW_LENGTH_SIZE) + KeyValue.ROW_LENGTH_SIZE;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          rowRestLength = rowWithSizeLength - KeyValue.ROW_LENGTH_SIZE;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        } else {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          // already in kvBuffer, just read it<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          rowWithSizeLength = out.getShort(kvPos + KeyValue.ROW_OFFSET) +<a name="line.277"></a>
-<span class="sourceLineNo">278</span>              KeyValue.ROW_LENGTH_SIZE;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          rowRestLength = rowWithSizeLength - commonLength;<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>        // copy the rest of row<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        ByteBufferUtils.copyFromStreamToBuffer(out, source, rowRestLength);<a name="line.283"></a>
+<span class="sourceLineNo">234</span>    ByteBufferUtils.ensureSpace(out, state.keyLength + state.valueLength +<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        KeyValue.ROW_OFFSET);<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>    int kvPos = out.position();<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>    if (!state.isFirst()) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      // copy the prefix<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      int common;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      int prevOffset;<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        out.putInt(state.keyLength);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        out.putInt(state.valueLength);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        prevOffset = state.prevOffset + KeyValue.ROW_OFFSET;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>        common = commonLength;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      } else {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>          prevOffset = state.prevOffset;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>          common = commonLength + KeyValue.ROW_OFFSET;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        } else {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          out.putInt(state.keyLength);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>          prevOffset = state.prevOffset + KeyValue.KEY_LENGTH_SIZE;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>          common = commonLength + KeyValue.KEY_LENGTH_SIZE;<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><a name="line.259"></a>
+<span class="sourceLineNo">260</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out, prevOffset, common);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>      // copy the rest of the key from the buffer<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      int keyRestLength;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      if (commonLength &lt; state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        // omit the family part of the key, it is always the same<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        int rowWithSizeLength;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        int rowRestLength;<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>        // check length of row<a name="line.269"></a>
+<span class="sourceLineNo">270</span>        if (commonLength &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>          // not yet copied, do it now<a name="line.271"></a>
+<span class="sourceLineNo">272</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.272"></a>
+<span class="sourceLineNo">273</span>              KeyValue.ROW_LENGTH_SIZE - commonLength);<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>          rowWithSizeLength = out.getShort(out.position() -<a name="line.275"></a>
+<span class="sourceLineNo">276</span>              KeyValue.ROW_LENGTH_SIZE) + KeyValue.ROW_LENGTH_SIZE;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>          rowRestLength = rowWithSizeLength - KeyValue.ROW_LENGTH_SIZE;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>        } else {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          // already in kvBuffer, just read it<a name="line.279"></a>
+<span class="sourceLineNo">280</span>          rowWithSizeLength = out.getShort(kvPos + KeyValue.ROW_OFFSET) +<a name="line.280"></a>
+<span class="sourceLineNo">281</span>              KeyValue.ROW_LENGTH_SIZE;<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          rowRestLength = rowWithSizeLength - commonLength;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
 <span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>        // copy the column family<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.286"></a>
-<span class="sourceLineNo">287</span>            state.prevOffset + KeyValue.ROW_OFFSET + KeyValue.ROW_LENGTH_SIZE<a name="line.287"></a>
-<span class="sourceLineNo">288</span>                + state.rowLength, state.familyLength<a name="line.288"></a>
-<span class="sourceLineNo">289</span>                + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        state.rowLength = (short) (rowWithSizeLength -<a name="line.290"></a>
-<span class="sourceLineNo">291</span>            KeyValue.ROW_LENGTH_SIZE);<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>        keyRestLength = state.keyLength - rowWithSizeLength -<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            state.familyLength -<a name="line.294"></a>
-<span class="sourceLineNo">295</span>            (KeyValue.FAMILY_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      } else {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        // prevRowWithSizeLength is the same as on previous row<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        keyRestLength = state.keyLength - commonLength -<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      }<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      // copy the rest of the key, after column family == column qualifier<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source, keyRestLength);<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>      // copy timestamp<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      int prefixTimestamp =<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.307"></a>
-<span class="sourceLineNo">308</span>          state.prevTimestampOffset, prefixTimestamp);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      state.prevTimestampOffset = out.position() - prefixTimestamp;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          KeyValue.TIMESTAMP_SIZE - prefixTimestamp);<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>      // copy the type and value<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        out.put(state.type);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.317"></a>
-<span class="sourceLineNo">318</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        } else {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>              state.valueLength);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        }<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      } else {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.325"></a>
-<span class="sourceLineNo">326</span>              KeyValue.TYPE_SIZE);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.327"></a>
-<span class="sourceLineNo">328</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        } else {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.330"></a>
-<span class="sourceLineNo">331</span>              state.valueLength + KeyValue.TYPE_SIZE);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        state.type = out.get(state.prevTimestampOffset +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            KeyValue.TIMESTAMP_SIZE);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    } else { // this is the first element<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      state.decompressFirstKV(out, source);<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>
-<span class="sourceLineNo">340</span>    state.prevOffset = kvPos;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
+<span class="sourceLineNo">285</span>        // copy the rest of row<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        ByteBufferUtils.copyFromStreamToBuffer(out, source, rowRestLength);<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>        // copy the column family<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.289"></a>
+<span class="sourceLineNo">290</span>            state.prevOffset + KeyValue.ROW_OFFSET + KeyValue.ROW_LENGTH_SIZE<a name="line.290"></a>
+<span class="sourceLineNo">291</span>                + state.rowLength, state.familyLength<a name="line.291"></a>
+<span class="sourceLineNo">292</span>                + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        state.rowLength = (short) (rowWithSizeLength -<a name="line.293"></a>
+<span class="sourceLineNo">294</span>            KeyValue.ROW_LENGTH_SIZE);<a name="line.294"></a>
+<span class="sourceLineNo">295</span><a name="line.295"></a>
+<span class="sourceLineNo">296</span>        keyRestLength = state.keyLength - rowWithSizeLength -<a name="line.296"></a>
+<span class="sourceLineNo">297</span>            state.familyLength -<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            (KeyValue.FAMILY_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      } else {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>        // prevRowWithSizeLength is the same as on previous row<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        keyRestLength = state.keyLength - commonLength -<a name="line.301"></a>
+<span class="sourceLineNo">302</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      // copy the rest of the key, after column family == column qualifier<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source, keyRestLength);<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>      // copy timestamp<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      int prefixTimestamp =<a name="line.308"></a>
+<span class="sourceLineNo">309</span>          (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          state.prevTimestampOffset, prefixTimestamp);<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      state.prevTimestampOffset = out.position() - prefixTimestamp;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          KeyValue.TIMESTAMP_SIZE - prefixTimestamp);<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      // copy the type and value<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        out.put(state.type);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.320"></a>
+<span class="sourceLineNo">321</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        } else {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              state.valueLength);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      } else {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.328"></a>
+<span class="sourceLineNo">329</span>              KeyValue.TYPE_SIZE);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.330"></a>
+<span class="sourceLineNo">331</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        } else {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.333"></a>
+<span class="sourceLineNo">334</span>              state.valueLength + KeyValue.TYPE_SIZE);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>        }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        state.type = out.get(state.prevTimestampOffset +<a name="line.336"></a>
+<span class="sourceLineNo">337</span>            KeyValue.TIMESTAMP_SIZE);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>      }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    } else { // this is the first element<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      state.decompressFirstKV(out, source);<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 void compressKeyValues(DataOutputStream out,<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    in.rewind();<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    FastDiffCompressionState previousState = new FastDiffCompressionState();<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    FastDiffCompressionState currentState = new FastDiffCompressionState();<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    while (in.hasRemaining()) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      compressSingleKeyValue(previousState, currentState,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>          out, in);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>      // swap previousState &lt;-&gt; currentState<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      FastDiffCompressionState tmp = previousState;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      previousState = currentState;<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      currentState = tmp;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  @Override<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    int decompressedSize = source.readInt();<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        allocHeaderLength);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    buffer.position(allocHeaderLength);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    FastDiffCompressionState state = new FastDiffCompressionState();<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    while (source.available() &gt; skipLastBytes) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (source.available() != skipLastBytes) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      throw new IllegalStateException("Read too much bytes.");<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>    return buffer;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">343</span>    state.prevOffset = kvPos;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  }<a name="line.344"></a>
+<span class="sourceLineNo">345</span><a name="line.345"></a>
+<span class="sourceLineNo">346</span>  @Override<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  public void compressKeyValues(DataOutputStream out,<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    in.rewind();<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    FastDiffCompressionState previousState = new FastDiffCompressionState();<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    FastDiffCompressionState currentState = new FastDiffCompressionState();<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    while (in.hasRemaining()) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      compressSingleKeyValue(previousState, currentState,<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          out, in);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>      // swap previousState &lt;-&gt; currentState<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      FastDiffCompressionState tmp = previousState;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      previousState = currentState;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      currentState = tmp;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>  }<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>  @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.366"></a>
+<span class="sourceLineNo">367</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.367"></a>
+<span class="sourceLineNo">368</span>          throws IOException {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    int decompressedSize = source.readInt();<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        allocHeaderLength);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    buffer.position(allocHeaderLength);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    FastDiffCompressionState state = new FastDiffCompressionState();<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    while (source.available() &gt; skipLastBytes) {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (source.available() != skipLastBytes) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      throw new IllegalStateException("Read too much bytes.");<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>  @Override<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    block.mark();<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    block.position(Bytes.SIZEOF_INT + Bytes.SIZEOF_BYTE);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    int pos = block.position();<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    block.reset();<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<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>  @Override<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  public String toString() {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return FastDiffDeltaEncoder.class.getSimpleName();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  }<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  protected static class FastDiffSeekerState extends SeekerState {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private byte[] prevTimestampAndType =<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        new byte[KeyValue.TIMESTAMP_TYPE_SIZE];<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    private int rowLengthWithSize;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private int familyLengthWithSize;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    @Override<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    protected void copyFromNext(SeekerState that) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      super.copyFromNext(that);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      FastDiffSeekerState other = (FastDiffSeekerState) that;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      System.arraycopy(other.prevTimestampAndType, 0,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          prevTimestampAndType, 0,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      familyLengthWithSize = other.familyLengthWithSize;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    }<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>  @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      final boolean includesMemstoreTS) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return new BufferedEncodedSeeker&lt;FastDiffSeekerState&gt;(comparator) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      private void decode(boolean isFirst) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        byte flag = currentBuffer.get();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          if (!isFirst) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>            System.arraycopy(current.keyBuffer,<a name="line.426"></a>
-<span class="sourceLineNo">427</span>                current.keyLength - current.prevTimestampAndType.length,<a name="line.427"></a>
-<span class="sourceLineNo">428</span>                current.prevTimestampAndType, 0,<a name="line.428"></a>
-<span class="sourceLineNo">429</span>                current.prevTimestampAndType.length);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        }<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          current.valueLength =<a name="line.434"></a>
-<span class="sourceLineNo">435</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        current.lastCommonPrefix =<a name="line.437"></a>
-<span class="sourceLineNo">438</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        current.ensureSpaceForKey();<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span>        if (isFirst) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          // copy everything<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>              current.keyLength - current.prevTimestampAndType.length);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.446"></a>
-<span class="sourceLineNo">447</span>              Bytes.SIZEOF_SHORT;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>          current.familyLengthWithSize =<a name="line.448"></a>
-<span class="sourceLineNo">449</span>              current.keyBuffer[current.rowLengthWithSize] + Bytes.SIZEOF_BYTE;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        } else if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>          // length of row is different, copy everything except family<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>          // copy the row size<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          int oldRowLengthWithSize = current.rowLengthWithSize;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.455"></a>
-<span class="sourceLineNo">456</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.456"></a>
-<span class="sourceLineNo">457</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.457"></a>
-<span class="sourceLineNo">458</span>              Bytes.SIZEOF_SHORT;<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>          // move the column family<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          System.arraycopy(current.keyBuffer, oldRowLengthWithSize,<a name="line.461"></a>
-<span class="sourceLineNo">462</span>              current.keyBuffer, current.rowLengthWithSize,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>              current.familyLengthWithSize);<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>          // copy the rest of row<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.466"></a>
-<span class="sourceLineNo">467</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.467"></a>
-<span class="sourceLineNo">468</span><a name="line.468"></a>
-<span class="sourceLineNo">469</span>          // copy the qualifier<a name="line.469"></a>
-<span class="sourceLineNo">470</span>          currentBuffer.get(current.keyBuffer, current.rowLengthWithSize<a name="line.470"></a>
-<span class="sourceLineNo">471</span>              + current.familyLengthWithSize, current.keyLength<a name="line.471"></a>
-<span class="sourceLineNo">472</span>              - current.rowLengthWithSize - current.familyLengthWithSize<a name="line.472"></a>
-<span class="sourceLineNo">473</span>              - current.prevTimestampAndType.length);<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        } else if (current.lastCommonPrefix &lt; current.rowLengthWithSize) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          // We have to copy part of row and qualifier, but the column family<a name="line.475"></a>
-<span class="sourceLineNo">476</span>          // is in the right place.<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>          // before column family (rest of row)<a name="line.478"></a>
-<span class="sourceLineNo">479</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>              current.rowLengthWithSize - current.lastCommonPrefix);<a name="line.480"></a>
-<span class="sourceLineNo">481</span><a name="line.481"></a>
-<span class="sourceLineNo">482</span>          // after column family (qualifier)<a name="line.482"></a>
-<span class="sourceLineNo">483</span>          currentBuffer.get(current.keyBuffer, current.rowLengthWithSize<a name="line.483"></a>
-<span class="sourceLineNo">484</span>              + current.familyLengthWithSize, current.keyLength<a name="line.484"></a>
-<span class="sourceLineNo">485</span>              - current.rowLengthWithSize - current.familyLengthWithSize<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              - current.prevTimestampAndType.length);<a name="line.486"></a>
-<span class="sourceLineNo">487</span>        } else {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          // copy just the ending<a name="line.488"></a>
-<span class="sourceLineNo">489</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.489"></a>
-<span class="sourceLineNo">490</span>              current.keyLength - current.prevTimestampAndType.length<a name="line.490"></a>
-<span class="sourceLineNo">491</span>                  - current.lastCommonPrefix);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        }<a name="line.492"></a>
-<span class="sourceLineNo">493</span><a name="line.493"></a>
-<span class="sourceLineNo">494</span>        // timestamp<a name="line.494"></a>
-<span class="sourceLineNo">495</span>        int pos = current.keyLength - current.prevTimestampAndType.length;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        int commonTimestampPrefix = (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>          SHIFT_TIMESTAMP_LENGTH;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>          System.arraycopy(current.prevTimestampAndType, 0, current.keyBuffer,<a name="line.499"></a>
-<span class="sourceLineNo">500</span>              pos, commonTimestampPrefix);<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        pos += commonTimestampPrefix;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        currentBuffer.get(current.keyBuffer, pos,<a name="line.503"></a>
-<span class="sourceLineNo">504</span>            Bytes.SIZEOF_LONG - commonTimestampPrefix);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        pos += Bytes.SIZEOF_LONG - commonTimestampPrefix;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>        // type<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          currentBuffer.get(current.keyBuffer, pos, Bytes.SIZEOF_BYTE);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        } else if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          current.keyBuffer[pos] =<a name="line.511"></a>
-<span class="sourceLineNo">512</span>              current.prevTimestampAndType[Bytes.SIZEOF_LONG];<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>
-<span class="sourceLineNo">515</span>        // handle value<a name="line.515"></a>
-<span class="sourceLineNo">516</span>        if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          current.valueOffset = currentBuffer.position();<a name="line.517"></a>
-<span class="sourceLineNo">518</span>          ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>        if (includesMemstoreTS) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>        } else {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>          current.memstoreTS = 0;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        }<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        current.nextKvOffset = currentBuffer.position();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>      @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      protected void decodeFirst() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>        decode(true);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>      @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      protected void decodeNext() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>        decode(false);<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      }<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>      @Override<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      protected FastDiffSeekerState createSeekerState() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return new FastDiffSeekerState();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    };<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>}<a name="line.546"></a>
+<span class="sourceLineNo">383</span>    return buffer;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  @Override<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    block.mark();<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    block.position(Bytes.SIZEOF_INT + Bytes.SIZEOF_BYTE);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    int pos = block.position();<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    block.reset();<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<a name="line.395"></a>
+<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
+<span class="sourceLineNo">397</span><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  public String toString() {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    return FastDiffDeltaEncoder.class.getSimpleName();<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>  protected static class FastDiffSeekerSt

<TRUNCATED>

[13/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/css/master_site.css
----------------------------------------------------------------------
diff --git a/0.94/css/master_site.css b/0.94/css/master_site.css
new file mode 100644
index 0000000..8e7acb6
--- /dev/null
+++ b/0.94/css/master_site.css
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/*@import(https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap.min.css);
+@import(https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap-responsive.css);*/
+html {
+  background-color: #fff;
+}
+body {
+  font-size: 16px;
+}
+li {
+  line-height: 120%;
+}
+
+div#topbar,
+div#banner,
+div#breadcrumbs,
+div#bodyColumn,
+footer {
+  width: initial;
+  max-width: 1000px;
+  padding-left: 20px;
+  padding-right: 20px;
+  clear: both;
+}
+footer {
+  background-color: #e5e5e5;
+}
+footer .row, footer p, footer .pull-right {
+  margin: 5px;
+}
+div#search-form.navbar-search.pull-right {
+  width: 290px;
+  margin-right: 0;
+  margin-top: -5px;
+  margin-left: 0;
+  position: initial;
+}
+li#publishDate.pull-right {
+  list-style: none;
+}
+.container,
+.navbar-static-top .container,
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container,
+.navbar-inner {
+  width: initial;
+}
+/* Change the color and effect when clicking in menus */
+.dropdown-menu>li>a:hover,
+.dropdown-menu>li>a:focus,
+.dropdown-submenu:hover>a,
+.dropdown-submenu:focus>a {
+  background-color: #e5e5e5;
+  background-image: none;
+  color: #000;
+  font-weight: bolder;
+}
+
+.dropdown-backdrop {
+  position: static;
+}
+
+@media only screen and (max-width: 979px) {
+  body {
+    padding-left: 0;
+    padding-right: 0;
+    width: initial;
+    margin: 0;
+  }
+  /* Without this rule, drop-down divs are a fixed height
+   * the first time they are expanded */
+  .collapse.in {
+      height: auto !important;
+  }
+  div#search-form.navbar-search.pull-right {
+    padding: 0;
+    margin-left: ;
+    width: initial;
+    clear: both;
+  }
+}
+
+/* Fix Google Custom Search results on very narrow screens */
+@media(max-width: 480px) {
+    .gsc-overflow-hidden .nav-collapse {
+        -webkit-transform: none;
+    }
+}
+
+/* Override weird body padding thing that causes scrolling */
+@media (max-width: 767px)
+body {
+    padding-right: 0;
+    padding-left: 0;
+}
+
+@media (max-width: 767px)
+.navbar-fixed-top, .navbar-fixed-bottom, .navbar-static-top {
+  margin-left: 0;
+  margin-right: 0;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/cygwin.html
----------------------------------------------------------------------
diff --git a/0.94/cygwin.html b/0.94/cygwin.html
index eb8f12a..4d96ce8 100644
--- a/0.94/cygwin.html
+++ b/0.94/cygwin.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -13,7 +13,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -558,7 +558,7 @@ Now your <b>HBase </b>server is running, <b>start coding</b> and build that next
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/HTableDescriptor.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/HTableDescriptor.html b/0.94/devapidocs/org/apache/hadoop/hbase/HTableDescriptor.html
index 778aa71..b863b6a 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/HTableDescriptor.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/HTableDescriptor.html
@@ -867,7 +867,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if passed a table name
  that is made of other than 'word' characters, underscore or period: i.e.
- <code>[a-zA-Z_0-9.].</dd><dt><span class="strong">See Also:</span></dt><dd><a href="https://issues.apache.org/jira/browse/HBASE-174">HADOOP-1581 HBASE: Un-openable tablename bug</a></dd></dl>
+ <code>[a-zA-Z_0-9.].</dd><dt><span class="strong">See Also:</span></dt><dd><a href="HADOOP-1581">HADOOP-1581 HBASE: Un-openable tablename bug</a></dd></dl>
 </li>
 </ul>
 <a name="HTableDescriptor(byte[])">
@@ -882,7 +882,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../org/a
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if passed a table name
  that is made of other than 'word' characters, underscore or period: i.e.
- <code>[a-zA-Z_0-9-.].</dd><dt><span class="strong">See Also:</span></dt><dd><a href="https://issues.apache.org/jira/browse/HBASE-174">HADOOP-1581 HBASE: Un-openable tablename bug</a></dd></dl>
+ <code>[a-zA-Z_0-9-.].</dd><dt><span class="strong">See Also:</span></dt><dd><a href="HADOOP-1581">HADOOP-1581 HBASE: Un-openable tablename bug</a></dd></dl>
 </li>
 </ul>
 <a name="HTableDescriptor(org.apache.hadoop.hbase.HTableDescriptor)">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/avro/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/avro/package-summary.html b/0.94/devapidocs/org/apache/hadoop/hbase/avro/package-summary.html
index ecb8436..e002a86 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/avro/package-summary.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/avro/package-summary.html
@@ -116,7 +116,7 @@ service and a Java server implementation.
 
 <h2><a name="description">Description</a></h2>
 
-<p>The HBase API is defined in the
+<p>The <a href="generated/HBase.html">HBase API</a> is defined in the
 file hbase.genavro.  A server-side implementation of the API is in
 <code>org.apache.hadoop.hbase.avro.AvroServer</code>.  The generated interfaces,
 types, and RPC utility files are checked into SVN under the

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/0.94/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index 75db690..f28da19 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -150,10 +150,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/6/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/6/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/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">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="strong">CompareFilter.CompareOp</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="strong">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="strong">BitComparator.BitwiseOp</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="strong">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="strong">Filter.ReturnCode</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
index 3028d5c..30f2894 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
@@ -99,7 +99,8 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.32">CopyKeyDataBlockEncoder</a>
+<pre>@InterfaceAudience.Private
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.35">CopyKeyDataBlockEncoder</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Just copy data, do not do any kind of compression. Use for comparison and
  benchmarking.</div>
@@ -249,7 +250,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CopyKeyDataBlockEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.32">CopyKeyDataBlockEncoder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.35">CopyKeyDataBlockEncoder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -266,7 +267,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compressKeyValues</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.34">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.37">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                      <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                      boolean&nbsp;includesMemstoreTS)
                        throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -284,7 +285,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.42">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.45">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              int&nbsp;preserveHeaderLength,
                              int&nbsp;skipLastBytes,
                              boolean&nbsp;includesMemstoreTS)
@@ -304,7 +305,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKeyInBlock</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.55">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.58">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#getFirstKeyInBlock(java.nio.ByteBuffer)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Return first key in block. Useful for indexing. Typically does not make
  a deep copy but returns a buffer wrapping a segment of the actual block's
@@ -320,7 +321,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/CopyKeyDataBlockEncoder.html#line.63">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/CopyKeyDataBlockEncoder.html#line.66">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -333,7 +334,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createSeeker</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.68">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.71">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
                                           boolean&nbsp;includesMemstoreTS)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#createSeeker(org.apache.hadoop.io.RawComparator,%20boolean)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Create a HFileBlock seeker which find KeyValues within a block.</div>
@@ -348,7 +349,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;uncompressKeyValues(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.39">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              boolean&nbsp;includesMemstoreTS)
                                throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#uncompressKeyValues(java.io.DataInputStream,%20boolean)">DataBlockEncoder</a></code></strong></div>
@@ -369,7 +370,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>afterEncodingKeyValue</h4>
-<pre>protected final&nbsp;void&nbsp;afterEncodingKeyValue(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.276">afterEncodingKeyValue</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                          <a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                          boolean&nbsp;includesMemstoreTS)</pre>
 </li>
@@ -380,7 +381,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>afterDecodingKeyValue</h4>
-<pre>protected final&nbsp;void&nbsp;afterDecodingKeyValue(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.291">afterDecodingKeyValue</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                          <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;dest,
                          boolean&nbsp;includesMemstoreTS)</pre>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
index 4c8bd3c..08ef242 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.59">DiffKeyDeltaEncoder.DiffCompressionState</a>
+<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.62">DiffKeyDeltaEncoder.DiffCompressionState</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -170,7 +170,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DiffKeyDeltaEncoder.DiffCompressionState</h4>
-<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html#line.59">DiffKeyDeltaEncoder.DiffCompressionState</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html#line.62">DiffKeyDeltaEncoder.DiffCompressionState</a>()</pre>
 </li>
 </ul>
 </li>
@@ -187,7 +187,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>readTimestamp</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html#line.64">readTimestamp</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html#line.67">readTimestamp</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
index 463f5c7..1b0775a 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.409">DiffKeyDeltaEncoder.DiffSeekerState</a>
+<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.412">DiffKeyDeltaEncoder.DiffSeekerState</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -173,7 +173,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DiffKeyDeltaEncoder.DiffSeekerState</h4>
-<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html#line.409">DiffKeyDeltaEncoder.DiffSeekerState</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html#line.412">DiffKeyDeltaEncoder.DiffSeekerState</a>()</pre>
 </li>
 </ul>
 </li>
@@ -190,7 +190,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>copyFromNext</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html#line.414">copyFromNext</a>(org.apache.hadoop.hbase.io.encoding.BufferedDataBlockEncoder.SeekerState&nbsp;that)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html#line.417">copyFromNext</a>(org.apache.hadoop.hbase.io.encoding.BufferedDataBlockEncoder.SeekerState&nbsp;that)</pre>
 <div class="block">Copy the state from the next one into this instance (the previous state
  placeholder). Used to save the previous state when we are advancing the
  seeker to the next key/value.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
index 84086ce..5f10014 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
@@ -99,7 +99,8 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.50">DiffKeyDeltaEncoder</a>
+<pre>@InterfaceAudience.Private
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.53">DiffKeyDeltaEncoder</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Compress using:
  - store size of common prefix
@@ -274,7 +275,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DiffKeyDeltaEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.50">DiffKeyDeltaEncoder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.53">DiffKeyDeltaEncoder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -291,7 +292,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compressKeyValues</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.317">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.320">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                      <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                      boolean&nbsp;includesMemstoreTS)
                        throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -309,7 +310,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.336">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.339">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              int&nbsp;allocHeaderLength,
                              int&nbsp;skipLastBytes,
                              boolean&nbsp;includesMemstoreTS)
@@ -329,7 +330,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKeyInBlock</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.357">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.360">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#getFirstKeyInBlock(java.nio.ByteBuffer)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Return first key in block. Useful for indexing. Typically does not make
  a deep copy but returns a buffer wrapping a segment of the actual block's
@@ -345,7 +346,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/DiffKeyDeltaEncoder.html#line.405">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/DiffKeyDeltaEncoder.html#line.408">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -358,7 +359,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createSeeker</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.423">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.426">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
                                           boolean&nbsp;includesMemstoreTS)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#createSeeker(org.apache.hadoop.io.RawComparator,%20boolean)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Create a HFileBlock seeker which find KeyValues within a block.</div>
@@ -373,7 +374,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;uncompressKeyValues(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.39">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              boolean&nbsp;includesMemstoreTS)
                                throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#uncompressKeyValues(java.io.DataInputStream,%20boolean)">DataBlockEncoder</a></code></strong></div>
@@ -394,7 +395,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>afterEncodingKeyValue</h4>
-<pre>protected final&nbsp;void&nbsp;afterEncodingKeyValue(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.276">afterEncodingKeyValue</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                          <a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                          boolean&nbsp;includesMemstoreTS)</pre>
 </li>
@@ -405,7 +406,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>afterDecodingKeyValue</h4>
-<pre>protected final&nbsp;void&nbsp;afterDecodingKeyValue(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.291">afterDecodingKeyValue</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                          <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;dest,
                          boolean&nbsp;includesMemstoreTS)</pre>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
index ced7283..c9c7a06 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.400">FastDiffDeltaEncoder.FastDiffSeekerState</a>
+<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.403">FastDiffDeltaEncoder.FastDiffSeekerState</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -173,7 +173,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FastDiffDeltaEncoder.FastDiffSeekerState</h4>
-<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html#line.400">FastDiffDeltaEncoder.FastDiffSeekerState</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html#line.403">FastDiffDeltaEncoder.FastDiffSeekerState</a>()</pre>
 </li>
 </ul>
 </li>
@@ -190,7 +190,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>copyFromNext</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html#line.407">copyFromNext</a>(org.apache.hadoop.hbase.io.encoding.BufferedDataBlockEncoder.SeekerState&nbsp;that)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html#line.410">copyFromNext</a>(org.apache.hadoop.hbase.io.encoding.BufferedDataBlockEncoder.SeekerState&nbsp;that)</pre>
 <div class="block">Copy the state from the next one into this instance (the previous state
  placeholder). Used to save the previous state when we are advancing the
  seeker to the next key/value.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
index 1eff1b8..47d8c96 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
@@ -99,7 +99,8 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.55">FastDiffDeltaEncoder</a>
+<pre>@InterfaceAudience.Private
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.58">FastDiffDeltaEncoder</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Encoder similar to <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html" title="class in org.apache.hadoop.hbase.io.encoding"><code>DiffKeyDeltaEncoder</code></a> but supposedly faster.
 
@@ -273,7 +274,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FastDiffDeltaEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.55">FastDiffDeltaEncoder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.58">FastDiffDeltaEncoder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -290,7 +291,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compressKeyValues</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.344">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.347">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                      <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                      boolean&nbsp;includesMemstoreTS)
                        throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -308,7 +309,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.363">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.366">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              int&nbsp;allocHeaderLength,
                              int&nbsp;skipLastBytes,
                              boolean&nbsp;includesMemstoreTS)
@@ -328,7 +329,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKeyInBlock</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.384">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.387">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#getFirstKeyInBlock(java.nio.ByteBuffer)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Return first key in block. Useful for indexing. Typically does not make
  a deep copy but returns a buffer wrapping a segment of the actual block's
@@ -344,7 +345,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/FastDiffDeltaEncoder.html#line.396">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/FastDiffDeltaEncoder.html#line.399">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -357,7 +358,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createSeeker</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.419">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.422">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
                                           boolean&nbsp;includesMemstoreTS)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#createSeeker(org.apache.hadoop.io.RawComparator,%20boolean)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Create a HFileBlock seeker which find KeyValues within a block.</div>
@@ -372,7 +373,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;uncompressKeyValues(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.39">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              boolean&nbsp;includesMemstoreTS)
                                throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#uncompressKeyValues(java.io.DataInputStream,%20boolean)">DataBlockEncoder</a></code></strong></div>
@@ -393,7 +394,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>afterEncodingKeyValue</h4>
-<pre>protected final&nbsp;void&nbsp;afterEncodingKeyValue(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.276">afterEncodingKeyValue</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                          <a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                          boolean&nbsp;includesMemstoreTS)</pre>
 </li>
@@ -404,7 +405,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>afterDecodingKeyValue</h4>
-<pre>protected final&nbsp;void&nbsp;afterDecodingKeyValue(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.291">afterDecodingKeyValue</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                          <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;dest,
                          boolean&nbsp;includesMemstoreTS)</pre>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
index e4c18e7..5dfbbe9 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
@@ -99,7 +99,8 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.43">PrefixKeyDeltaEncoder</a>
+<pre>@InterfaceAudience.Private
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.46">PrefixKeyDeltaEncoder</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Compress key by storing size of common prefix with previous KeyValue
  and storing raw size of rest.
@@ -258,7 +259,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PrefixKeyDeltaEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.43">PrefixKeyDeltaEncoder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.46">PrefixKeyDeltaEncoder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -275,7 +276,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compressKeyValues</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.76">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;writeHere,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.79">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;writeHere,
                      <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                      boolean&nbsp;includesMemstoreTS)
                        throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -293,7 +294,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.92">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.95">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              int&nbsp;allocHeaderLength,
                              int&nbsp;skipLastBytes,
                              boolean&nbsp;includesMemstoreTS)
@@ -313,7 +314,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKeyInBlock</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.145">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.148">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#getFirstKeyInBlock(java.nio.ByteBuffer)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Return first key in block. Useful for indexing. Typically does not make
  a deep copy but returns a buffer wrapping a segment of the actual block's
@@ -329,7 +330,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/PrefixKeyDeltaEncoder.html#line.161">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/PrefixKeyDeltaEncoder.html#line.164">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -342,7 +343,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createSeeker</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.166">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.169">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
                                           boolean&nbsp;includesMemstoreTS)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#createSeeker(org.apache.hadoop.io.RawComparator,%20boolean)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Create a HFileBlock seeker which find KeyValues within a block.</div>
@@ -357,7 +358,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;uncompressKeyValues(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.39">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              boolean&nbsp;includesMemstoreTS)
                                throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#uncompressKeyValues(java.io.DataInputStream,%20boolean)">DataBlockEncoder</a></code></strong></div>
@@ -378,7 +379,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>afterEncodingKeyValue</h4>
-<pre>protected final&nbsp;void&nbsp;afterEncodingKeyValue(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.276">afterEncodingKeyValue</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                          <a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                          boolean&nbsp;includesMemstoreTS)</pre>
 </li>
@@ -389,7 +390,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>afterDecodingKeyValue</h4>
-<pre>protected final&nbsp;void&nbsp;afterDecodingKeyValue(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html#line.291">afterDecodingKeyValue</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                          <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;dest,
                          boolean&nbsp;includesMemstoreTS)</pre>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/0.94/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index e88e375..97ca6ba 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -226,9 +226,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">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="strong">BlockType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">Compression.Algorithm</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="strong">BlockType</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="strong">BlockType.BlockCategory</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/0.94/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index 29ea014..a2e2807 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -177,8 +177,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/AssignmentManager.RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="strong">AssignmentManager.RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TaskFinisher.Status.html" title="enum in org.apache.hadoop.hbase.master"><span class="strong">SplitLogManager.TaskFinisher.Status</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/AssignmentManager.RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="strong">AssignmentManager.RegionState.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/package-tree.html b/0.94/devapidocs/org/apache/hadoop/hbase/package-tree.html
index 4120b91..b741b19 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -216,8 +216,8 @@
 <ul>
 <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="strong">HConstants.OperationStatusCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="strong">Coprocessor.State</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="strong">KeyValue.Type</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="strong">HConstants.Modify</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="strong">KeyValue.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/0.94/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 7c26af1..4570d33 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -289,13 +289,13 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/6/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/6/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/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">StoreFile.BloomType</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="strong">SplitLogWorker.TaskExecutor.Status</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteCompare</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="strong">RegionOpeningState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">StoreFile.BloomType</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="strong">ScanType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteResult</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="strong">RegionOpeningState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanQueryMatcher.MatchCode</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="strong">SplitLogWorker.TaskExecutor.Status</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/0.94/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index 54750f4..8748203 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -79,8 +79,8 @@
 </ul>
 <h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
 <ul>
-<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/KerberosInfo.html" title="annotation in org.apache.hadoop.hbase.security"><span class="strong">KerberosInfo</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/6/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.security.<a href="../../../../../org/apache/hadoop/hbase/security/TokenInfo.html" title="annotation in org.apache.hadoop.hbase.security"><span class="strong">TokenInfo</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/6/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.security.<a href="../../../../../org/apache/hadoop/hbase/security/KerberosInfo.html" title="annotation in org.apache.hadoop.hbase.security"><span class="strong">KerberosInfo</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/6/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/ecb8d8ba/0.94/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/0.94/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index 58bd1a3..467b2e5 100644
--- a/0.94/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/0.94/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -274,9 +274,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/6/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/6/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/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">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="strong">ChecksumType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">HBaseFsck.ErrorReporter.ERROR_CODE</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="strong">PoolMap.PoolType</span></a></li>
 </ul>
 </li>
 </ul>


[12/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
index 027e36d..6c45914 100644
--- a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
+++ b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
@@ -33,74 +33,77 @@
 <span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import org.apache.hadoop.io.RawComparator;<a name="line.26"></a>
 <span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>/**<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * Just copy data, do not do any kind of compression. Use for comparison and<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * benchmarking.<a name="line.30"></a>
-<span class="sourceLineNo">031</span> */<a name="line.31"></a>
-<span class="sourceLineNo">032</span>public class CopyKeyDataBlockEncoder extends BufferedDataBlockEncoder {<a name="line.32"></a>
-<span class="sourceLineNo">033</span>  @Override<a name="line.33"></a>
-<span class="sourceLineNo">034</span>  public void compressKeyValues(DataOutputStream out,<a name="line.34"></a>
-<span class="sourceLineNo">035</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.35"></a>
-<span class="sourceLineNo">036</span>    in.rewind();<a name="line.36"></a>
-<span class="sourceLineNo">037</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.37"></a>
-<span class="sourceLineNo">038</span>    ByteBufferUtils.moveBufferToStream(out, in, in.limit());<a name="line.38"></a>
-<span class="sourceLineNo">039</span>  }<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>  @Override<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.42"></a>
-<span class="sourceLineNo">043</span>      int preserveHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.43"></a>
-<span class="sourceLineNo">044</span>      throws IOException {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    int decompressedSize = source.readInt();<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.46"></a>
-<span class="sourceLineNo">047</span>        preserveHeaderLength);<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    buffer.position(preserveHeaderLength);<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, decompressedSize);<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>    return buffer;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.28"></a>
+<span class="sourceLineNo">029</span><a name="line.29"></a>
+<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * Just copy data, do not do any kind of compression. Use for comparison and<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * benchmarking.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> */<a name="line.33"></a>
+<span class="sourceLineNo">034</span>@InterfaceAudience.Private<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public class CopyKeyDataBlockEncoder extends BufferedDataBlockEncoder {<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  @Override<a name="line.36"></a>
+<span class="sourceLineNo">037</span>  public void compressKeyValues(DataOutputStream out,<a name="line.37"></a>
+<span class="sourceLineNo">038</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.38"></a>
+<span class="sourceLineNo">039</span>    in.rewind();<a name="line.39"></a>
+<span class="sourceLineNo">040</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.40"></a>
+<span class="sourceLineNo">041</span>    ByteBufferUtils.moveBufferToStream(out, in, in.limit());<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  }<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>  @Override<a name="line.44"></a>
+<span class="sourceLineNo">045</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.45"></a>
+<span class="sourceLineNo">046</span>      int preserveHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.46"></a>
+<span class="sourceLineNo">047</span>      throws IOException {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    int decompressedSize = source.readInt();<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.49"></a>
+<span class="sourceLineNo">050</span>        preserveHeaderLength);<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    buffer.position(preserveHeaderLength);<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, decompressedSize);<a name="line.52"></a>
 <span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  @Override<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    int keyLength = block.getInt(Bytes.SIZEOF_INT);<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    return ByteBuffer.wrap(block.array(),<a name="line.57"></a>
-<span class="sourceLineNo">058</span>        block.arrayOffset() + 3 * Bytes.SIZEOF_INT, keyLength).slice();<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  @Override<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public String toString() {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    return CopyKeyDataBlockEncoder.class.getSimpleName();<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  @Override<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      final boolean includesMemstoreTS) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    return new BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      @Override<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      protected void decodeNext() {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>        current.keyLength = currentBuffer.getInt();<a name="line.73"></a>
-<span class="sourceLineNo">074</span>        current.valueLength = currentBuffer.getInt();<a name="line.74"></a>
-<span class="sourceLineNo">075</span>        current.ensureSpaceForKey();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>        currentBuffer.get(current.keyBuffer, 0, current.keyLength);<a name="line.76"></a>
-<span class="sourceLineNo">077</span>        current.valueOffset = currentBuffer.position();<a name="line.77"></a>
-<span class="sourceLineNo">078</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.78"></a>
-<span class="sourceLineNo">079</span>        if (includesMemstoreTS) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>        } else {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>          current.memstoreTS = 0;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>        }<a name="line.83"></a>
-<span class="sourceLineNo">084</span>        current.nextKvOffset = currentBuffer.position();<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      }<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>      @Override<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      protected void decodeFirst() {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        current.lastCommonPrefix = 0;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>        decodeNext();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      }<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    };<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span>}<a name="line.95"></a>
+<span class="sourceLineNo">054</span>    return buffer;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  }<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  @Override<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    int keyLength = block.getInt(Bytes.SIZEOF_INT);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    return ByteBuffer.wrap(block.array(),<a name="line.60"></a>
+<span class="sourceLineNo">061</span>        block.arrayOffset() + 3 * Bytes.SIZEOF_INT, keyLength).slice();<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  }<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  @Override<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public String toString() {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    return CopyKeyDataBlockEncoder.class.getSimpleName();<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @Override<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      final boolean includesMemstoreTS) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    return new BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      @Override<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      protected void decodeNext() {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>        current.keyLength = currentBuffer.getInt();<a name="line.76"></a>
+<span class="sourceLineNo">077</span>        current.valueLength = currentBuffer.getInt();<a name="line.77"></a>
+<span class="sourceLineNo">078</span>        current.ensureSpaceForKey();<a name="line.78"></a>
+<span class="sourceLineNo">079</span>        currentBuffer.get(current.keyBuffer, 0, current.keyLength);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>        current.valueOffset = currentBuffer.position();<a name="line.80"></a>
+<span class="sourceLineNo">081</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.81"></a>
+<span class="sourceLineNo">082</span>        if (includesMemstoreTS) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        } else {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>          current.memstoreTS = 0;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>        }<a name="line.86"></a>
+<span class="sourceLineNo">087</span>        current.nextKvOffset = currentBuffer.position();<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>      @Override<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      protected void decodeFirst() {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>        current.lastCommonPrefix = 0;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>        decodeNext();<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      }<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    };<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  }<a name="line.97"></a>
+<span class="sourceLineNo">098</span>}<a name="line.98"></a>
 
 
 


[11/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
index 014b293..da0f54b 100644
--- a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
+++ b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
@@ -34,527 +34,530 @@
 <span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import org.apache.hadoop.io.RawComparator;<a name="line.27"></a>
 <span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>/**<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * Compress using:<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * - store size of common prefix<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * - save column family once, it is same within HFile<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * - use bits to avoid duplication key length, value length<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *   and type if it same as previous<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * - store in 3 bits length of timestamp field<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * - allow diff in timestamp instead of actual value<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * Format:<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * - 1 byte:    flag<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * - 1-5 bytes: prefix length<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * - 1-8 bytes: timestamp or diff<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * - ... bytes: value<a name="line.48"></a>
-<span class="sourceLineNo">049</span> */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    long timestamp;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    byte[] familyNameWithSize;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @Override<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      timestamp = in.getLong();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @Override<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    void copyFrom(CompressionState state) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      super.copyFrom(state);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      timestamp = state2.timestamp;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      ByteBuffer in) throws IOException {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    byte flag = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    int kvPos = in.position();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int keyLength = in.getInt();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    int valueLength = in.getInt();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    long timestamp;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    long diffTimestamp = 0;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    int diffTimestampFitsInBytes = 0;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>    int commonPrefix;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    int timestampFitsInBytes;<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>    if (previousState.isFirst()) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      currentState.prevOffset = kvPos;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      timestamp = currentState.timestamp;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (timestamp &lt; 0) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        timestamp = -timestamp;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      commonPrefix = 0;<a name="line.103"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Compress using:<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * - store size of common prefix<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * - save column family once, it is same within HFile<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * - use bits to avoid duplication key length, value length<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *   and type if it same as previous<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * - store in 3 bits length of timestamp field<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * - allow diff in timestamp instead of actual value<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * Format:<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * - 1 byte:    flag<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * - 1-5 bytes: prefix length<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * - 1-8 bytes: timestamp or diff<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * - ... bytes: value<a name="line.50"></a>
+<span class="sourceLineNo">051</span> */<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@InterfaceAudience.Private<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    long timestamp;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    byte[] familyNameWithSize;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @Override<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      timestamp = in.getLong();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    void copyFrom(CompressionState state) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      super.copyFrom(state);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      timestamp = state2.timestamp;<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><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      ByteBuffer in) throws IOException {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    byte flag = 0;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    int kvPos = in.position();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    int keyLength = in.getInt();<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    int valueLength = in.getInt();<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>    long timestamp;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    long diffTimestamp = 0;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    int diffTimestampFitsInBytes = 0;<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>    int commonPrefix;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>    int timestampFitsInBytes;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>    if (previousState.isFirst()) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      currentState.prevOffset = kvPos;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      timestamp = currentState.timestamp;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      if (timestamp &lt; 0) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        timestamp = -timestamp;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.103"></a>
 <span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // put column family<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      in.mark();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.109"></a>
-<span class="sourceLineNo">110</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      in.reset();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    } else {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      // find a common prefix and skip it<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      commonPrefix =<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.115"></a>
-<span class="sourceLineNo">116</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.116"></a>
-<span class="sourceLineNo">117</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      // don't compress timestamp and type using prefix<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          commonPrefix, previousState);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      currentState.prevOffset = kvPos;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      timestamp = currentState.timestamp;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      if (negativeTimestamp) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>        timestamp = -timestamp;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (keyLength == previousState.keyLength) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      if (valueLength == previousState.valueLength) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.134"></a>
+<span class="sourceLineNo">105</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      commonPrefix = 0;<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>      // put column family<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      in.mark();<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.110"></a>
+<span class="sourceLineNo">111</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      in.reset();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    } else {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      // find a common prefix and skip it<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      commonPrefix =<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.118"></a>
+<span class="sourceLineNo">119</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.119"></a>
+<span class="sourceLineNo">120</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      // don't compress timestamp and type using prefix<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.123"></a>
+<span class="sourceLineNo">124</span>          commonPrefix, previousState);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      currentState.prevOffset = kvPos;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      timestamp = currentState.timestamp;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      if (negativeTimestamp) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        timestamp = -timestamp;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>      if (keyLength == previousState.keyLength) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.134"></a>
 <span class="sourceLineNo">135</span>      }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      if (currentState.type == previousState.type) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_TYPE;<a name="line.137"></a>
+<span class="sourceLineNo">136</span>      if (valueLength == previousState.valueLength) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>      }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>      // encode timestamp<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      if (minusDiffTimestamp) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        diffTimestamp = -diffTimestamp;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        if (minusDiffTimestamp) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      } else {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        if (negativeTimestamp) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>    out.write(flag);<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.167"></a>
+<span class="sourceLineNo">139</span>      if (currentState.type == previousState.type) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        flag |= FLAG_SAME_TYPE;<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>      // encode timestamp<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      if (minusDiffTimestamp) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        diffTimestamp = -diffTimestamp;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        if (minusDiffTimestamp) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      } else {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        if (negativeTimestamp) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>    out.write(flag);<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.171"></a>
+<span class="sourceLineNo">169</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<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>    if (previousState.isFirst() ||<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      int restRowLength =<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.178"></a>
-<span class="sourceLineNo">179</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    } else {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.182"></a>
-<span class="sourceLineNo">183</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    } else {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      out.write(currentState.type);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">173</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>    if (previousState.isFirst() ||<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      int restRowLength =<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    } else {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.185"></a>
+<span class="sourceLineNo">186</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    } else {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      out.write(currentState.type);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      ByteBuffer buffer,<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      DiffCompressionState state)<a name="line.202"></a>
-<span class="sourceLineNo">203</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // read the column family at the beginning<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (state.isFirst()) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      state.familyLength = source.readByte();<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      state.familyNameWithSize =<a name="line.207"></a>
-<span class="sourceLineNo">208</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>          state.familyLength);<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // read flag<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    byte flag = source.readByte();<a name="line.215"></a>
+<span class="sourceLineNo">200</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      ByteBuffer buffer,<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      DiffCompressionState state)<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    // read the column family at the beginning<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    if (state.isFirst()) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      state.familyLength = source.readByte();<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      state.familyNameWithSize =<a name="line.210"></a>
+<span class="sourceLineNo">211</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          state.familyLength);<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>    // read key/value/common lengths<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    int keyLength;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    int valueLength;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      keyLength = state.keyLength;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      valueLength = state.valueLength;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    } else {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // create KeyValue buffer and fill it prefix<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    int keyOffset = buffer.position();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.234"></a>
-<span class="sourceLineNo">235</span>        + KeyValue.ROW_OFFSET);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    buffer.putInt(keyLength);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    buffer.putInt(valueLength);<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // copy common from previous key<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    if (commonPrefix &gt; 0) {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // copy the rest of the key from the buffer<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    int keyRestLength;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      // omit the family part of the key, it is always the same<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      short rowLength;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      int rowRestLength;<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>      // check length of row<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        // not yet copied, do it now<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        rowLength = buffer.getShort();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        rowRestLength = rowLength;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        // already in buffer, just read it<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>      // copy the rest of row<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      state.rowLength = rowLength;<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>      // copy the column family<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      buffer.put(state.familyNameWithSize);<a name="line.272"></a>
+<span class="sourceLineNo">217</span>    // read flag<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    byte flag = source.readByte();<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // read key/value/common lengths<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    int keyLength;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    int valueLength;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      keyLength = state.keyLength;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    } else {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      valueLength = state.valueLength;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    } else {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>    // create KeyValue buffer and fill it prefix<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    int keyOffset = buffer.position();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        + KeyValue.ROW_OFFSET);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    buffer.putInt(keyLength);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    buffer.putInt(valueLength);<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>    // copy common from previous key<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    if (commonPrefix &gt; 0) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.244"></a>
+<span class="sourceLineNo">245</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>    // copy the rest of the key from the buffer<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    int keyRestLength;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      // omit the family part of the key, it is always the same<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      short rowLength;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      int rowRestLength;<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>      // check length of row<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        // not yet copied, do it now<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.259"></a>
+<span class="sourceLineNo">260</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        rowLength = buffer.getShort();<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        rowRestLength = rowLength;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      } else {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        // already in buffer, just read it<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<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>      // copy the rest of row<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      state.rowLength = rowLength;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>      keyRestLength = keyLength - rowLength -<a name="line.274"></a>
-<span class="sourceLineNo">275</span>          state.familyNameWithSize.length -<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>    // handle timestamp<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    int timestampFitsInBytes =<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      timestamp = -timestamp;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      timestamp = state.timestamp - timestamp;<a name="line.292"></a>
+<span class="sourceLineNo">274</span>      // copy the column family<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      buffer.put(state.familyNameWithSize);<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>      keyRestLength = keyLength - rowLength -<a name="line.277"></a>
+<span class="sourceLineNo">278</span>          state.familyNameWithSize.length -<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    } else {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    // handle timestamp<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    int timestampFitsInBytes =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      timestamp = -timestamp;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    }<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    buffer.putLong(timestamp);<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    // copy the type field<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    byte type;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      type = state.type;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    } else {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      type = source.readByte();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    buffer.put(type);<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>    // copy value part<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.306"></a>
+<span class="sourceLineNo">294</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      timestamp = state.timestamp - timestamp;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    }<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    buffer.putLong(timestamp);<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>    // copy the type field<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    byte type;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      type = state.type;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    } else {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      type = source.readByte();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    buffer.put(type);<a name="line.306"></a>
 <span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    state.keyLength = keyLength;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    state.valueLength = valueLength;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    state.prevOffset = keyOffset;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    state.timestamp = timestamp;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    state.type = type;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    // state.qualifier is unused<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public void compressKeyValues(DataOutputStream out,<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    in.rewind();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    while (in.hasRemaining()) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      compressSingleKeyValue(previousState, currentState,<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          out, in);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>      // swap previousState &lt;-&gt; currentState<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      DiffCompressionState tmp = previousState;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      previousState = currentState;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      currentState = tmp;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      throws IOException {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    int decompressedSize = source.readInt();<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        allocHeaderLength);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    buffer.position(allocHeaderLength);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    while (source.available() &gt; skipLastBytes) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    if (source.available() != skipLastBytes) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return buffer;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>  }<a name="line.354"></a>
+<span class="sourceLineNo">308</span>    // copy value part<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    state.keyLength = keyLength;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    state.valueLength = valueLength;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    state.prevOffset = keyOffset;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    state.timestamp = timestamp;<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    state.type = type;<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    // state.qualifier is unused<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>  @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public void compressKeyValues(DataOutputStream out,<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    in.rewind();<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    while (in.hasRemaining()) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      compressSingleKeyValue(previousState, currentState,<a name="line.327"></a>
+<span class="sourceLineNo">328</span>          out, in);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>      // swap previousState &lt;-&gt; currentState<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      DiffCompressionState tmp = previousState;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      previousState = currentState;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      currentState = tmp;<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  }<a name="line.336"></a>
+<span class="sourceLineNo">337</span><a name="line.337"></a>
+<span class="sourceLineNo">338</span>  @Override<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      throws IOException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    int decompressedSize = source.readInt();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        allocHeaderLength);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    buffer.position(allocHeaderLength);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    while (source.available() &gt; skipLastBytes) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (source.available() != skipLastBytes) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
 <span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>  @Override<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    block.mark();<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    block.position(Bytes.SIZEOF_INT);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    byte familyLength = block.get();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    byte flag = block.get();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>    // copy row<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    int pos = result.arrayOffset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    short rowLength = result.getShort();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    block.get(result.array(), pos, rowLength);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    pos += rowLength;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    // copy family<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    int savePosition = block.position();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    block.position(Bytes.SIZEOF_INT);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.380"></a>
-<span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // copy qualifier<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    block.position(savePosition);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    int qualifierLength =<a name="line.384"></a>
-<span class="sourceLineNo">385</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    block.get(result.array(), pos, qualifierLength);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    pos += qualifierLength;<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // copy the timestamp and type<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    int timestampFitInBytes =<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      timestamp = -timestamp;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    result.putLong(pos, timestamp);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    pos += Bytes.SIZEOF_LONG;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>    block.reset();<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return result;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  @Override<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public String toString() {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>  protected static class DiffSeekerState extends SeekerState {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    private int rowLengthWithSize;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    private long timestamp;<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>    @Override<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    protected void copyFromNext(SeekerState that) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      super.copyFromNext(that);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      timestamp = other.timestamp;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @Override<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      final boolean includesMemstoreTS) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      private byte[] familyNameWithSize;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.427"></a>
-<span class="sourceLineNo">428</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>      private void decode(boolean isFirst) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        byte flag = currentBuffer.get();<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        byte type = 0;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          if (!isFirst) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          current.valueLength =<a name="line.440"></a>
-<span class="sourceLineNo">441</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        }<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        current.lastCommonPrefix =<a name="line.443"></a>
-<span class="sourceLineNo">444</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>        current.ensureSpaceForKey();<a name="line.446"></a>
-<span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          // length of row is different, copy everything except family<a name="line.449"></a>
+<span class="sourceLineNo">356</span>    return buffer;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    block.mark();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    block.position(Bytes.SIZEOF_INT);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    byte familyLength = block.get();<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    byte flag = block.get();<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    // copy row<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    int pos = result.arrayOffset();<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    short rowLength = result.getShort();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    block.get(result.array(), pos, rowLength);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    pos += rowLength;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    // copy family<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    int savePosition = block.position();<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    block.position(Bytes.SIZEOF_INT);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.383"></a>
+<span class="sourceLineNo">384</span><a name="line.384"></a>
+<span class="sourceLineNo">385</span>    // copy qualifier<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    block.position(savePosition);<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    int qualifierLength =<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    block.get(result.array(), pos, qualifierLength);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    pos += qualifierLength;<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    // copy the timestamp and type<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    int timestampFitInBytes =<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      timestamp = -timestamp;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    result.putLong(pos, timestamp);<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    pos += Bytes.SIZEOF_LONG;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>    block.reset();<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    return result;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  @Override<a name="line.407"></a>
+<span class="sourceLineNo">408</span>  public String toString() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<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>  protected static class DiffSeekerState extends SeekerState {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    private int rowLengthWithSize;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    private long timestamp;<a name="line.414"></a>
+<span class="sourceLineNo">415</span><a name="line.415"></a>
+<span class="sourceLineNo">416</span>    @Override<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    protected void copyFromNext(SeekerState that) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      super.copyFromNext(that);<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      timestamp = other.timestamp;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  @Override<a name="line.425"></a>
+<span class="sourceLineNo">426</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      final boolean includesMemstoreTS) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      private byte[] familyNameWithSize;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.430"></a>
+<span class="sourceLineNo">431</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>      private void decode(boolean isFirst) {<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        byte flag = currentBuffer.get();<a name="line.434"></a>
+<span class="sourceLineNo">435</span>        byte type = 0;<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>          if (!isFirst) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          }<a name="line.439"></a>
+<span class="sourceLineNo">440</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>          current.valueLength =<a name="line.443"></a>
+<span class="sourceLineNo">444</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>        }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        current.lastCommonPrefix =<a name="line.446"></a>
+<span class="sourceLineNo">447</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.447"></a>
+<span class="sourceLineNo">448</span><a name="line.448"></a>
+<span class="sourceLineNo">449</span>        current.ensureSpaceForKey();<a name="line.449"></a>
 <span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>          // copy the row size<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.454"></a>
-<span class="sourceLineNo">455</span>              Bytes.SIZEOF_SHORT;<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span>          // copy the rest of row<a name="line.457"></a>
-<span class="sourceLineNo">458</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.458"></a>
-<span class="sourceLineNo">459</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.459"></a>
-<span class="sourceLineNo">460</span><a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // copy the column family<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          System.arraycopy(familyNameWithSize, 0, current.keyBuffer,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>              current.rowLengthWithSize, familyNameWithSize.length);<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>          // copy the qualifier<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          currentBuffer.get(current.keyBuffer,<a name="line.466"></a>
-<span class="sourceLineNo">467</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.467"></a>
-<span class="sourceLineNo">468</span>              current.keyLength - current.rowLengthWithSize -<a name="line.468"></a>
-<span class="sourceLineNo">469</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        } else if (current.lastCommonPrefix &lt; current.rowLengthWithSize) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>          // we have to copy part of row and qualifier,<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          // but column family is in right place<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>          // before column family (rest of row)<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>              current.rowLengthWithSize - current.lastCommonPrefix);<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>          // after column family (qualifier)<a name="line.478"></a>
-<span class="sourceLineNo">479</span>          currentBuffer.get(current.keyBuffer,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.480"></a>
-<span class="sourceLineNo">481</span>              current.keyLength - current.rowLengthWithSize -<a name="line.481"></a>
-<span class="sourceLineNo">482</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>        } else {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>          // copy just the ending<a name="line.484"></a>
-<span class="sourceLineNo">485</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH -<a name="line.486"></a>
-<span class="sourceLineNo">487</span>              current.lastCommonPrefix);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        }<a name="line.488"></a>
-<span class="sourceLineNo">489</span><a name="line.489"></a>
-<span class="sourceLineNo">490</span>        // timestamp<a name="line.490"></a>
-<span class="sourceLineNo">491</span>        int pos = current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        int timestampFitInBytes = 1 +<a name="line.492"></a>
-<span class="sourceLineNo">493</span>            ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        long timestampOrDiff =<a name="line.494"></a>
-<span class="sourceLineNo">495</span>            ByteBufferUtils.readLong(currentBuffer, timestampFitInBytes);<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>          timestampOrDiff = -timestampOrDiff;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) { // it is timestamp<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          current.timestamp = timestampOrDiff;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        } else { // it is diff<a name="line.501"></a>
-<span class="sourceLineNo">502</span>          current.timestamp = current.timestamp - timestampOrDiff;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        }<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        Bytes.putLong(current.keyBuffer, pos, current.timestamp);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        pos += Bytes.SIZEOF_LONG;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>        // type<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          currentBuffer.get(current.keyBuffer, pos, Bytes.SIZEOF_BYTE);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        } else if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          current.keyBuffer[pos] = type;<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>        current.valueOffset = currentBuffer.position();<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.515"></a>
+<span class="sourceLineNo">451</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          // length of row is different, copy everything except family<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>          // copy the row size<a name="line.454"></a>
+<span class="sourceLineNo">455</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.455"></a>
+<span class="sourceLineNo">456</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.457"></a>
+<span class="sourceLineNo">458</span>              Bytes.SIZEOF_SHORT;<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span>          // copy the rest of row<a name="line.460"></a>
+<span class="sourceLineNo">461</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.461"></a>
+<span class="sourceLineNo">462</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.462"></a>
+<span class="sourceLineNo">463</span><a name="line.463"></a>
+<span class="sourceLineNo">464</s

<TRUNCATED>

[27/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
index 10caf89..60a5852 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
@@ -99,7 +99,8 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.32">CopyKeyDataBlockEncoder</a>
+<pre>@InterfaceAudience.Private
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.35">CopyKeyDataBlockEncoder</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Just copy data, do not do any kind of compression. Use for comparison and
  benchmarking.</div>
@@ -249,7 +250,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CopyKeyDataBlockEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.32">CopyKeyDataBlockEncoder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.35">CopyKeyDataBlockEncoder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -266,7 +267,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compressKeyValues</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.34">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.37">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                      <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                      boolean&nbsp;includesMemstoreTS)
                        throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -284,7 +285,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.42">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.45">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              int&nbsp;preserveHeaderLength,
                              int&nbsp;skipLastBytes,
                              boolean&nbsp;includesMemstoreTS)
@@ -304,7 +305,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKeyInBlock</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.55">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.58">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#getFirstKeyInBlock(java.nio.ByteBuffer)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Return first key in block. Useful for indexing. Typically does not make
  a deep copy but returns a buffer wrapping a segment of the actual block's
@@ -320,7 +321,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/CopyKeyDataBlockEncoder.html#line.63">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/CopyKeyDataBlockEncoder.html#line.66">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -333,7 +334,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createSeeker</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.68">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html#line.71">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
                                           boolean&nbsp;includesMemstoreTS)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#createSeeker(org.apache.hadoop.io.RawComparator,%20boolean)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Create a HFileBlock seeker which find KeyValues within a block.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html
index cdd84c1..096894e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html
@@ -162,7 +162,7 @@
                                 int&nbsp;length,
                                 boolean&nbsp;seekBefore)</code>
 <div class="block">Moves the seeker position within the current block to:
-
+ 
  the last key that that is less than or equal to the given key if
  <code>seekBefore</code> is false
  the last key that is strictly less than the given key if <code>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html
index 93c5e48..7eb4bee 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html
@@ -356,7 +356,7 @@ for (DataBlockEncoding c : DataBlockEncoding.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html" title="enum in org.apache.hadoop.hbase.io.encoding">DataBlockEncoding</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DataBlockEncoding.html#line.180">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
index 4c8bd3c..08ef242 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.59">DiffKeyDeltaEncoder.DiffCompressionState</a>
+<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.62">DiffKeyDeltaEncoder.DiffCompressionState</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -170,7 +170,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DiffKeyDeltaEncoder.DiffCompressionState</h4>
-<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html#line.59">DiffKeyDeltaEncoder.DiffCompressionState</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html#line.62">DiffKeyDeltaEncoder.DiffCompressionState</a>()</pre>
 </li>
 </ul>
 </li>
@@ -187,7 +187,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>readTimestamp</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html#line.64">readTimestamp</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html#line.67">readTimestamp</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
index f18a7fc..d4751d4 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
@@ -104,7 +104,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.409">DiffKeyDeltaEncoder.DiffSeekerState</a>
+<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.412">DiffKeyDeltaEncoder.DiffSeekerState</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.SeekerState.html" title="class in org.apache.hadoop.hbase.io.encoding">BufferedDataBlockEncoder.SeekerState</a></pre>
 </li>
 </ul>
@@ -200,7 +200,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedD
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DiffKeyDeltaEncoder.DiffSeekerState</h4>
-<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html#line.409">DiffKeyDeltaEncoder.DiffSeekerState</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html#line.412">DiffKeyDeltaEncoder.DiffSeekerState</a>()</pre>
 </li>
 </ul>
 </li>
@@ -217,7 +217,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedD
 <ul class="blockListLast">
 <li class="blockList">
 <h4>copyFromNext</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html#line.414">copyFromNext</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.SeekerState.html" title="class in org.apache.hadoop.hbase.io.encoding">BufferedDataBlockEncoder.SeekerState</a>&nbsp;that)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html#line.417">copyFromNext</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.SeekerState.html" title="class in org.apache.hadoop.hbase.io.encoding">BufferedDataBlockEncoder.SeekerState</a>&nbsp;that)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.SeekerState.html#copyFromNext(org.apache.hadoop.hbase.io.encoding.BufferedDataBlockEncoder.SeekerState)">BufferedDataBlockEncoder.SeekerState</a></code></strong></div>
 <div class="block">Copy the state from the next one into this instance (the previous state
  placeholder). Used to save the previous state when we are advancing the

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
index dfb4703..20b4163 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
@@ -99,7 +99,8 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.50">DiffKeyDeltaEncoder</a>
+<pre>@InterfaceAudience.Private
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.53">DiffKeyDeltaEncoder</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Compress using:
  - store size of common prefix
@@ -274,7 +275,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DiffKeyDeltaEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.50">DiffKeyDeltaEncoder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.53">DiffKeyDeltaEncoder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -291,7 +292,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compressKeyValues</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.317">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.320">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                      <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                      boolean&nbsp;includesMemstoreTS)
                        throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -309,7 +310,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.336">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.339">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              int&nbsp;allocHeaderLength,
                              int&nbsp;skipLastBytes,
                              boolean&nbsp;includesMemstoreTS)
@@ -329,7 +330,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKeyInBlock</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.357">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.360">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#getFirstKeyInBlock(java.nio.ByteBuffer)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Return first key in block. Useful for indexing. Typically does not make
  a deep copy but returns a buffer wrapping a segment of the actual block's
@@ -345,7 +346,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/DiffKeyDeltaEncoder.html#line.405">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/DiffKeyDeltaEncoder.html#line.408">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -358,7 +359,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createSeeker</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.423">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html#line.426">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
                                           boolean&nbsp;includesMemstoreTS)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#createSeeker(org.apache.hadoop.io.RawComparator,%20boolean)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Create a HFileBlock seeker which find KeyValues within a block.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
index 7a26fdd..163e037 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
@@ -104,7 +104,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.400">FastDiffDeltaEncoder.FastDiffSeekerState</a>
+<pre>protected static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.403">FastDiffDeltaEncoder.FastDiffSeekerState</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.SeekerState.html" title="class in org.apache.hadoop.hbase.io.encoding">BufferedDataBlockEncoder.SeekerState</a></pre>
 </li>
 </ul>
@@ -200,7 +200,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedD
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FastDiffDeltaEncoder.FastDiffSeekerState</h4>
-<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html#line.400">FastDiffDeltaEncoder.FastDiffSeekerState</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html#line.403">FastDiffDeltaEncoder.FastDiffSeekerState</a>()</pre>
 </li>
 </ul>
 </li>
@@ -217,7 +217,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedD
 <ul class="blockListLast">
 <li class="blockList">
 <h4>copyFromNext</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html#line.407">copyFromNext</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.SeekerState.html" title="class in org.apache.hadoop.hbase.io.encoding">BufferedDataBlockEncoder.SeekerState</a>&nbsp;that)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html#line.410">copyFromNext</a>(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.SeekerState.html" title="class in org.apache.hadoop.hbase.io.encoding">BufferedDataBlockEncoder.SeekerState</a>&nbsp;that)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.SeekerState.html#copyFromNext(org.apache.hadoop.hbase.io.encoding.BufferedDataBlockEncoder.SeekerState)">BufferedDataBlockEncoder.SeekerState</a></code></strong></div>
 <div class="block">Copy the state from the next one into this instance (the previous state
  placeholder). Used to save the previous state when we are advancing the

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
index 7b1dd7b..02cb253 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
@@ -99,7 +99,8 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.55">FastDiffDeltaEncoder</a>
+<pre>@InterfaceAudience.Private
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.58">FastDiffDeltaEncoder</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Encoder similar to <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html" title="class in org.apache.hadoop.hbase.io.encoding"><code>DiffKeyDeltaEncoder</code></a> but supposedly faster.
 
@@ -273,7 +274,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FastDiffDeltaEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.55">FastDiffDeltaEncoder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.58">FastDiffDeltaEncoder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -290,7 +291,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compressKeyValues</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.344">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.347">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;out,
                      <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                      boolean&nbsp;includesMemstoreTS)
                        throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -308,7 +309,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.363">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.366">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              int&nbsp;allocHeaderLength,
                              int&nbsp;skipLastBytes,
                              boolean&nbsp;includesMemstoreTS)
@@ -328,7 +329,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKeyInBlock</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.384">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.387">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#getFirstKeyInBlock(java.nio.ByteBuffer)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Return first key in block. Useful for indexing. Typically does not make
  a deep copy but returns a buffer wrapping a segment of the actual block's
@@ -344,7 +345,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/FastDiffDeltaEncoder.html#line.396">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/FastDiffDeltaEncoder.html#line.399">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -357,7 +358,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createSeeker</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.419">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html#line.422">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
                                           boolean&nbsp;includesMemstoreTS)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#createSeeker(org.apache.hadoop.io.RawComparator,%20boolean)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Create a HFileBlock seeker which find KeyValues within a block.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
index 57f69f3..16b453f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
@@ -99,7 +99,8 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.43">PrefixKeyDeltaEncoder</a>
+<pre>@InterfaceAudience.Private
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.46">PrefixKeyDeltaEncoder</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Compress key by storing size of common prefix with previous KeyValue
  and storing raw size of rest.
@@ -258,7 +259,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PrefixKeyDeltaEncoder</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.43">PrefixKeyDeltaEncoder</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.46">PrefixKeyDeltaEncoder</a>()</pre>
 </li>
 </ul>
 </li>
@@ -275,7 +276,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compressKeyValues</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.76">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;writeHere,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.79">compressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a>&nbsp;writeHere,
                      <a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;in,
                      boolean&nbsp;includesMemstoreTS)
                        throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -293,7 +294,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>uncompressKeyValues</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.92">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.95">uncompressKeyValues</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/io/DataInputStream.html?is-external=true" title="class or interface in java.io">DataInputStream</a>&nbsp;source,
                              int&nbsp;allocHeaderLength,
                              int&nbsp;skipLastBytes,
                              boolean&nbsp;includesMemstoreTS)
@@ -313,7 +314,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstKeyInBlock</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.145">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.148">getFirstKeyInBlock</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;block)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#getFirstKeyInBlock(java.nio.ByteBuffer)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Return first key in block. Useful for indexing. Typically does not make
  a deep copy but returns a buffer wrapping a segment of the actual block's
@@ -329,7 +330,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/PrefixKeyDeltaEncoder.html#line.161">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/io/encoding/PrefixKeyDeltaEncoder.html#line.164">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -342,7 +343,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createSeeker</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.166">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html#line.169">createSeeker</a>(org.apache.hadoop.io.RawComparator&lt;byte[]&gt;&nbsp;comparator,
                                           boolean&nbsp;includesMemstoreTS)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html#createSeeker(org.apache.hadoop.io.RawComparator,%20boolean)">DataBlockEncoder</a></code></strong></div>
 <div class="block">Create a HFileBlock seeker which find KeyValues within a block.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html
index 5211d18..78438c2 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html
@@ -102,7 +102,7 @@
 <pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html#line.37">BlockCacheColumnFamilySummary</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.hadoop.io.Writable, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheColumnFamilySummary</a>&gt;</pre>
-<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage
+<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage 
  at Table/ColumnFamily granularity.
  <br><br>
  As ColumnFamilies are owned by Tables, a summary by ColumnFamily implies that

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html
index 9a5405b..f734d5e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html
@@ -297,7 +297,7 @@ for (BlockType.BlockCategory c : BlockType.BlockCategory.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType.BlockCategory</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html#line.110">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockType.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockType.html b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockType.html
index 44d348d..a678b68 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockType.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/BlockType.html
@@ -514,7 +514,7 @@ for (BlockType c : BlockType.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile">BlockType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/BlockType.html#line.154">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/Compression.Algorithm.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/Compression.Algorithm.html b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/Compression.Algorithm.html
index 376b500..d73be90 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/Compression.Algorithm.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/Compression.Algorithm.html
@@ -313,7 +313,7 @@ for (Compression.Algorithm c : Compression.Algorithm.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.hfile">Compression.Algorithm</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/Compression.Algorithm.html#line.186">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html
index 6eeba1d..5085525 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.html
@@ -101,8 +101,8 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
  variable parts of the file. Also includes basic metadata on this file. The
  trailer size is fixed within a given <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile"><code>HFile</code></a> format version only, but
  we always store the version number as the last four-byte integer of the file.
- The version number itself is split into two portions, a major
- version and a minor version.
+ The version number itself is split into two portions, a major 
+ version and a minor version. 
  The last three bytes of a file is the major
  version and a single preceding byte is the minor number. The major version
  determines which readers/writers to use to read/write a hfile while a minor

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.html b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.html
index e57bd44..4c8963b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.html
@@ -338,7 +338,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.html" title="class in org.apache.hadoop.hbase.io.hfile">HFileBlock</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.html#line.1217">getBlockForCaching</a>()</pre>
 <div class="block">Creates a new HFileBlock. Checksums have already been validated, so
  the byte buffer passed into the constructor of this newly created
- block does not have checksum data even though the header minor
+ block does not have checksum data even though the header minor 
  version is MINOR_VERSION_WITH_CHECKSUM. This is indicated by setting a
  0 value in bytesPerChecksum.</div>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.html b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.html
index e4f0663..e2aa786 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/HFileBlock.html
@@ -122,7 +122,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable
  <li>Uncompressed block size, header not included (4 bytes)
  <li>The offset of the previous block of the same type (8 bytes). This is
  used to be able to navigate to the previous block without going to the block
- <li>For minorVersions >=1, there is an additional 4 byte field
+ <li>For minorVersions >=1, there is an additional 4 byte field 
  bytesPerChecksum that records the number of bytes in a checksum chunk.
  <li>For minorVersions >=1, there is a 4 byte value to store the size of
  data on disk (excluding the checksums)

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/package-summary.html
index dc17ebe..b01feb0 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/package-summary.html
@@ -181,7 +181,7 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheColumnFamilySummary</a></td>
 <td class="colLast">
-<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage
+<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage 
  at Table/ColumnFamily granularity.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/package-use.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/package-use.html b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/package-use.html
index 01ae1e6..e79fca2 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/package-use.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/hfile/package-use.html
@@ -205,7 +205,7 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheColumnFamilySummary.html#org.apache.hadoop.hbase.io.hfile">BlockCacheColumnFamilySummary</a>
-<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage
+<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage 
  at Table/ColumnFamily granularity.</div>
 </td>
 </tr>
@@ -370,7 +370,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheColumnFamilySummary.html#org.apache.hadoop.hbase.io.hfile.slab">BlockCacheColumnFamilySummary</a>
-<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage
+<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage 
  at Table/ColumnFamily granularity.</div>
 </td>
 </tr>
@@ -403,7 +403,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheColumnFamilySummary.html#org.apache.hadoop.hbase.ipc">BlockCacheColumnFamilySummary</a>
-<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage
+<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage 
  at Table/ColumnFamily granularity.</div>
 </td>
 </tr>
@@ -421,7 +421,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/hadoop/hbase/io/hfile/class-use/BlockCacheColumnFamilySummary.html#org.apache.hadoop.hbase.regionserver">BlockCacheColumnFamilySummary</a>
-<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage
+<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage 
  at Table/ColumnFamily granularity.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/ipc/HRegionInterface.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/ipc/HRegionInterface.html b/0.94/apidocs/org/apache/hadoop/hbase/ipc/HRegionInterface.html
index 9d997d4..25be92a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/ipc/HRegionInterface.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/ipc/HRegionInterface.html
@@ -1126,9 +1126,9 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ipc/VersionedProtocol.ht
                               throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Opens the specified region.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>region</code> - region to open</dd>
-<dt><span class="strong">Returns:</span></dt><dd>RegionOpeningState
+<dt><span class="strong">Returns:</span></dt><dd>RegionOpeningState 
          OPENED         - if region open request was successful.
-         ALREADY_OPENED - if the region was already opened.
+         ALREADY_OPENED - if the region was already opened. 
          FAILED_OPENING - if region opening failed.</dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -1146,9 +1146,9 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ipc/VersionedProtocol.ht
 <div class="block">Opens the specified region.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>region</code> - region to open</dd><dd><code>versionOfOfflineNode</code> - the version of znode to compare when RS transitions the znode from
           OFFLINE state.</dd>
-<dt><span class="strong">Returns:</span></dt><dd>RegionOpeningState
+<dt><span class="strong">Returns:</span></dt><dd>RegionOpeningState 
          OPENED         - if region open request was successful.
-         ALREADY_OPENED - if the region was already opened.
+         ALREADY_OPENED - if the region was already opened. 
          FAILED_OPENING - if region opening failed.</dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/Import.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/Import.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/Import.html
index 0cb2e36..c239b2a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/Import.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/Import.html
@@ -211,9 +211,9 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
                        <a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;renameMap)</pre>
 <div class="block"><p>Sets a configuration property with key <a href="../../../../../org/apache/hadoop/hbase/mapreduce/Import.html#CF_RENAME_PROP"><code>CF_RENAME_PROP</code></a> in conf that tells
  the mapper how to rename column families.
-
- <p>Alternately, instead of calling this function, you could set the configuration key
- <a href="../../../../../org/apache/hadoop/hbase/mapreduce/Import.html#CF_RENAME_PROP"><code>CF_RENAME_PROP</code></a> yourself. The value should look like
+ 
+ <p>Alternately, instead of calling this function, you could set the configuration key 
+ <a href="../../../../../org/apache/hadoop/hbase/mapreduce/Import.html#CF_RENAME_PROP"><code>CF_RENAME_PROP</code></a> yourself. The value should look like 
  <pre>srcCf1:destCf1,srcCf2:destCf2,....</pre>. This would have the same effect on
  the mapper behavior.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>conf</code> - the Configuration in which the <a href="../../../../../org/apache/hadoop/hbase/mapreduce/Import.html#CF_RENAME_PROP"><code>CF_RENAME_PROP</code></a> key will be

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
index afa9830..a48e9f4 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html
@@ -410,10 +410,10 @@ implements org.apache.hadoop.util.Tool</pre>
 <div class="block">Attempts to do an atomic load of many hfiles into a region.  If it fails,
  it returns a list of hfiles that need to be retried.  If it is successful
  it will return an empty list.
-
+ 
  NOTE: To maintain row atomicity guarantees, region server callable should
  succeed atomically and fails atomically.
-
+ 
  Protected for testing.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>empty list if success, list of items to retry on recoverable
  failure</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html
index 2695011..b8fc89f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html
@@ -114,7 +114,7 @@
 public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html#line.59">MultiTableInputFormat</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">MultiTableInputFormatBase</a>
 implements org.apache.hadoop.conf.Configurable</pre>
-<div class="block">Convert HBase tabular data from multiple scanners into a format that
+<div class="block">Convert HBase tabular data from multiple scanners into a format that 
  is consumable by Map/Reduce.
 
  <p>
@@ -123,7 +123,7 @@ implements org.apache.hadoop.conf.Configurable</pre>
 
  <pre>
  List<Scan> scans = new ArrayList<Scan>();
-
+ 
  Scan scan1 = new Scan();
  scan1.setStartRow(firstRow1);
  scan1.setStopRow(lastRow1);

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/PutSortReducer.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/PutSortReducer.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/PutSortReducer.html
index 19988a8..7832ea8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/PutSortReducer.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/PutSortReducer.html
@@ -106,7 +106,7 @@ extends org.apache.hadoop.mapreduce.Reducer&lt;<a href="../../../../../org/apach
  Reads in all Puts from passed Iterator, sorts them, then emits
  Puts in sorted order.  If lots of columns per row, it will use lots of
  memory sorting.</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>HFileOutputFormat</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>HFileOutputFormat</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/mapreduce/KeyValueSortReducer.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>KeyValueSortReducer</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html
index 9f23dcd..e924ec8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html
@@ -118,7 +118,7 @@ implements org.apache.hadoop.conf.Configurable</pre>
  divided in ten will not make regions whose range is 0-10, 10-20, and so on.
  Make your own partitioner if you need the region spacing to come out a
  particular way.</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html#START"><code>START</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html#START"><code>START</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html#END"><code>END</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
index b9de25f..32fa284 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
@@ -781,7 +781,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
  </p></div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>conf</code> - The Configuration object to extend with dependencies.</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/mapred/TableMapReduceUtil.html" title="class in org.apache.hadoop.hbase.mapred"><code>TableMapReduceUtil</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/mapred/TableMapReduceUtil.html" title="class in org.apache.hadoop.hbase.mapred"><code>TableMapReduceUtil</code></a>, 
 <a href="https://issues.apache.org/jira/browse/PIG-3285">PIG-3285</a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableOutputFormat.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableOutputFormat.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableOutputFormat.html
index 2acb950..6c189b8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableOutputFormat.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableOutputFormat.html
@@ -281,7 +281,7 @@ implements org.apache.hadoop.conf.Configurable</pre>
 <div class="block">Optional job parameter to specify a peer cluster.
  Used specifying remote cluster when copying between hbase clusters (the
  source is picked up from <code>hbase-site.xml</code>).</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initTableReducerJob(java.lang.String,%20java.lang.Class,%20org.apache.hadoop.mapreduce.Job,%20java.lang.Class,%20java.lang.String,%20java.lang.String,%20java.lang.String)"><code>TableMapReduceUtil.initTableReducerJob(String, Class, org.apache.hadoop.mapreduce.Job, Class, String, String, String)</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initTableReducerJob(java.lang.String,%20java.lang.Class,%20org.apache.hadoop.mapreduce.Job,%20java.lang.Class,%20java.lang.String,%20java.lang.String,%20java.lang.String)"><code>TableMapReduceUtil.initTableReducerJob(String, Class, org.apache.hadoop.mapreduce.Job, Class, String, String, String)</code></a>, 
 <a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.TableOutputFormat.QUORUM_ADDRESS">Constant Field Values</a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html
index 58ba4e6..11d0bb7 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.html
@@ -114,7 +114,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
  Usage is similar to TableInputFormat.
  <a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initTableSnapshotMapperJob(java.lang.String,%20org.apache.hadoop.hbase.client.Scan,%20java.lang.Class,%20java.lang.Class,%20java.lang.Class,%20org.apache.hadoop.mapreduce.Job,%20boolean,%20org.apache.hadoop.fs.Path)"><code>TableMapReduceUtil.initTableSnapshotMapperJob(String, Scan, Class, Class, Class, Job,
  boolean, Path)</code></a> can be used to configure the job.
-
+ 
  <pre>
  {
    &#064;code
@@ -134,12 +134,12 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
  <p>
  HBase owns all the data and snapshot files on the filesystem. Only the HBase user can read from
  snapshot files and data files. HBase also enforces security because all the requests are handled
- by the server layer, and the user cannot read from the data files directly.
- To read from snapshot files directly from the file system, the user who is running the MR job
- must have sufficient permissions to access snapshot and reference files.
- This means that to run mapreduce over snapshot files, the MR job has to be run as the HBase
- user or the user must have group or other priviledges in the filesystem (See HBASE-8369).
- Note that, given other users access to read from snapshot/data files will completely circumvent
+ by the server layer, and the user cannot read from the data files directly. 
+ To read from snapshot files directly from the file system, the user who is running the MR job 
+ must have sufficient permissions to access snapshot and reference files. 
+ This means that to run mapreduce over snapshot files, the MR job has to be run as the HBase 
+ user or the user must have group or other priviledges in the filesystem (See HBASE-8369). 
+ Note that, given other users access to read from snapshot/data files will completely circumvent 
  the access control enforced by HBase.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/class-use/MultiTableInputFormatBase.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/class-use/MultiTableInputFormatBase.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/class-use/MultiTableInputFormatBase.html
index 4600130..5c7a2df 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/class-use/MultiTableInputFormatBase.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/class-use/MultiTableInputFormatBase.html
@@ -100,7 +100,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility</div>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">MultiTableInputFormat</a></strong></code>
-<div class="block">Convert HBase tabular data from multiple scanners into a format that
+<div class="block">Convert HBase tabular data from multiple scanners into a format that 
  is consumable by Map/Reduce.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/hadoopbackport/JarFinder.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/hadoopbackport/JarFinder.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/hadoopbackport/JarFinder.html
index 7ef70e1..cdc41b8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/hadoopbackport/JarFinder.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/hadoopbackport/JarFinder.html
@@ -101,7 +101,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
  classpath, it creates a Jar on the fly with the contents of the directory
  and returns the path to that Jar. If a Jar is created, it is created in
  the system temporary directory.
-
+ 
  This file was forked from hadoop/common/branches/branch-2@1377176.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/hadoopbackport/TotalOrderPartitioner.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/hadoopbackport/TotalOrderPartitioner.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/hadoopbackport/TotalOrderPartitioner.html
index 9255cca..1c6ac78 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/hadoopbackport/TotalOrderPartitioner.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/hadoopbackport/TotalOrderPartitioner.html
@@ -109,7 +109,7 @@ extends org.apache.hadoop.mapreduce.Partitioner&lt;K,V&gt;
 implements org.apache.hadoop.conf.Configurable</pre>
 <div class="block">Partitioner effecting a total order by reading split points from
  an externally generated source.
-
+ 
  This is an identical copy of o.a.h.mapreduce.lib.partition.TotalOrderPartitioner
  from Hadoop trunk at r910774.</div>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html
index 38f5b47..81eb7b5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html
@@ -169,7 +169,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility</div>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">MultiTableInputFormat</a></td>
 <td class="colLast">
-<div class="block">Convert HBase tabular data from multiple scanners into a format that
+<div class="block">Convert HBase tabular data from multiple scanners into a format that 
  is consumable by Map/Reduce.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.Verifier.Counters.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.Verifier.Counters.html b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.Verifier.Counters.html
index a6e4ec3..47dc91a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.Verifier.Counters.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.Verifier.Counters.html
@@ -242,7 +242,7 @@ for (VerifyReplication.Verifier.Counters c : VerifyReplication.Verifier.Counters
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.Verifier.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce.replication">VerifyReplication.Verifier.Counters</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.Verifier.Counters.html#line.78">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/master/AssignCallable.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/master/AssignCallable.html b/0.94/apidocs/org/apache/hadoop/hbase/master/AssignCallable.html
index 9acbc65..8df1704 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/master/AssignCallable.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/master/AssignCallable.html
@@ -103,7 +103,7 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</pre>
 <div class="block">A callable object that invokes the corresponding action that needs to be
- taken for assignment of a region in transition.
+ taken for assignment of a region in transition. 
  Implementing as future callable we are able to act on the timeout
  asynchronously.</div>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/master/AssignmentManager.RegionState.State.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/master/AssignmentManager.RegionState.State.html b/0.94/apidocs/org/apache/hadoop/hbase/master/AssignmentManager.RegionState.State.html
index 7cbe8d5..1ce9f51 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/master/AssignmentManager.RegionState.State.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/master/AssignmentManager.RegionState.State.html
@@ -326,7 +326,7 @@ for (AssignmentManager.RegionState.State c : AssignmentManager.RegionState.State
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/AssignmentManager.RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">AssignmentManager.RegionState.State</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/AssignmentManager.RegionState.State.html#line.81">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/master/DefaultLoadBalancer.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/master/DefaultLoadBalancer.html b/0.94/apidocs/org/apache/hadoop/hbase/master/DefaultLoadBalancer.html
index a080172..a1d29b3 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/master/DefaultLoadBalancer.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/master/DefaultLoadBalancer.html
@@ -320,21 +320,21 @@ implements <a href="../../../../../org/apache/hadoop/hbase/master/LoadBalancer.h
  have either floor(average) or ceiling(average) regions.
 
  HBASE-3609 Modeled regionsToMove using Guava's MinMaxPriorityQueue so that
-   we can fetch from both ends of the queue.
- At the beginning, we check whether there was empty region server
+   we can fetch from both ends of the queue. 
+ At the beginning, we check whether there was empty region server 
    just discovered by Master. If so, we alternately choose new / old
    regions from head / tail of regionsToMove, respectively. This alternation
    avoids clustering young regions on the newly discovered region server.
    Otherwise, we choose new regions from head of regionsToMove.
-
+   
  Another improvement from HBASE-3609 is that we assign regions from
    regionsToMove to underloaded servers in round-robin fashion.
    Previously one underloaded server would be filled before we move onto
    the next underloaded server, leading to clustering of young regions.
-
+   
  Finally, we randomly shuffle underloaded servers so that they receive
    offloaded regions relatively evenly across calls to balanceCluster().
-
+         
  The algorithm is currently implemented as such:
 
  <ol>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/master/HMaster.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/master/HMaster.html b/0.94/apidocs/org/apache/hadoop/hbase/master/HMaster.html
index a646851..fe56afe 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/master/HMaster.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/master/HMaster.html
@@ -122,8 +122,8 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HMasterInterface.
  all reporting in that they are down.  This master will then shut itself down.
 
  <p>You can also shutdown just this master.  Call <a href="../../../../../org/apache/hadoop/hbase/master/HMaster.html#stopMaster()"><code>stopMaster()</code></a>.</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/ipc/HMasterInterface.html" title="interface in org.apache.hadoop.hbase.ipc"><code>HMasterInterface</code></a>,
-<a href="../../../../../org/apache/hadoop/hbase/ipc/HMasterRegionInterface.html" title="interface in org.apache.hadoop.hbase.ipc"><code>HMasterRegionInterface</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/ipc/HMasterInterface.html" title="interface in org.apache.hadoop.hbase.ipc"><code>HMasterInterface</code></a>, 
+<a href="../../../../../org/apache/hadoop/hbase/ipc/HMasterRegionInterface.html" title="interface in org.apache.hadoop.hbase.ipc"><code>HMasterRegionInterface</code></a>, 
 <code>Watcher</code></dd></dl>
 </li>
 </ul>


[30/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2


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

Branch: refs/heads/asf-site
Commit: ecb8d8ba0173303118524a580b35d9f9ca9bb012
Parents: 539ad17
Author: Misty Stanley-Jones <ms...@cloudera.com>
Authored: Wed Dec 16 08:59:16 2015 -0800
Committer: Misty Stanley-Jones <ms...@cloudera.com>
Committed: Wed Dec 16 08:59:37 2015 -0800

----------------------------------------------------------------------
 0.94/acid-semantics.html                        |   206 +-
 0.94/apidocs/deprecated-list.html               |     2 +-
 0.94/apidocs/index-all.html                     |    98 +-
 .../apache/hadoop/hbase/Coprocessor.State.html  |     2 +-
 .../apache/hadoop/hbase/HBaseFileSystem.html    |     4 +-
 .../apache/hadoop/hbase/HColumnDescriptor.html  |     2 +-
 .../apache/hadoop/hbase/HConstants.Modify.html  |     2 +-
 .../hbase/HConstants.OperationStatusCode.html   |     2 +-
 .../apache/hadoop/hbase/HTableDescriptor.html   |   142 +-
 .../org/apache/hadoop/hbase/KeyValue.Type.html  |     2 +-
 .../org/apache/hadoop/hbase/ServerName.html     |     4 +-
 .../hadoop/hbase/avro/package-summary.html      |     8 +-
 .../hbase/class-use/HColumnDescriptor.html      |     8 +-
 .../hadoop/hbase/client/ClientSmallScanner.html |     2 +-
 .../apache/hadoop/hbase/client/Durability.html  |     2 +-
 .../apache/hadoop/hbase/client/HBaseAdmin.html  |    12 +-
 .../hadoop/hbase/client/HConnectionManager.html |     2 +-
 .../org/apache/hadoop/hbase/client/HTable.html  |    14 +-
 .../hadoop/hbase/client/HTableInterface.html    |     8 +-
 .../apache/hadoop/hbase/client/HTablePool.html  |     8 +-
 .../apache/hadoop/hbase/client/HTableUtil.html  |    14 +-
 .../hadoop/hbase/client/IsolationLevel.html     |     2 +-
 .../apache/hadoop/hbase/client/MultiPut.html    |    10 +-
 .../apache/hadoop/hbase/client/Operation.html   |    10 +-
 .../org/apache/hadoop/hbase/client/Scan.html    |    12 +-
 .../client/UnmodifyableHTableDescriptor.html    |    20 +-
 .../hadoop/hbase/client/class-use/Result.html   |     2 +-
 .../hbase/client/coprocessor/Batch.Call.html    |     4 +-
 .../hadoop/hbase/client/coprocessor/Batch.html  |     2 +-
 .../BigDecimalColumnInterpreter.html            |     2 +-
 .../hadoop/hbase/client/coprocessor/Exec.html   |     4 +-
 .../hbase/client/coprocessor/ExecResult.html    |     4 +-
 .../hadoop/hbase/constraint/Constraint.html     |     2 +-
 .../hbase/constraint/package-summary.html       |   106 +-
 .../coprocessor/AggregateImplementation.html    |     2 +-
 .../hbase/coprocessor/AggregateProtocol.html    |     2 +-
 .../coprocessor/example/BulkDeleteProtocol.html |     2 +-
 .../example/ZooKeeperScanPolicyObserver.html    |     2 +-
 .../errorhandling/ForeignExceptionSnare.html    |     2 +-
 .../hbase/errorhandling/TimeoutException.html   |     2 +-
 .../hbase/executor/EventHandler.EventType.html  |     2 +-
 .../executor/ExecutorService.ExecutorType.html  |     2 +-
 .../hbase/filter/BitComparator.BitwiseOp.html   |     2 +-
 .../hbase/filter/CompareFilter.CompareOp.html   |     2 +-
 .../hbase/filter/DependentColumnFilter.html     |     6 +-
 .../hadoop/hbase/filter/Filter.ReturnCode.html  |     2 +-
 .../org/apache/hadoop/hbase/filter/Filter.html  |     2 +-
 .../apache/hadoop/hbase/filter/FilterBase.html  |     2 +-
 .../hbase/filter/FilterList.Operator.html       |     2 +-
 .../apache/hadoop/hbase/filter/FilterList.html  |     2 +-
 .../hadoop/hbase/filter/KeyOnlyFilter.html      |     2 +-
 .../apache/hadoop/hbase/filter/SkipFilter.html  |     2 +-
 .../hadoop/hbase/filter/WhileMatchFilter.html   |     2 +-
 .../hbase/filter/class-use/CompareFilter.html   |     2 +-
 .../hadoop/hbase/filter/class-use/Filter.html   |     2 +-
 .../hbase/filter/class-use/FilterBase.html      |     2 +-
 .../hadoop/hbase/filter/package-summary.html    |     2 +-
 .../org/apache/hadoop/hbase/fs/HFileSystem.html |    14 +-
 .../apache/hadoop/hbase/io/Reference.Range.html |     2 +-
 .../io/encoding/CopyKeyDataBlockEncoder.html    |    15 +-
 .../DataBlockEncoder.EncodedSeeker.html         |     2 +-
 .../hbase/io/encoding/DataBlockEncoding.html    |     2 +-
 ...iffKeyDeltaEncoder.DiffCompressionState.html |     6 +-
 .../DiffKeyDeltaEncoder.DiffSeekerState.html    |     6 +-
 .../hbase/io/encoding/DiffKeyDeltaEncoder.html  |    15 +-
 ...astDiffDeltaEncoder.FastDiffSeekerState.html |     6 +-
 .../hbase/io/encoding/FastDiffDeltaEncoder.html |    15 +-
 .../io/encoding/PrefixKeyDeltaEncoder.html      |    15 +-
 .../io/hfile/BlockCacheColumnFamilySummary.html |     2 +-
 .../hbase/io/hfile/BlockType.BlockCategory.html |     2 +-
 .../apache/hadoop/hbase/io/hfile/BlockType.html |     2 +-
 .../hbase/io/hfile/Compression.Algorithm.html   |     2 +-
 .../hadoop/hbase/io/hfile/FixedFileTrailer.html |     4 +-
 .../hbase/io/hfile/HFileBlock.Writer.html       |     2 +-
 .../hadoop/hbase/io/hfile/HFileBlock.html       |     2 +-
 .../hadoop/hbase/io/hfile/package-summary.html  |     2 +-
 .../hadoop/hbase/io/hfile/package-use.html      |     8 +-
 .../hadoop/hbase/ipc/HRegionInterface.html      |     8 +-
 .../apache/hadoop/hbase/mapreduce/Import.html   |     6 +-
 .../hbase/mapreduce/LoadIncrementalHFiles.html  |     4 +-
 .../hbase/mapreduce/MultiTableInputFormat.html  |     4 +-
 .../hadoop/hbase/mapreduce/PutSortReducer.html  |     2 +-
 .../mapreduce/SimpleTotalOrderPartitioner.html  |     2 +-
 .../hbase/mapreduce/TableMapReduceUtil.html     |     2 +-
 .../hbase/mapreduce/TableOutputFormat.html      |     2 +-
 .../mapreduce/TableSnapshotInputFormat.html     |    14 +-
 .../class-use/MultiTableInputFormatBase.html    |     2 +-
 .../mapreduce/hadoopbackport/JarFinder.html     |     2 +-
 .../hadoopbackport/TotalOrderPartitioner.html   |     2 +-
 .../hadoop/hbase/mapreduce/package-summary.html |     2 +-
 .../VerifyReplication.Verifier.Counters.html    |     2 +-
 .../hadoop/hbase/master/AssignCallable.html     |     2 +-
 .../AssignmentManager.RegionState.State.html    |     2 +-
 .../hbase/master/DefaultLoadBalancer.html       |    10 +-
 .../org/apache/hadoop/hbase/master/HMaster.html |     4 +-
 .../SplitLogManager.TaskFinisher.Status.html    |     2 +-
 .../cleaner/BaseHFileCleanerDelegate.html       |     2 +-
 .../PersistentMetricsTimeVaryingRate.html       |     2 +-
 .../metrics/histogram/MetricsHistogram.html     |     4 +-
 .../hbase/monitoring/MonitoredRPCHandler.html   |     4 +-
 .../monitoring/MonitoredRPCHandlerImpl.html     |    44 +-
 .../hbase/monitoring/MonitoredTask.State.html   |     2 +-
 .../hadoop/hbase/monitoring/MonitoredTask.html  |     8 +-
 .../hadoop/hbase/monitoring/TaskMonitor.html    |     4 +-
 .../class-use/MonitoredRPCHandler.html          |     2 +-
 .../monitoring/class-use/MonitoredTask.html     |     8 +-
 .../hbase/monitoring/package-summary.html       |     4 +-
 .../hadoop/hbase/monitoring/package-use.html    |     6 +-
 .../apache/hadoop/hbase/package-summary.html    |     2 +-
 .../org/apache/hadoop/hbase/package-use.html    |    38 +-
 .../hbase/regionserver/ColumnTracker.html       |     2 +-
 .../DeleteTracker.DeleteCompare.html            |     2 +-
 .../DeleteTracker.DeleteResult.html             |     2 +-
 .../regionserver/ExplicitColumnTracker.html     |     2 +-
 .../hbase/regionserver/HRegionServer.html       |     8 +-
 .../MiniBatchOperationInProgress.html           |     2 +-
 .../hbase/regionserver/RegionOpeningState.html  |     2 +-
 .../regionserver/RegionServerAccounting.html    |     2 +-
 .../hbase/regionserver/RegionSplitPolicy.html   |     2 +-
 .../hbase/regionserver/ReplicationService.html  |     2 +-
 .../regionserver/ReplicationSourceService.html  |     2 +-
 .../ScanQueryMatcher.MatchCode.html             |     2 +-
 .../hadoop/hbase/regionserver/ScanType.html     |     2 +-
 .../SplitLogWorker.TaskExecutor.Status.html     |     2 +-
 .../hbase/regionserver/StoreFile.BloomType.html |     2 +-
 .../compactions/CompactSelection.html           |    10 +-
 .../CompactionRequest.CompactionState.html      |     2 +-
 .../metrics/RegionServerDynamicMetrics.html     |     2 +-
 .../metrics/SchemaMetrics.BlockMetricType.html  |     2 +-
 .../metrics/SchemaMetrics.StoreMetricType.html  |     2 +-
 .../hadoop/hbase/regionserver/wal/HLog.html     |     2 +-
 .../hadoop/hbase/regionserver/wal/HLogKey.html  |     2 +-
 .../regionserver/wal/HLogPrettyPrinter.html     |     8 +-
 .../ReplicationZookeeper.PeerState.html         |     2 +-
 .../hbase/replication/package-summary.html      |     2 +-
 .../replication/regionserver/Replication.html   |     2 +-
 .../regionserver/ReplicationSource.html         |     2 +-
 .../apache/hadoop/hbase/rest/client/Client.html |     2 +-
 .../hadoop/hbase/rest/client/RemoteHTable.html  |     4 +-
 .../hadoop/hbase/rest/model/CellSetModel.html   |     8 +-
 .../hbase/rest/model/ColumnSchemaModel.html     |     2 +-
 .../hadoop/hbase/rest/model/RowModel.html       |     4 +-
 .../hadoop/hbase/rest/model/ScannerModel.html   |     2 +-
 .../rest/model/StorageClusterStatusModel.html   |     4 +-
 .../rest/model/StorageClusterVersionModel.html  |     2 +-
 .../hadoop/hbase/rest/model/TableInfoModel.html |     6 +-
 .../hadoop/hbase/rest/model/TableModel.html     |     2 +-
 .../hbase/rest/model/TableRegionModel.html      |     2 +-
 .../hbase/rest/model/TableSchemaModel.html      |     4 +-
 .../hadoop/hbase/rest/package-summary.html      |    62 +-
 .../rest/provider/JAXBContextResolver.html      |     2 +-
 .../producer/PlainTextMessageBodyProducer.html  |     2 +-
 .../hbase/snapshot/ExportSnapshot.Counter.html  |     2 +-
 .../hadoop/hbase/snapshot/SnapshotInfo.html     |     2 +-
 .../hadoop/hbase/snapshot/package-summary.html  |     2 +-
 .../hadoop/hbase/snapshot/package-use.html      |     2 +-
 .../thrift/generated/AlreadyExists._Fields.html |     2 +-
 .../thrift/generated/BatchMutation._Fields.html |     2 +-
 .../generated/ColumnDescriptor._Fields.html     |     2 +-
 .../Hbase.atomicIncrement_args._Fields.html     |     2 +-
 .../Hbase.atomicIncrement_result._Fields.html   |     2 +-
 .../generated/Hbase.compact_args._Fields.html   |     2 +-
 .../generated/Hbase.compact_result._Fields.html |     2 +-
 .../Hbase.createTable_args._Fields.html         |     2 +-
 .../Hbase.createTable_result._Fields.html       |     2 +-
 .../Hbase.deleteAllRowTs_args._Fields.html      |     2 +-
 .../Hbase.deleteAllRowTs_result._Fields.html    |     2 +-
 .../Hbase.deleteAllRow_args._Fields.html        |     2 +-
 .../Hbase.deleteAllRow_result._Fields.html      |     2 +-
 .../Hbase.deleteAllTs_args._Fields.html         |     2 +-
 .../Hbase.deleteAllTs_result._Fields.html       |     2 +-
 .../generated/Hbase.deleteAll_args._Fields.html |     2 +-
 .../Hbase.deleteAll_result._Fields.html         |     2 +-
 .../Hbase.deleteTable_args._Fields.html         |     2 +-
 .../Hbase.deleteTable_result._Fields.html       |     2 +-
 .../Hbase.disableTable_args._Fields.html        |     2 +-
 .../Hbase.disableTable_result._Fields.html      |     2 +-
 .../Hbase.enableTable_args._Fields.html         |     2 +-
 .../Hbase.enableTable_result._Fields.html       |     2 +-
 ...Hbase.getColumnDescriptors_args._Fields.html |     2 +-
 ...ase.getColumnDescriptors_result._Fields.html |     2 +-
 .../Hbase.getRegionInfo_args._Fields.html       |     2 +-
 .../Hbase.getRegionInfo_result._Fields.html     |     2 +-
 .../Hbase.getRowOrBefore_args._Fields.html      |     2 +-
 .../Hbase.getRowOrBefore_result._Fields.html    |     2 +-
 .../generated/Hbase.getRowTs_args._Fields.html  |     2 +-
 .../Hbase.getRowTs_result._Fields.html          |     2 +-
 .../Hbase.getRowWithColumnsTs_args._Fields.html |     2 +-
 ...base.getRowWithColumnsTs_result._Fields.html |     2 +-
 .../Hbase.getRowWithColumns_args._Fields.html   |     2 +-
 .../Hbase.getRowWithColumns_result._Fields.html |     2 +-
 .../generated/Hbase.getRow_args._Fields.html    |     2 +-
 .../generated/Hbase.getRow_result._Fields.html  |     2 +-
 .../generated/Hbase.getRowsTs_args._Fields.html |     2 +-
 .../Hbase.getRowsTs_result._Fields.html         |     2 +-
 ...Hbase.getRowsWithColumnsTs_args._Fields.html |     2 +-
 ...ase.getRowsWithColumnsTs_result._Fields.html |     2 +-
 .../Hbase.getRowsWithColumns_args._Fields.html  |     2 +-
 ...Hbase.getRowsWithColumns_result._Fields.html |     2 +-
 .../generated/Hbase.getRows_args._Fields.html   |     2 +-
 .../generated/Hbase.getRows_result._Fields.html |     2 +-
 .../Hbase.getTableNames_args._Fields.html       |     2 +-
 .../Hbase.getTableNames_result._Fields.html     |     2 +-
 .../Hbase.getTableRegions_args._Fields.html     |     2 +-
 .../Hbase.getTableRegions_result._Fields.html   |     2 +-
 .../generated/Hbase.getVerTs_args._Fields.html  |     2 +-
 .../Hbase.getVerTs_result._Fields.html          |     2 +-
 .../generated/Hbase.getVer_args._Fields.html    |     2 +-
 .../generated/Hbase.getVer_result._Fields.html  |     2 +-
 .../generated/Hbase.get_args._Fields.html       |     2 +-
 .../generated/Hbase.get_result._Fields.html     |     2 +-
 .../Hbase.incrementRows_args._Fields.html       |     2 +-
 .../Hbase.incrementRows_result._Fields.html     |     2 +-
 .../generated/Hbase.increment_args._Fields.html |     2 +-
 .../Hbase.increment_result._Fields.html         |     2 +-
 .../Hbase.isTableEnabled_args._Fields.html      |     2 +-
 .../Hbase.isTableEnabled_result._Fields.html    |     2 +-
 .../Hbase.majorCompact_args._Fields.html        |     2 +-
 .../Hbase.majorCompact_result._Fields.html      |     2 +-
 .../Hbase.mutateRowTs_args._Fields.html         |     2 +-
 .../Hbase.mutateRowTs_result._Fields.html       |     2 +-
 .../generated/Hbase.mutateRow_args._Fields.html |     2 +-
 .../Hbase.mutateRow_result._Fields.html         |     2 +-
 .../Hbase.mutateRowsTs_args._Fields.html        |     2 +-
 .../Hbase.mutateRowsTs_result._Fields.html      |     2 +-
 .../Hbase.mutateRows_args._Fields.html          |     2 +-
 .../Hbase.mutateRows_result._Fields.html        |     2 +-
 .../Hbase.scannerClose_args._Fields.html        |     2 +-
 .../Hbase.scannerClose_result._Fields.html      |     2 +-
 .../Hbase.scannerGetList_args._Fields.html      |     2 +-
 .../Hbase.scannerGetList_result._Fields.html    |     2 +-
 .../Hbase.scannerGet_args._Fields.html          |     2 +-
 .../Hbase.scannerGet_result._Fields.html        |     2 +-
 .../Hbase.scannerOpenTs_args._Fields.html       |     2 +-
 .../Hbase.scannerOpenTs_result._Fields.html     |     2 +-
 ...base.scannerOpenWithPrefix_args._Fields.html |     2 +-
 ...se.scannerOpenWithPrefix_result._Fields.html |     2 +-
 .../Hbase.scannerOpenWithScan_args._Fields.html |     2 +-
 ...base.scannerOpenWithScan_result._Fields.html |     2 +-
 ...base.scannerOpenWithStopTs_args._Fields.html |     2 +-
 ...se.scannerOpenWithStopTs_result._Fields.html |     2 +-
 .../Hbase.scannerOpenWithStop_args._Fields.html |     2 +-
 ...base.scannerOpenWithStop_result._Fields.html |     2 +-
 .../Hbase.scannerOpen_args._Fields.html         |     2 +-
 .../Hbase.scannerOpen_result._Fields.html       |     2 +-
 .../hbase/thrift/generated/IOError._Fields.html |     2 +-
 .../generated/IllegalArgument._Fields.html      |     2 +-
 .../thrift/generated/Mutation._Fields.html      |     2 +-
 .../hbase/thrift/generated/TCell._Fields.html   |     2 +-
 .../hbase/thrift/generated/TColumn._Fields.html |     2 +-
 .../thrift/generated/TIncrement._Fields.html    |     2 +-
 .../thrift/generated/TRegionInfo._Fields.html   |     2 +-
 .../thrift/generated/TRowResult._Fields.html    |     2 +-
 .../hbase/thrift/generated/TScan._Fields.html   |     2 +-
 .../hadoop/hbase/thrift/package-summary.html    |     4 +-
 .../thrift2/ThriftHBaseServiceHandler.html      |    10 +-
 .../hadoop/hbase/thrift2/ThriftUtilities.html   |     2 +-
 .../thrift2/generated/TColumn._Fields.html      |     2 +-
 .../generated/TColumnIncrement._Fields.html     |     2 +-
 .../thrift2/generated/TColumnValue._Fields.html |     2 +-
 .../thrift2/generated/TDelete._Fields.html      |     2 +-
 .../hadoop/hbase/thrift2/generated/TDelete.html |     8 +-
 .../hbase/thrift2/generated/TDeleteType.html    |     2 +-
 .../hbase/thrift2/generated/TDurability.html    |     2 +-
 .../hbase/thrift2/generated/TGet._Fields.html   |     2 +-
 .../hadoop/hbase/thrift2/generated/TGet.html    |     6 +-
 .../thrift2/generated/THBaseService.Client.html |    10 +-
 .../thrift2/generated/THBaseService.Iface.html  |    10 +-
 ...BaseService.checkAndDelete_args._Fields.html |     2 +-
 ...seService.checkAndDelete_result._Fields.html |     2 +-
 .../THBaseService.checkAndPut_args._Fields.html |     2 +-
 ...HBaseService.checkAndPut_result._Fields.html |     2 +-
 ...THBaseService.closeScanner_args._Fields.html |     2 +-
 ...BaseService.closeScanner_result._Fields.html |     2 +-
 ...BaseService.deleteMultiple_args._Fields.html |     2 +-
 ...seService.deleteMultiple_result._Fields.html |     2 +-
 ...THBaseService.deleteSingle_args._Fields.html |     2 +-
 ...BaseService.deleteSingle_result._Fields.html |     2 +-
 .../THBaseService.exists_args._Fields.html      |     2 +-
 .../THBaseService.exists_result._Fields.html    |     2 +-
 .../THBaseService.getMultiple_args._Fields.html |     2 +-
 ...HBaseService.getMultiple_result._Fields.html |     2 +-
 ...eService.getScannerResults_args._Fields.html |     2 +-
 ...ervice.getScannerResults_result._Fields.html |     2 +-
 ...BaseService.getScannerRows_args._Fields.html |     2 +-
 ...seService.getScannerRows_result._Fields.html |     2 +-
 .../THBaseService.get_args._Fields.html         |     2 +-
 .../THBaseService.get_result._Fields.html       |     2 +-
 .../THBaseService.increment_args._Fields.html   |     2 +-
 .../THBaseService.increment_result._Fields.html |     2 +-
 .../THBaseService.mutateRow_args._Fields.html   |     2 +-
 .../THBaseService.mutateRow_result._Fields.html |     2 +-
 .../THBaseService.openScanner_args._Fields.html |     2 +-
 ...HBaseService.openScanner_result._Fields.html |     2 +-
 .../THBaseService.putMultiple_args._Fields.html |     2 +-
 ...HBaseService.putMultiple_result._Fields.html |     2 +-
 .../THBaseService.put_args._Fields.html         |     2 +-
 .../THBaseService.put_result._Fields.html       |     2 +-
 .../thrift2/generated/TIOError._Fields.html     |     2 +-
 .../generated/TIllegalArgument._Fields.html     |     2 +-
 .../thrift2/generated/TIncrement._Fields.html   |     2 +-
 .../hbase/thrift2/generated/TIncrement.html     |     2 +-
 .../thrift2/generated/TMutation._Fields.html    |     2 +-
 .../hbase/thrift2/generated/TPut._Fields.html   |     2 +-
 .../hadoop/hbase/thrift2/generated/TPut.html    |     4 +-
 .../thrift2/generated/TResult._Fields.html      |     2 +-
 .../generated/TRowMutations._Fields.html        |     2 +-
 .../hbase/thrift2/generated/TScan._Fields.html  |     2 +-
 .../thrift2/generated/TTimeRange._Fields.html   |     2 +-
 .../hadoop/hbase/thrift2/package-summary.html   |     8 +-
 .../hbase/util/Base64.Base64InputStream.html    |     4 +-
 .../hbase/util/Base64.Base64OutputStream.html   |     4 +-
 .../org/apache/hadoop/hbase/util/Base64.html    |    20 +-
 .../hadoop/hbase/util/ByteBloomFilter.html      |     2 +-
 .../hadoop/hbase/util/ChecksumFactory.html      |     2 +-
 .../apache/hadoop/hbase/util/ChecksumType.html  |     4 +-
 .../hadoop/hbase/util/FSTableDescriptors.html   |     2 +-
 .../HBaseFsck.ErrorReporter.ERROR_CODE.html     |     2 +-
 .../org/apache/hadoop/hbase/util/HasThread.html |     2 +-
 .../org/apache/hadoop/hbase/util/Hash.html      |     4 +-
 .../apache/hadoop/hbase/util/JenkinsHash.html   |     4 +-
 .../org/apache/hadoop/hbase/util/Keying.html    |     2 +-
 .../apache/hadoop/hbase/util/MurmurHash.html    |     4 +-
 .../hadoop/hbase/util/PoolMap.PoolType.html     |     2 +-
 .../hbase/util/RegionSplitCalculator.html       |     4 +-
 .../hadoop/hbase/util/ShutdownHookManager.html  |     2 +-
 .../hbase/util/hbck/OfflineMetaRepair.html      |     4 +-
 .../hbase/zookeeper/RecoverableZooKeeper.html   |    42 +-
 .../apache/hadoop/hbase/zookeeper/ZKAssign.html |     2 +-
 .../hbase/zookeeper/ZKSplitLog.TaskState.html   |     2 +-
 .../hbase/zookeeper/ZKTable.TableState.html     |     2 +-
 .../io/encoding/CopyKeyDataBlockEncoder.html    |   137 +-
 ...iffKeyDeltaEncoder.DiffCompressionState.html |  1019 +-
 .../DiffKeyDeltaEncoder.DiffSeekerState.html    |  1019 +-
 .../hbase/io/encoding/DiffKeyDeltaEncoder.html  |  1019 +-
 ...astDiffDeltaEncoder.FastDiffSeekerState.html |  1019 +-
 .../hbase/io/encoding/FastDiffDeltaEncoder.html |  1019 +-
 .../io/encoding/PrefixKeyDeltaEncoder.html      |   331 +-
 0.94/book.html                                  |   164 +-
 0.94/book/book.html                             |     2 +-
 0.94/bulk-loads.html                            |     6 +-
 0.94/css/master_site.css                        |   119 +
 0.94/cygwin.html                                |     6 +-
 .../apache/hadoop/hbase/HTableDescriptor.html   |     4 +-
 .../hadoop/hbase/avro/package-summary.html      |     2 +-
 .../hadoop/hbase/filter/package-tree.html       |     4 +-
 .../io/encoding/CopyKeyDataBlockEncoder.html    |    21 +-
 ...iffKeyDeltaEncoder.DiffCompressionState.html |     6 +-
 .../DiffKeyDeltaEncoder.DiffSeekerState.html    |     6 +-
 .../hbase/io/encoding/DiffKeyDeltaEncoder.html  |    21 +-
 ...astDiffDeltaEncoder.FastDiffSeekerState.html |     6 +-
 .../hbase/io/encoding/FastDiffDeltaEncoder.html |    21 +-
 .../io/encoding/PrefixKeyDeltaEncoder.html      |    21 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     4 +-
 .../hadoop/hbase/master/package-tree.html       |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html |     8 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 .../apache/hadoop/hbase/util/package-tree.html  |     2 +-
 .../io/encoding/CopyKeyDataBlockEncoder.html    |   137 +-
 ...iffKeyDeltaEncoder.DiffCompressionState.html |  1019 +-
 .../DiffKeyDeltaEncoder.DiffSeekerState.html    |  1019 +-
 .../hbase/io/encoding/DiffKeyDeltaEncoder.html  |  1019 +-
 ...astDiffDeltaEncoder.FastDiffSeekerState.html |  1019 +-
 .../hbase/io/encoding/FastDiffDeltaEncoder.html |  1019 +-
 .../io/encoding/PrefixKeyDeltaEncoder.html      |   331 +-
 0.94/failsafe-report.html                       |     6 +-
 0.94/index.html                                 |     6 +-
 0.94/integration.html                           |     6 +-
 0.94/issue-tracking.html                        |     6 +-
 0.94/license.html                               |     6 +-
 0.94/mail-lists.html                            |     6 +-
 0.94/metrics.html                               |     6 +-
 0.94/old_news.html                              |     6 +-
 0.94/project-info.html                          |     6 +-
 0.94/project-reports.html                       |     6 +-
 0.94/pseudo-distributed.html                    |     6 +-
 0.94/rat-report.html                            | 23348 +++++++++++------
 0.94/replication.html                           |     6 +-
 0.94/resources.html                             |     6 +-
 0.94/source-repository.html                     |     6 +-
 0.94/sponsors.html                              |     6 +-
 0.94/team-list.html                             |     6 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     2 +-
 .../io/encoding/CopyKeyDataBlockEncoder.html    |   137 +-
 .../hbase/io/encoding/DiffKeyDeltaEncoder.html  |  1019 +-
 .../hbase/io/encoding/FastDiffDeltaEncoder.html |  1019 +-
 .../io/encoding/PrefixKeyDeltaEncoder.html      |   331 +-
 388 files changed, 23438 insertions(+), 15829 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/acid-semantics.html
----------------------------------------------------------------------
diff --git a/0.94/acid-semantics.html b/0.94/acid-semantics.html
index ff22672..0244403 100644
--- a/0.94/acid-semantics.html
+++ b/0.94/acid-semantics.html
@@ -1,11 +1,11 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>HBase -
-
+    <title>HBase - 
+     
       Apache HBase (TM) ACID Properties
     </title>
     <style type="text/css" media="all">
@@ -15,7 +15,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -57,8 +57,8 @@
     </div>
     <div id="leftColumn">
       <div id="navcolumn">
-
-
+             
+                
                                 <h5>Apache HBase Project</h5>
                   <ul>
                   <li class="none">
@@ -158,8 +158,8 @@
                              <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
         <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
       </a>
-
-
+                   
+                
             </div>
     </div>
     <div id="bodyColumn">
@@ -175,53 +175,53 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License. -->
-
+  
     <div class="section">
 <h2>About this Document<a name="About_this_Document"></a></h2>
-
+      
 <p>Apache HBase (TM) is not an ACID compliant database. However, it does guarantee certain specific
       properties.</p>
-
+      
 <p>This specification enumerates the ACID properties of HBase.</p>
     </div>
-
+    
 <div class="section">
 <h2>Definitions<a name="Definitions"></a></h2>
-
+      
 <p>For the sake of common vocabulary, we define the following terms:</p>
-
+      
 <dl>
-
+        
 <dt>Atomicity</dt>
-
+        
 <dd>an operation is atomic if it either completes entirely or not at all</dd>
 
-
+        
 <dt>Consistency</dt>
-
+        
 <dd>
           all actions cause the table to transition from one valid state directly to another
           (eg a row will not disappear during an update, etc)
         </dd>
 
-
+        
 <dt>Isolation</dt>
-
+        
 <dd>
           an operation is isolated if it appears to complete independently of any other concurrent transaction
         </dd>
 
-
+        
 <dt>Durability</dt>
-
+        
 <dd>any update that reports &quot;successful&quot; to the client will not be lost</dd>
 
-
+        
 <dt>Visibility</dt>
-
+        
 <dd>an update is considered visible if any subsequent read will see the update as having been committed</dd>
       </dl>
-
+      
 <p>
         The terms <i>must</i> and <i>may</i> are used as specified by RFC 2119.
         In short, the word &quot;must&quot; implies that, if some case exists where the statement
@@ -229,151 +229,151 @@
         is provided in a current release, users should not rely on it.
       </p>
     </div>
-
+    
 <div class="section">
 <h2>APIs to consider<a name="APIs_to_consider"></a></h2>
-
+      
 <ul>
-
+        
 <li>Read APIs
-
+        
 <ul>
-
+          
 <li>get</li>
-
+          
 <li>scan</li>
         </ul>
         </li>
-
+        
 <li>Write APIs</li>
-
+        
 <ul>
-
+          
 <li>put</li>
-
+          
 <li>batch put</li>
-
+          
 <li>delete</li>
         </ul>
-
+        
 <li>Combination (read-modify-write) APIs</li>
-
+        
 <ul>
-
+          
 <li>incrementColumnValue</li>
-
+          
 <li>checkAndPut</li>
         </ul>
       </ul>
     </div>
 
-
+    
 <div class="section">
 <h2>Guarantees Provided<a name="Guarantees_Provided"></a></h2>
 
-
+      
 <div class="section">
 <h2>Atomicity<a name="Atomicity"></a></h2>
 
-
+        
 <ol style="list-style-type: decimal">
-
+          
 <li>All mutations are atomic within a row. Any put will either wholely succeed or wholely fail.[3]</li>
-
+          
 <ol style="list-style-type: decimal">
-
+            
 <li>An operation that returns a &quot;success&quot; code has completely succeeded.</li>
-
+            
 <li>An operation that returns a &quot;failure&quot; code has completely failed.</li>
-
+            
 <li>An operation that times out may have succeeded and may have failed. However,
             it will not have partially succeeded or failed.</li>
           </ol>
-
+          
 <li> This is true even if the mutation crosses multiple column families within a row.</li>
-
+          
 <li> APIs that mutate several rows will _not_ be atomic across the multiple rows.
           For example, a multiput that operates on rows 'a','b', and 'c' may return having
           mutated some but not all of the rows. In such cases, these APIs will return a list
           of success codes, each of which may be succeeded, failed, or timed out as described above.</li>
-
+          
 <li> The checkAndPut API happens atomically like the typical compareAndSet (CAS) operation
           found in many hardware architectures.</li>
-
+          
 <li> The order of mutations is seen to happen in a well-defined order for each row, with no
           interleaving. For example, if one writer issues the mutation &quot;a=1,b=1,c=1&quot; and
           another writer issues the mutation &quot;a=2,b=2,c=2&quot;, the row must either
           be &quot;a=1,b=1,c=1&quot; or &quot;a=2,b=2,c=2&quot; and must <i>not</i> be something
           like &quot;a=1,b=2,c=1&quot;.</li>
-
+          
 <ol style="list-style-type: decimal">
-
+            
 <li>Please note that this is not true _across rows_ for multirow batch mutations.</li>
           </ol>
         </ol>
       </div>
-
+      
 <div class="section">
 <h2>Consistency and Isolation<a name="Consistency_and_Isolation"></a></h2>
-
+        
 <ol style="list-style-type: decimal">
-
+          
 <li>All rows returned via any access API will consist of a complete row that existed at
           some point in the table's history.</li>
-
+          
 <li>This is true across column families - i.e a get of a full row that occurs concurrent
           with some mutations 1,2,3,4,5 will return a complete row that existed at some point in time
           between mutation i and i+1 for some i between 1 and 5.</li>
-
+          
 <li>The state of a row will only move forward through the history of edits to it.</li>
         </ol>
 
-
+        
 <div class="section">
 <h2>Consistency of Scans<a name="Consistency_of_Scans"></a></h2>
-
+        
 <p>
           A scan is <b>not</b> a consistent view of a table. Scans do
           <b>not</b> exhibit <i>snapshot isolation</i>.
         </p>
-
+        
 <p>
           Rather, scans have the following properties:
         </p>
 
-
+        
 <ol style="list-style-type: decimal">
-
+          
 <li>
             Any row returned by the scan will be a consistent view (i.e. that version
             of the complete row existed at some point in time) [1]
           </li>
-
+          
 <li>
             A scan will always reflect a view of the data <i>at least as new as</i>
             the beginning of the scan. This satisfies the visibility guarantees
           enumerated below.</li>
-
+          
 <ol style="list-style-type: decimal">
-
+            
 <li>For example, if client A writes data X and then communicates via a side
             channel to client B, any scans started by client B will contain data at least
             as new as X.</li>
-
+            
 <li>A scan _must_ reflect all mutations committed prior to the construction
             of the scanner, and _may_ reflect some mutations committed subsequent to the
             construction of the scanner.</li>
-
+            
 <li>Scans must include <i>all</i> data written prior to the scan (except in
             the case where data is subsequently mutated, in which case it _may_ reflect
             the mutation)</li>
           </ol>
         </ol>
-
+        
 <p>
           Those familiar with relational databases will recognize this isolation level as &quot;read committed&quot;.
         </p>
-
+        
 <p>
           Please note that the guarantees listed above regarding scanner consistency
           are referring to &quot;transaction commit time&quot;, not the &quot;timestamp&quot;
@@ -383,99 +383,99 @@
         </p>
         </div>
       </div>
-
+      
 <div class="section">
 <h2>Visibility<a name="Visibility"></a></h2>
-
+        
 <ol style="list-style-type: decimal">
-
+          
 <li> When a client receives a &quot;success&quot; response for any mutation, that
           mutation is immediately visible to both that client and any client with whom it
           later communicates through side channels. [3]</li>
-
+          
 <li> A row must never exhibit so-called &quot;time-travel&quot; properties. That
           is to say, if a series of mutations moves a row sequentially through a series of
           states, any sequence of concurrent reads will return a subsequence of those states.</li>
-
+          
 <ol style="list-style-type: decimal">
-
+            
 <li>For example, if a row's cells are mutated using the &quot;incrementColumnValue&quot;
             API, a client must never see the value of any cell decrease.</li>
-
+            
 <li>This is true regardless of which read API is used to read back the mutation.</li>
           </ol>
-
+          
 <li> Any version of a cell that has been returned to a read operation is guaranteed to
           be durably stored.</li>
         </ol>
 
       </div>
-
+      
 <div class="section">
 <h2>Durability<a name="Durability"></a></h2>
-
+        
 <ol style="list-style-type: decimal">
-
+          
 <li> All visible data is also durable data. That is to say, a read will never return
           data that has not been made durable on disk[2]</li>
-
+          
 <li> Any operation that returns a &quot;success&quot; code (eg does not throw an exception)
           will be made durable.[3]</li>
-
+          
 <li> Any operation that returns a &quot;failure&quot; code will not be made durable
           (subject to the Atomicity guarantees above)</li>
-
+          
 <li> All reasonable failure scenarios will not affect any of the guarantees of this document.</li>
 
         </ol>
       </div>
-
+      
 <div class="section">
 <h2>Tunability<a name="Tunability"></a></h2>
-
+        
 <p>All of the above guarantees must be possible within Apache HBase. For users who would like to trade
         off some guarantees for performance, HBase may offer several tuning options. For example:</p>
-
+        
 <ul>
-
+          
 <li>Visibility may be tuned on a per-read basis to allow stale reads or time travel.</li>
-
+          
 <li>Durability may be tuned to only flush data to disk on a periodic basis</li>
         </ul>
       </div>
     </div>
-
+    
 <div class="section">
 <h2>More Information<a name="More_Information"></a></h2>
-
+      
 <p>
-      For more information, see the <a href="book.html#client">client architecture</a> or <a href="book.html#datamodel">data model</a> sections in the Apache HBase Reference Guide.
+      For more information, see the <a href="book.html#client">client architecture</a> or <a href="book.html#datamodel">data model</a> sections in the Apache HBase Reference Guide. 
       </p>
     </div>
-
-
+    
+    
 <div class="section">
 <h2>Footnotes<a name="Footnotes"></a></h2>
-
+      
 <p>[1] A consistent view is not guaranteed intra-row scanning -- i.e. fetching a portion of
           a row in one RPC then going back to fetch another portion of the row in a subsequent RPC.
           Intra-row scanning happens when you set a limit on how many values to return per Scan#next
           (See <a class="externalLink" href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Scan.html#setBatch(int)">Scan#setBatch(int)</a>).
       </p>
 
-
+      
 <p>[2] In the context of Apache HBase, &quot;durably on disk&quot; implies an hflush() call on the transaction
       log. This does not actually imply an fsync() to magnetic media, but rather just that the data has been
       written to the OS cache on all replicas of the log. In the case of a full datacenter power loss, it is
       possible that the edits are not truly durable.</p>
-
+      
 <p>[3] Puts will either wholely succeed or wholely fail, provided that they are actually sent
       to the RegionServer.  If the writebuffer is used, Puts will not be sent until the writebuffer is filled
       or it is explicitly flushed.</p>
-
+      
     </div>
 
-
+  
 
       </div>
     </div>
@@ -483,9 +483,9 @@
       <hr/>
     </div>
     <div id="footer">
-       <div class="xright">
-
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+       <div class="xright">      
+                
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/deprecated-list.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/deprecated-list.html b/0.94/apidocs/deprecated-list.html
index 623c0aa..6ea87c7 100644
--- a/0.94/apidocs/deprecated-list.html
+++ b/0.94/apidocs/deprecated-list.html
@@ -441,7 +441,7 @@
 <tr class="altColor">
 <td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableInterface.html#getRowOrBefore(byte[],%20byte[])">org.apache.hadoop.hbase.client.HTableInterface.getRowOrBefore(byte[], byte[])</a>
 <div class="block"><i>As of version 0.92 this method is deprecated without
- replacement.
+ replacement.   
  getRowOrBefore is used internally to find entries in .META. and makes
  various assumptions about the table (which are true for .META. but not
  in general) to be efficient.</i></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/index-all.html b/0.94/apidocs/index-all.html
index b4bc3f2..77ae598 100644
--- a/0.94/apidocs/index-all.html
+++ b/0.94/apidocs/index-all.html
@@ -1916,7 +1916,7 @@
 </dd>
 <dt><a href="./org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html" title="class in org.apache.hadoop.hbase.io.hfile"><span class="strong">BlockCacheColumnFamilySummary</span></a> - Class in <a href="./org/apache/hadoop/hbase/io/hfile/package-summary.html">org.apache.hadoop.hbase.io.hfile</a></dt>
 <dd>
-<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage
+<div class="block">BlockCacheColumnFamilySummary represents a summary of the blockCache usage 
  at Table/ColumnFamily granularity.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html#BlockCacheColumnFamilySummary()">BlockCacheColumnFamilySummary()</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/BlockCacheColumnFamilySummary.html" title="class in org.apache.hadoop.hbase.io.hfile">BlockCacheColumnFamilySummary</a></dt>
@@ -4085,7 +4085,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredTask.html#clone()">clone()</a></span> - Method in interface org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a></dt>
 <dd>
-<div class="block">Public exposure of Object.clone() in order to allow clients to easily
+<div class="block">Public exposure of Object.clone() in order to allow clients to easily 
  capture current state.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/protobuf/generated/CellMessage.Cell.Builder.html#clone()">clone()</a></span> - Method in class org.apache.hadoop.hbase.rest.protobuf.generated.<a href="./org/apache/hadoop/hbase/rest/protobuf/generated/CellMessage.Cell.Builder.html" title="class in org.apache.hadoop.hbase.rest.protobuf.generated">CellMessage.Cell.Builder</a></dt>
@@ -6552,7 +6552,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/fs/HFileSystem.html#createNonRecursive(org.apache.hadoop.fs.Path,%20boolean,%20int,%20short,%20long,%20org.apache.hadoop.util.Progressable)">createNonRecursive(Path, boolean, int, short, long, Progressable)</a></span> - Method in class org.apache.hadoop.hbase.fs.<a href="./org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a></dt>
 <dd>
-<div class="block">The org.apache.hadoop.fs.FilterFileSystem does not yet support
+<div class="block">The org.apache.hadoop.fs.FilterFileSystem does not yet support 
  createNonRecursive.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/zookeeper/ZKAssign.html#createOrForceNodeOffline(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher,%20org.apache.hadoop.hbase.HRegionInfo,%20org.apache.hadoop.hbase.ServerName)">createOrForceNodeOffline(ZooKeeperWatcher, HRegionInfo, ServerName)</a></span> - Static method in class org.apache.hadoop.hbase.zookeeper.<a href="./org/apache/hadoop/hbase/zookeeper/ZKAssign.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKAssign</a></dt>
@@ -7549,7 +7549,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#DEFAULT_MEMSTORE_FLUSH_SIZE">DEFAULT_MEMSTORE_FLUSH_SIZE</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block">Constant that denotes the maximum default size of the memstore after which
+<div class="block">Constant that denotes the maximum default size of the memstore after which 
  the contents are flushed to the store files</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HColumnDescriptor.html#DEFAULT_MIN_VERSIONS">DEFAULT_MIN_VERSIONS</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></dt>
@@ -7667,7 +7667,7 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#DEFERRED_LOG_FLUSH">DEFERRED_LOG_FLUSH</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata 
  attribute which denotes if the deferred log flush option is enabled</div>
 </dd>
 <dt><a href="./org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">Delayable</span></a> - Interface in <a href="./org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></dt>
@@ -8192,7 +8192,7 @@
 <div class="block">A filter for adding inter-column timestamp matching
  Only cells with a correspondingly timestamped entry in
  the target column will be retained
- Not compatible with Scan.setBatch as operations need
+ Not compatible with Scan.setBatch as operations need 
  full rows for correct filtering</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/DependentColumnFilter.html#DependentColumnFilter()">DependentColumnFilter()</a></span> - Constructor for class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a></dt>
@@ -13797,7 +13797,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#getClient()">getClient()</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></dt>
 <dd>
-<div class="block">If an RPC call is currently running, produces a String representation of
+<div class="block">If an RPC call is currently running, produces a String representation of 
  the connection from which it was received.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/thrift/generated/Hbase.Client.Factory.html#getClient(org.apache.thrift.protocol.TProtocol)">getClient(TProtocol)</a></span> - Method in class org.apache.hadoop.hbase.thrift.generated.<a href="./org/apache/hadoop/hbase/thrift/generated/Hbase.Client.Factory.html" title="class in org.apache.hadoop.hbase.thrift.generated">Hbase.Client.Factory</a></dt>
@@ -13941,7 +13941,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#getColumnFamilies()">getColumnFamilies()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block">Returns an array all the <a href="./org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> of the column families
+<div class="block">Returns an array all the <a href="./org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> of the column families 
  of the table.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_args.html#getColumnFamilies()">getColumnFamilies()</a></span> - Method in class org.apache.hadoop.hbase.thrift.generated.<a href="./org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_args.html" title="class in org.apache.hadoop.hbase.thrift.generated">Hbase.createTable_args</a></dt>
@@ -14211,8 +14211,8 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/compactions/CompactSelection.html#getCompactSelectionRatio()">getCompactSelectionRatio()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.compactions.<a href="./org/apache/hadoop/hbase/regionserver/compactions/CompactSelection.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactSelection</a></dt>
 <dd>
-<div class="block">If the current hour falls in the off peak times and there are no
- outstanding off peak compactions, the current compaction is
+<div class="block">If the current hour falls in the off peak times and there are no 
+ outstanding off peak compactions, the current compaction is 
  promoted to an off peak compaction.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html#getCompactSplitThread()">getCompactSplitThread()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
@@ -15235,7 +15235,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#getFamilies()">getFamilies()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block">Returns an unmodifiable collection of all the <a href="./org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a>
+<div class="block">Returns an unmodifiable collection of all the <a href="./org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HColumnDescriptor</code></a> 
  of all the column families of the table.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#getFamiliesKeys()">getFamiliesKeys()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
@@ -15248,7 +15248,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#getFamily(byte[])">getFamily(byte[])</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block">Returns the HColumnDescriptor for a specific column family with name as
+<div class="block">Returns the HColumnDescriptor for a specific column family with name as 
  specified by the parameter column.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/KeyValue.html#getFamily()">getFamily()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a></dt>
@@ -15986,7 +15986,7 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/Operation.html#getFingerprint()">getFingerprint()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/Operation.html" title="class in org.apache.hadoop.hbase.client">Operation</a></dt>
 <dd>
-<div class="block">Produces a Map containing a fingerprint which identifies the type and
+<div class="block">Produces a Map containing a fingerprint which identifies the type and 
  the static schema components of a query (i.e.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/Scan.html#getFingerprint()">getFingerprint()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></dt>
@@ -17592,7 +17592,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/fs/HFileSystem.html#getNoChecksumFs()">getNoChecksumFs()</a></span> - Method in class org.apache.hadoop.hbase.fs.<a href="./org/apache/hadoop/hbase/fs/HFileSystem.html" title="class in org.apache.hadoop.hbase.fs">HFileSystem</a></dt>
 <dd>
-<div class="block">Returns the filesystem that is specially setup for
+<div class="block">Returns the filesystem that is specially setup for 
  doing reads from storage.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/zookeeper/ZKUtil.NodeAndData.html#getNode()">getNode()</a></span> - Method in class org.apache.hadoop.hbase.zookeeper.<a href="./org/apache/hadoop/hbase/zookeeper/ZKUtil.NodeAndData.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKUtil.NodeAndData</a></dt>
@@ -18550,7 +18550,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#getRegionSplitPolicyClassName()">getRegionSplitPolicyClassName()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block">This get the class associated with the region split policy which
+<div class="block">This get the class associated with the region split policy which 
  determines when a region split should occur.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/TableResource.html#getRegionsResource()">getRegionsResource()</a></span> - Method in class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/TableResource.html" title="class in org.apache.hadoop.hbase.rest">TableResource</a></dt>
@@ -19056,7 +19056,7 @@
 <dd>
 <div class="block"><span class="strong">Deprecated.</span>
 <div class="block"><i>As of version 0.92 this method is deprecated without
- replacement.
+ replacement.   
  getRowOrBefore is used internally to find entries in .META. and makes
  various assumptions about the table (which are true for .META. but not
  in general) to be efficient.</i></div>
@@ -19276,7 +19276,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#getRPCQueueTime()">getRPCQueueTime()</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></dt>
 <dd>
-<div class="block">Accesses the queue time for the currently running RPC on the
+<div class="block">Accesses the queue time for the currently running RPC on the 
  monitored Handler.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRpcServer()">getRpcServer()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
@@ -19289,7 +19289,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#getRPCStartTime()">getRPCStartTime()</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></dt>
 <dd>
-<div class="block">Accesses the start time for the currently running RPC on the
+<div class="block">Accesses the start time for the currently running RPC on the 
  monitored Handler.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/HBaseRPC.html#getRpcTimeout()">getRpcTimeout()</a></span> - Static method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/HBaseRPC.html" title="class in org.apache.hadoop.hbase.ipc">HBaseRPC</a></dt>
@@ -20000,7 +20000,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#getStatus()">getStatus()</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></dt>
 <dd>
-<div class="block">Gets the status of this handler; if it is currently servicing an RPC,
+<div class="block">Gets the status of this handler; if it is currently servicing an RPC, 
  this status will include the RPC information.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredTask.html#getStatus()">getStatus()</a></span> - Method in interface org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a></dt>
@@ -20507,7 +20507,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#getTableDir(org.apache.hadoop.fs.Path,%20byte[])">getTableDir(Path, byte[])</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block">Returns the <code>Path</code> object representing the table directory under
+<div class="block">Returns the <code>Path</code> object representing the table directory under 
  path rootdir</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#getTableDir()">getTableDir()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
@@ -20806,7 +20806,7 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/TaskMonitor.html#getTasks()">getTasks()</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/TaskMonitor.html" title="class in org.apache.hadoop.hbase.monitoring">TaskMonitor</a></dt>
 <dd>
-<div class="block">Produces a list containing copies of the current state of all non-expired
+<div class="block">Produces a list containing copies of the current state of all non-expired 
  MonitoredTasks handled by this TaskMonitor.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/MasterFileSystem.html#getTempDir()">getTempDir()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a></dt>
@@ -22168,7 +22168,7 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/Hash.html#hash(byte[],%20int,%20int,%20int)">hash(byte[], int, int, int)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/Hash.html" title="class in org.apache.hadoop.hbase.util">Hash</a></dt>
 <dd>
-<div class="block">Calculate a hash using bytes from <code>offset</code> to <code>offset +
+<div class="block">Calculate a hash using bytes from <code>offset</code> to <code>offset + 
  length</code>, and the provided seed value.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/JenkinsHash.html#hash(byte[],%20int,%20int,%20int)">hash(byte[], int, int, int)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/JenkinsHash.html" title="class in org.apache.hadoop.hbase.util">JenkinsHash</a></dt>
@@ -25555,7 +25555,7 @@
 <dt><a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><span class="strong">HTableDescriptor</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
 <dd>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#HTableDescriptor(byte[],%20org.apache.hadoop.hbase.HColumnDescriptor[])">HTableDescriptor(byte[], HColumnDescriptor[])</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
@@ -26758,13 +26758,13 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#IS_META">IS_META</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata 
  attribute which denotes if it is a catalog table, either
  <code> .META.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#IS_ROOT">IS_ROOT</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata 
  attribute which denotes if the table is a -ROOT- region or not</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/Abortable.html#isAborted()">isAborted()</a></span> - Method in interface org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/Abortable.html" title="interface in org.apache.hadoop.hbase">Abortable</a></dt>
@@ -27241,7 +27241,7 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#isMetaTable(byte[])">isMetaTable(byte[])</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block">Checks of the tableName being passed represents either
+<div class="block">Checks of the tableName being passed represents either 
  <code > -ROOT- </code> or <code> .META.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/migration/HRegionInfo090x.html#isMetaTable()">isMetaTable()</a></span> - Method in class org.apache.hadoop.hbase.migration.<a href="./org/apache/hadoop/hbase/migration/HRegionInfo090x.html" title="class in org.apache.hadoop.hbase.migration">HRegionInfo090x</a></dt>
@@ -27276,7 +27276,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#isOperationRunning()">isOperationRunning()</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></dt>
 <dd>
-<div class="block">Indicates to the client whether this task is monitoring a currently active
+<div class="block">Indicates to the client whether this task is monitoring a currently active 
  RPC call to a database command.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#isPBMagicPrefix(byte[])">isPBMagicPrefix(byte[])</a></span> - Static method in class org.apache.hadoop.hbase.protobuf.<a href="./org/apache/hadoop/hbase/protobuf/ProtobufUtil.html" title="class in org.apache.hadoop.hbase.protobuf">ProtobufUtil</a></dt>
@@ -27360,7 +27360,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#isRPCRunning()">isRPCRunning()</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></dt>
 <dd>
-<div class="block">Indicates to the client whether this task is monitoring a currently active
+<div class="block">Indicates to the client whether this task is monitoring a currently active 
  RPC call.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/FSHDFSUtils.html#isSameHdfs(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.fs.FileSystem)">isSameHdfs(Configuration, FileSystem, FileSystem)</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/FSHDFSUtils.html" title="class in org.apache.hadoop.hbase.util">FSHDFSUtils</a></dt>
@@ -31092,8 +31092,8 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#MAX_FILESIZE">MAX_FILESIZE</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
- attribute which denotes the maximum size of the store file after which
+<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata 
+ attribute which denotes the maximum size of the store file after which 
  a region split occurs</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/HFile.html#MAX_FORMAT_VERSION">MAX_FORMAT_VERSION</a></span> - Static variable in class org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile</a></dt>
@@ -31223,8 +31223,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#MEMSTORE_FLUSHSIZE">MEMSTORE_FLUSHSIZE</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata
- attribute which represents the maximum size of the memstore after which
+<div class="block"><em>INTERNAL</em> Used by HBase Shell interface to access this metadata 
+ attribute which represents the maximum size of the memstore after which 
  its contents are flushed onto the disk</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.html#MEMSTORE_PERIODIC_FLUSH_INTERVAL">MEMSTORE_PERIODIC_FLUSH_INTERVAL</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
@@ -32010,12 +32010,12 @@
 </dd>
 <dt><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring"><span class="strong">MonitoredRPCHandler</span></a> - Interface in <a href="./org/apache/hadoop/hbase/monitoring/package-summary.html">org.apache.hadoop.hbase.monitoring</a></dt>
 <dd>
-<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers
+<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers 
  handling frequent, short duration tasks.</div>
 </dd>
 <dt><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring"><span class="strong">MonitoredRPCHandlerImpl</span></a> - Class in <a href="./org/apache/hadoop/hbase/monitoring/package-summary.html">org.apache.hadoop.hbase.monitoring</a></dt>
 <dd>
-<div class="block">A MonitoredTask implementation designed for use with RPC Handlers
+<div class="block">A MonitoredTask implementation designed for use with RPC Handlers 
  handling frequent, short duration tasks.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#MonitoredRPCHandlerImpl()">MonitoredRPCHandlerImpl()</a></span> - Constructor for class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></dt>
@@ -32143,7 +32143,7 @@
 </dd>
 <dt><a href="./org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="strong">MultiTableInputFormat</span></a> - Class in <a href="./org/apache/hadoop/hbase/mapreduce/package-summary.html">org.apache.hadoop.hbase.mapreduce</a></dt>
 <dd>
-<div class="block">Convert HBase tabular data from multiple scanners into a format that
+<div class="block">Convert HBase tabular data from multiple scanners into a format that 
  is consumable by Map/Reduce.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html#MultiTableInputFormat()">MultiTableInputFormat()</a></span> - Constructor for class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">MultiTableInputFormat</a></dt>
@@ -36156,7 +36156,7 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#readFields(java.io.DataInput)">readFields(DataInput)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface
+<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface 
  and is used for de-serialization of the HTableDescriptor over RPC</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/HbaseMapWritable.html#readFields(java.io.DataInput)">readFields(DataInput)</a></span> - Method in class org.apache.hadoop.hbase.io.<a href="./org/apache/hadoop/hbase/io/HbaseMapWritable.html" title="class in org.apache.hadoop.hbase.io">HbaseMapWritable</a></dt>
@@ -36256,7 +36256,7 @@ service.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#READONLY">READONLY</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata
+<div class="block"><em>INTERNAL</em> Used by rest interface to access this metadata 
  attribute which denotes if the table is Read Only</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/protobuf/generated/TableSchemaMessage.TableSchema.html#READONLY_FIELD_NUMBER">READONLY_FIELD_NUMBER</a></span> - Static variable in class org.apache.hadoop.hbase.rest.protobuf.generated.<a href="./org/apache/hadoop/hbase/rest/protobuf/generated/TableSchemaMessage.TableSchema.html" title="class in org.apache.hadoop.hbase.rest.protobuf.generated">TableSchemaMessage.TableSchema</a></dt>
@@ -37163,7 +37163,7 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#removeFamily(byte[])">removeFamily(byte[])</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block">Removes the HColumnDescriptor with name specified by the parameter column
+<div class="block">Removes the HColumnDescriptor with name specified by the parameter column 
  from the table descriptor</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html#removeFromOnlineRegions(java.lang.String)">removeFromOnlineRegions(String)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
@@ -39029,7 +39029,7 @@ service.</div>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html#seekToKeyInBlock(byte[],%20int,%20int,%20boolean)">seekToKeyInBlock(byte[], int, int, boolean)</a></span> - Method in interface org.apache.hadoop.hbase.io.encoding.<a href="./org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding">DataBlockEncoder.EncodedSeeker</a></dt>
 <dd>
 <div class="block">Moves the seeker position within the current block to:
-
+ 
  the last key that that is less than or equal to the given key if
  <code>seekBefore</code> is false
  the last key that is strictly less than the given key if <code>
@@ -41200,7 +41200,7 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#setMemStoreFlushSize(long)">setMemStoreFlushSize(long)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block">Represents the maximum size of the memstore after which the contents of the
+<div class="block">Represents the maximum size of the memstore after which the contents of the 
  memstore are flushed to the filesystem.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HServerLoad.RegionLoad.html#setMemStoreSizeMB(int)">setMemStoreSizeMB(int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HServerLoad.RegionLoad.html" title="class in org.apache.hadoop.hbase">HServerLoad.RegionLoad</a></dt>
@@ -41235,7 +41235,7 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#setMetaRegion(boolean)">setMetaRegion(boolean)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block"><em> INTERNAL </em> Used to denote if the current table represents
+<div class="block"><em> INTERNAL </em> Used to denote if the current table represents 
  <code> -ROOT- </code> or <code> .META.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/thrift2/generated/TTimeRange.html#setMinStamp(long)">setMinStamp(long)</a></span> - Method in class org.apache.hadoop.hbase.thrift2.generated.<a href="./org/apache/hadoop/hbase/thrift2/generated/TTimeRange.html" title="class in org.apache.hadoop.hbase.thrift2.generated">TTimeRange</a></dt>
@@ -41611,7 +41611,7 @@ service.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#setRootRegion(boolean)">setRootRegion(boolean)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block"><em> INTERNAL </em> Used to denote if the current table represents
+<div class="block"><em> INTERNAL </em> Used to denote if the current table represents 
  <code> -ROOT- </code> region.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/KeyValue.SplitKeyValue.html#setRow(byte[])">setRow(byte[])</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/KeyValue.SplitKeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue.SplitKeyValue</a></dt>
@@ -41891,7 +41891,7 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#setRPCPacket(org.apache.hadoop.io.Writable)">setRPCPacket(Writable)</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></dt>
 <dd>
-<div class="block">Gives this instance a reference to the Writable received by the RPC, so
+<div class="block">Gives this instance a reference to the Writable received by the RPC, so 
  that it can later compute its size if asked for it.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/HBaseRPC.html#setRpcTimeout(int)">setRpcTimeout(int)</a></span> - Static method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/HBaseRPC.html" title="class in org.apache.hadoop.hbase.ipc">HBaseRPC</a></dt>
@@ -43719,7 +43719,7 @@ service.</div>
 <dt><a href="./org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot"><span class="strong">SnapshotInfo.SnapshotStats</span></a> - Class in <a href="./org/apache/hadoop/hbase/snapshot/package-summary.html">org.apache.hadoop.hbase.snapshot</a></dt>
 <dd>
 <div class="block">Statistics about the snapshot
-
+ 
   How many store files and logs are in the archive
   How many store files and logs are shared with the table
   Total store files and logs size and shared amount
@@ -46599,8 +46599,8 @@ service.</div>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/MultiPut.html#toMap(int)">toMap(int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/MultiPut.html" title="class in org.apache.hadoop.hbase.client">MultiPut</a></dt>
 <dd>
 <div class="block"><span class="strong">Deprecated.</span></div>
-<div class="block">Compile the details beyond the scope of getFingerprint (mostly
- toMap from the Puts) into a Map along with the fingerprinted
+<div class="block">Compile the details beyond the scope of getFingerprint (mostly 
+ toMap from the Puts) into a Map along with the fingerprinted 
  information.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/Mutation.html#toMap(int)">toMap(int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a></dt>
@@ -46610,7 +46610,7 @@ service.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/Operation.html#toMap(int)">toMap(int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/Operation.html" title="class in org.apache.hadoop.hbase.client">Operation</a></dt>
 <dd>
-<div class="block">Produces a Map containing a summary of the details of a query
+<div class="block">Produces a Map containing a summary of the details of a query 
  beyond the scope of the fingerprint (i.e.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/Operation.html#toMap()">toMap()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/Operation.html" title="class in org.apache.hadoop.hbase.client">Operation</a></dt>
@@ -46626,7 +46626,7 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredTask.html#toMap()">toMap()</a></span> - Method in interface org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a></dt>
 <dd>
-<div class="block">Creates a string map of internal details for extensible exposure of
+<div class="block">Creates a string map of internal details for extensible exposure of 
  monitored tasks.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/Bytes.html#toShort(byte[])">toShort(byte[])</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/Bytes.html" title="class in org.apache.hadoop.hbase.util">Bytes</a></dt>
@@ -51424,7 +51424,7 @@ the order they are declared.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HTableDescriptor.html#write(java.io.DataOutput)">write(DataOutput)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></dt>
 <dd>
-<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface
+<div class="block"><em> INTERNAL </em> This method is a part of <code>WritableComparable</code> interface 
  and is used for serialization of the HTableDescriptor over RPC</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/DoubleOutputStream.html#write(int)">write(int)</a></span> - Method in class org.apache.hadoop.hbase.io.<a href="./org/apache/hadoop/hbase/io/DoubleOutputStream.html" title="class in org.apache.hadoop.hbase.io">DoubleOutputStream</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/Coprocessor.State.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/Coprocessor.State.html b/0.94/apidocs/org/apache/hadoop/hbase/Coprocessor.State.html
index d521dd5..566e120 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/Coprocessor.State.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/Coprocessor.State.html
@@ -291,7 +291,7 @@ for (Coprocessor.State c : Coprocessor.State.values())
 <pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase">Coprocessor.State</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/Coprocessor.State.html#line.52">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/HBaseFileSystem.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/HBaseFileSystem.html b/0.94/apidocs/org/apache/hadoop/hbase/HBaseFileSystem.html
index 4778538..08fcc46 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/HBaseFileSystem.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/HBaseFileSystem.html
@@ -390,7 +390,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
                                                              boolean&nbsp;overwrite)
                                                                       throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Creates a path on the file system. Checks whether the path exists already or not, and use it
- for retrying in case underlying fs throws an exception.
+ for retrying in case underlying fs throws an exception. 
  If the dir already exists and overwrite flag is false, the underlying FileSystem throws
   an IOE. It is not retried and the IOE is re-thrown to the caller.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>fs</code> - </dd><dd><code>dir</code> - </dd><dd><code>overwrite</code> - </dd>
@@ -410,7 +410,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
                                                                       org.apache.hadoop.fs.permission.FsPermission&nbsp;perm,
                                                                       boolean&nbsp;overwrite)
                                                                                throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Creates the specified file with the given permission.
+<div class="block">Creates the specified file with the given permission. 
  If the dir already exists and the overwrite flag is false, underlying FileSystem throws
  an IOE. It is not retried and the IOE is re-thrown to the caller.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>fs</code> - </dd><dd><code>path</code> - </dd><dd><code>perm</code> - </dd><dd><code>overwrite</code> - </dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html b/0.94/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html
index 9a0eb29..e3e614d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html
@@ -1289,7 +1289,7 @@ public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescrip
 <li class="blockList">
 <h4>getCompactionCompression</h4>
 <pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/io/hfile/Compression.Algorithm.html" title="enum in org.apache.hadoop.hbase.io.hfile">Compression.Algorithm</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HColumnDescriptor.html#line.525">getCompactionCompression</a>()</pre>
-<dl><dt><span class="strong">Returns:</span></dt><dd>compression type being used for the column family for major
+<dl><dt><span class="strong">Returns:</span></dt><dd>compression type being used for the column family for major 
       compression</dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/HConstants.Modify.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/HConstants.Modify.html b/0.94/apidocs/org/apache/hadoop/hbase/HConstants.Modify.html
index 239434b..7b367f0 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/HConstants.Modify.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/HConstants.Modify.html
@@ -291,7 +291,7 @@ for (HConstants.Modify c : HConstants.Modify.values())
 <pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase">HConstants.Modify</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.Modify.html#line.431">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html b/0.94/apidocs/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
index 790028a..0a028af 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
@@ -279,7 +279,7 @@ for (HConstants.OperationStatusCode c : HConstants.OperationStatusCode.values())
 <pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase">HConstants.OperationStatusCode</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html#line.741">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>


[07/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
index fbb011a..c9f897a 100644
--- a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
+++ b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
@@ -35,523 +35,526 @@
 <span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.27"></a>
 <span class="sourceLineNo">028</span>import org.apache.hadoop.io.RawComparator;<a name="line.28"></a>
 <span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * Encoder similar to {@link DiffKeyDeltaEncoder} but supposedly faster.<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * Compress using:<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * - store size of common prefix<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * - save column family once in the first KeyValue<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * - use bits to avoid duplication key length, value length<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *   and type if it same as previous<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * - store in 3 bits length of prefix timestamp<a name="line.39"></a>
-<span class="sourceLineNo">040</span> *    with previous KeyValue's timestamp<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * - one bit which allow to omit value if it is the same<a name="line.41"></a>
-<span class="sourceLineNo">042</span> *<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Format:<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * - 1 byte:    flag<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * - 1-5 bytes: prefix length<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * - 1-8 bytes: timestamp suffix<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * - ... bytes: value (only if FLAG_SAME_VALUE is not set in the flag)<a name="line.52"></a>
-<span class="sourceLineNo">053</span> *<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class FastDiffDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 0) | (1 &lt;&lt; 1) | (1 &lt;&lt; 2);<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  final int SHIFT_TIMESTAMP_LENGTH = 0;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  final int FLAG_SAME_KEY_LENGTH = 1 &lt;&lt; 3;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 4;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  final int FLAG_SAME_TYPE = 1 &lt;&lt; 5;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  final int FLAG_SAME_VALUE = 1 &lt;&lt; 6;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private static class FastDiffCompressionState extends CompressionState {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    byte[] timestamp = new byte[KeyValue.TIMESTAMP_SIZE];<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    int prevTimestampOffset;<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @Override<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      in.get(timestamp);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>    @Override<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    void copyFrom(CompressionState state) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      super.copyFrom(state);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      FastDiffCompressionState state2 = (FastDiffCompressionState) state;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      System.arraycopy(state2.timestamp, 0, timestamp, 0,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>          KeyValue.TIMESTAMP_SIZE);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      prevTimestampOffset = state2.prevTimestampOffset;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>    /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>     * Copies the first key/value from the given stream, and initializes<a name="line.82"></a>
-<span class="sourceLineNo">083</span>     * decompression state based on it. Assumes that we have already read key<a name="line.83"></a>
-<span class="sourceLineNo">084</span>     * and value lengths. Does not set {@link #qualifierLength} (not used by<a name="line.84"></a>
-<span class="sourceLineNo">085</span>     * decompression) or {@link #prevOffset} (set by the calle afterwards).<a name="line.85"></a>
-<span class="sourceLineNo">086</span>     */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    private void decompressFirstKV(ByteBuffer out, DataInputStream in)<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        throws IOException {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      int kvPos = out.position();<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      out.putInt(keyLength);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      out.putInt(valueLength);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      prevTimestampOffset = out.position() + keyLength -<a name="line.92"></a>
-<span class="sourceLineNo">093</span>          KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      ByteBufferUtils.copyFromStreamToBuffer(out, in, keyLength + valueLength);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      rowLength = out.getShort(kvPos + KeyValue.ROW_OFFSET);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      familyLength = out.get(kvPos + KeyValue.ROW_OFFSET +<a name="line.96"></a>
-<span class="sourceLineNo">097</span>          KeyValue.ROW_LENGTH_SIZE + rowLength);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      type = out.get(prevTimestampOffset + KeyValue.TIMESTAMP_SIZE);<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><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private void compressSingleKeyValue(<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        FastDiffCompressionState previousState,<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        FastDiffCompressionState currentState,<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        OutputStream out, ByteBuffer in) throws IOException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    currentState.prevOffset = in.position();<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int keyLength = in.getInt();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    int valueOffset =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        currentState.prevOffset + keyLength + KeyValue.ROW_OFFSET;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    int valueLength = in.getInt();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    byte flag = 0;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>    if (previousState.isFirst()) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      // copy the key, there is no common prefix with none<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      out.write(flag);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    } else {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      // find a common prefix and skip it<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      int commonPrefix = ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.126"></a>
-<span class="sourceLineNo">127</span>          previousState.prevOffset + KeyValue.ROW_OFFSET,<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          Math.min(keyLength, previousState.keyLength) -<a name="line.128"></a>
-<span class="sourceLineNo">129</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          commonPrefix, previousState);<a name="line.132"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * Encoder similar to {@link DiffKeyDeltaEncoder} but supposedly faster.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Compress using:<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * - store size of common prefix<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * - save column family once in the first KeyValue<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * - use bits to avoid duplication key length, value length<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *   and type if it same as previous<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * - store in 3 bits length of prefix timestamp<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *    with previous KeyValue's timestamp<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * - one bit which allow to omit value if it is the same<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Format:<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * - 1 byte:    flag<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * - 1-5 bytes: prefix length<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * - 1-8 bytes: timestamp suffix<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * - ... bytes: value (only if FLAG_SAME_VALUE is not set in the flag)<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *<a name="line.55"></a>
+<span class="sourceLineNo">056</span> */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>@InterfaceAudience.Private<a name="line.57"></a>
+<span class="sourceLineNo">058</span>public class FastDiffDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 0) | (1 &lt;&lt; 1) | (1 &lt;&lt; 2);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  final int SHIFT_TIMESTAMP_LENGTH = 0;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  final int FLAG_SAME_KEY_LENGTH = 1 &lt;&lt; 3;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 4;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  final int FLAG_SAME_TYPE = 1 &lt;&lt; 5;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  final int FLAG_SAME_VALUE = 1 &lt;&lt; 6;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private static class FastDiffCompressionState extends CompressionState {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    byte[] timestamp = new byte[KeyValue.TIMESTAMP_SIZE];<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    int prevTimestampOffset;<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @Override<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      in.get(timestamp);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>    @Override<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    void copyFrom(CompressionState state) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      super.copyFrom(state);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      FastDiffCompressionState state2 = (FastDiffCompressionState) state;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      System.arraycopy(state2.timestamp, 0, timestamp, 0,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>          KeyValue.TIMESTAMP_SIZE);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      prevTimestampOffset = state2.prevTimestampOffset;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>    /**<a name="line.84"></a>
+<span class="sourceLineNo">085</span>     * Copies the first key/value from the given stream, and initializes<a name="line.85"></a>
+<span class="sourceLineNo">086</span>     * decompression state based on it. Assumes that we have already read key<a name="line.86"></a>
+<span class="sourceLineNo">087</span>     * and value lengths. Does not set {@link #qualifierLength} (not used by<a name="line.87"></a>
+<span class="sourceLineNo">088</span>     * decompression) or {@link #prevOffset} (set by the calle afterwards).<a name="line.88"></a>
+<span class="sourceLineNo">089</span>     */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    private void decompressFirstKV(ByteBuffer out, DataInputStream in)<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        throws IOException {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      int kvPos = out.position();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      out.putInt(keyLength);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      out.putInt(valueLength);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      prevTimestampOffset = out.position() + keyLength -<a name="line.95"></a>
+<span class="sourceLineNo">096</span>          KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      ByteBufferUtils.copyFromStreamToBuffer(out, in, keyLength + valueLength);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      rowLength = out.getShort(kvPos + KeyValue.ROW_OFFSET);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      familyLength = out.get(kvPos + KeyValue.ROW_OFFSET +<a name="line.99"></a>
+<span class="sourceLineNo">100</span>          KeyValue.ROW_LENGTH_SIZE + rowLength);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      type = out.get(prevTimestampOffset + KeyValue.TIMESTAMP_SIZE);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  private void compressSingleKeyValue(<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        FastDiffCompressionState previousState,<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        FastDiffCompressionState currentState,<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        OutputStream out, ByteBuffer in) throws IOException {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    currentState.prevOffset = in.position();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    int keyLength = in.getInt();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    int valueOffset =<a name="line.112"></a>
+<span class="sourceLineNo">113</span>        currentState.prevOffset + keyLength + KeyValue.ROW_OFFSET;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    int valueLength = in.getInt();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    byte flag = 0;<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (previousState.isFirst()) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      // copy the key, there is no common prefix with none<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      out.write(flag);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    } else {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      // find a common prefix and skip it<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      int commonPrefix = ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.129"></a>
+<span class="sourceLineNo">130</span>          previousState.prevOffset + KeyValue.ROW_OFFSET,<a name="line.130"></a>
+<span class="sourceLineNo">131</span>          Math.min(keyLength, previousState.keyLength) -<a name="line.131"></a>
+<span class="sourceLineNo">132</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.132"></a>
 <span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>      if (keyLength == previousState.keyLength) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      if (valueLength == previousState.valueLength) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.138"></a>
+<span class="sourceLineNo">134</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.134"></a>
+<span class="sourceLineNo">135</span>          commonPrefix, previousState);<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>      if (keyLength == previousState.keyLength) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.138"></a>
 <span class="sourceLineNo">139</span>      }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      if (currentState.type == previousState.type) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        flag |= FLAG_SAME_TYPE;<a name="line.141"></a>
+<span class="sourceLineNo">140</span>      if (valueLength == previousState.valueLength) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        flag |= FLAG_SAME_VALUE_LENGTH;<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>      int commonTimestampPrefix = findCommonTimestampPrefix(<a name="line.144"></a>
-<span class="sourceLineNo">145</span>          currentState, previousState);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      flag |= commonTimestampPrefix &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // Check if current and previous values are the same. Compare value<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      // length first as an optimization.<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      if (valueLength == previousState.valueLength) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        int previousValueOffset = previousState.prevOffset<a name="line.151"></a>
-<span class="sourceLineNo">152</span>            + previousState.keyLength + KeyValue.ROW_OFFSET;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        if (ByteBufferUtils.arePartsEqual(in,<a name="line.153"></a>
-<span class="sourceLineNo">154</span>                previousValueOffset, previousState.valueLength,<a name="line.154"></a>
-<span class="sourceLineNo">155</span>                valueOffset, valueLength)) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          flag |= FLAG_SAME_VALUE;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>      out.write(flag);<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.165"></a>
+<span class="sourceLineNo">143</span>      if (currentState.type == previousState.type) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        flag |= FLAG_SAME_TYPE;<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>      int commonTimestampPrefix = findCommonTimestampPrefix(<a name="line.147"></a>
+<span class="sourceLineNo">148</span>          currentState, previousState);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      flag |= commonTimestampPrefix &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>      // Check if current and previous values are the same. Compare value<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      // length first as an optimization.<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      if (valueLength == previousState.valueLength) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        int previousValueOffset = previousState.prevOffset<a name="line.154"></a>
+<span class="sourceLineNo">155</span>            + previousState.keyLength + KeyValue.ROW_OFFSET;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        if (ByteBufferUtils.arePartsEqual(in,<a name="line.156"></a>
+<span class="sourceLineNo">157</span>                previousValueOffset, previousState.valueLength,<a name="line.157"></a>
+<span class="sourceLineNo">158</span>                valueOffset, valueLength)) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          flag |= FLAG_SAME_VALUE;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>      out.write(flag);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.165"></a>
 <span class="sourceLineNo">166</span>      }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>      ByteBufferUtils.skip(in, commonPrefix);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      if (commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        // Previous and current rows are different. Copy the differing part of<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        // the row, skip the column family, and copy the qualifier.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>            currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.175"></a>
-<span class="sourceLineNo">176</span>            KeyValue.FAMILY_LENGTH_SIZE);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.177"></a>
-<span class="sourceLineNo">178</span>            currentState.qualifierLength);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      } else {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        // The common part includes the whole row. As the column family is the<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // same across the whole file, it will automatically be included in the<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        // common prefix, so we need not special-case it here.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        int restKeyLength = keyLength - commonPrefix -<a name="line.183"></a>
-<span class="sourceLineNo">184</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        ByteBufferUtils.moveBufferToStream(out, in, restKeyLength);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      ByteBufferUtils.skip(in, commonTimestampPrefix);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          KeyValue.TIMESTAMP_SIZE - commonTimestampPrefix);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>      // Write the type if it is not the same as before.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        out.write(currentState.type);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>      // Write the value if it is not the same as before.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        ByteBufferUtils.copyBufferToStream(out, in, valueOffset, valueLength);<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>      // Skip key type and value in the input buffer.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      ByteBufferUtils.skip(in, KeyValue.TYPE_SIZE + currentState.valueLength);<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><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  private int findCommonTimestampPrefix(FastDiffCompressionState left,<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      FastDiffCompressionState right) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    int prefixTimestamp = 0;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    while (prefixTimestamp &lt; (KeyValue.TIMESTAMP_SIZE - 1) &amp;&amp;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        left.timestamp[prefixTimestamp]<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            == right.timestamp[prefixTimestamp]) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      prefixTimestamp++;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    return prefixTimestamp; // has to be at most 7 bytes<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>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      ByteBuffer out, FastDiffCompressionState state)<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte flag = source.readByte();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    int prevKeyLength = state.keyLength;<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      state.keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      state.valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.227"></a>
+<span class="sourceLineNo">167</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>      ByteBufferUtils.skip(in, commonPrefix);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      if (commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        // Previous and current rows are different. Copy the differing part of<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // the row, skip the column family, and copy the qualifier.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.178"></a>
+<span class="sourceLineNo">179</span>            KeyValue.FAMILY_LENGTH_SIZE);<a name="line.179"></a>
+<span class="sourceLineNo">180</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.180"></a>
+<span class="sourceLineNo">181</span>            currentState.qualifierLength);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      } else {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>        // The common part includes the whole row. As the column family is the<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        // same across the whole file, it will automatically be included in the<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        // common prefix, so we need not special-case it here.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        int restKeyLength = keyLength - commonPrefix -<a name="line.186"></a>
+<span class="sourceLineNo">187</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        ByteBufferUtils.moveBufferToStream(out, in, restKeyLength);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      }<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      ByteBufferUtils.skip(in, commonTimestampPrefix);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.191"></a>
+<span class="sourceLineNo">192</span>          KeyValue.TIMESTAMP_SIZE - commonTimestampPrefix);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>      // Write the type if it is not the same as before.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>        out.write(currentState.type);<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>      // Write the value if it is not the same as before.<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        ByteBufferUtils.copyBufferToStream(out, in, valueOffset, valueLength);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      }<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>      // Skip key type and value in the input buffer.<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      ByteBufferUtils.skip(in, KeyValue.TYPE_SIZE + currentState.valueLength);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int findCommonTimestampPrefix(FastDiffCompressionState left,<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      FastDiffCompressionState right) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    int prefixTimestamp = 0;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    while (prefixTimestamp &lt; (KeyValue.TIMESTAMP_SIZE - 1) &amp;&amp;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        left.timestamp[prefixTimestamp]<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            == right.timestamp[prefixTimestamp]) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      prefixTimestamp++;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    return prefixTimestamp; // has to be at most 7 bytes<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      ByteBuffer out, FastDiffCompressionState state)<a name="line.221"></a>
+<span class="sourceLineNo">222</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    byte flag = source.readByte();<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    int prevKeyLength = state.keyLength;<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      state.keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    ByteBufferUtils.ensureSpace(out, state.keyLength + state.valueLength +<a name="line.231"></a>
-<span class="sourceLineNo">232</span>        KeyValue.ROW_OFFSET);<a name="line.232"></a>
+<span class="sourceLineNo">229</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      state.valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.232"></a>
 <span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>    int kvPos = out.position();<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    if (!state.isFirst()) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      // copy the prefix<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      int common;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      int prevOffset;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        out.putInt(state.keyLength);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        out.putInt(state.valueLength);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        prevOffset = state.prevOffset + KeyValue.ROW_OFFSET;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        common = commonLength;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      } else {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>          prevOffset = state.prevOffset;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>          common = commonLength + KeyValue.ROW_OFFSET;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        } else {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>          out.putInt(state.keyLength);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          prevOffset = state.prevOffset + KeyValue.KEY_LENGTH_SIZE;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          common = commonLength + KeyValue.KEY_LENGTH_SIZE;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>        }<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      }<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out, prevOffset, common);<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>      // copy the rest of the key from the buffer<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      int keyRestLength;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      if (commonLength &lt; state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        // omit the family part of the key, it is always the same<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        int rowWithSizeLength;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        int rowRestLength;<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>        // check length of row<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (commonLength &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          // not yet copied, do it now<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              KeyValue.ROW_LENGTH_SIZE - commonLength);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>          rowWithSizeLength = out.getShort(out.position() -<a name="line.272"></a>
-<span class="sourceLineNo">273</span>              KeyValue.ROW_LENGTH_SIZE) + KeyValue.ROW_LENGTH_SIZE;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          rowRestLength = rowWithSizeLength - KeyValue.ROW_LENGTH_SIZE;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        } else {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          // already in kvBuffer, just read it<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          rowWithSizeLength = out.getShort(kvPos + KeyValue.ROW_OFFSET) +<a name="line.277"></a>
-<span class="sourceLineNo">278</span>              KeyValue.ROW_LENGTH_SIZE;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          rowRestLength = rowWithSizeLength - commonLength;<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>        // copy the rest of row<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        ByteBufferUtils.copyFromStreamToBuffer(out, source, rowRestLength);<a name="line.283"></a>
+<span class="sourceLineNo">234</span>    ByteBufferUtils.ensureSpace(out, state.keyLength + state.valueLength +<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        KeyValue.ROW_OFFSET);<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>    int kvPos = out.position();<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>    if (!state.isFirst()) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      // copy the prefix<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      int common;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      int prevOffset;<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        out.putInt(state.keyLength);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        out.putInt(state.valueLength);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        prevOffset = state.prevOffset + KeyValue.ROW_OFFSET;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>        common = commonLength;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      } else {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>          prevOffset = state.prevOffset;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>          common = commonLength + KeyValue.ROW_OFFSET;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        } else {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          out.putInt(state.keyLength);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>          prevOffset = state.prevOffset + KeyValue.KEY_LENGTH_SIZE;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>          common = commonLength + KeyValue.KEY_LENGTH_SIZE;<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><a name="line.259"></a>
+<span class="sourceLineNo">260</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out, prevOffset, common);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>      // copy the rest of the key from the buffer<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      int keyRestLength;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      if (commonLength &lt; state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        // omit the family part of the key, it is always the same<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        int rowWithSizeLength;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        int rowRestLength;<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>        // check length of row<a name="line.269"></a>
+<span class="sourceLineNo">270</span>        if (commonLength &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>          // not yet copied, do it now<a name="line.271"></a>
+<span class="sourceLineNo">272</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.272"></a>
+<span class="sourceLineNo">273</span>              KeyValue.ROW_LENGTH_SIZE - commonLength);<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>          rowWithSizeLength = out.getShort(out.position() -<a name="line.275"></a>
+<span class="sourceLineNo">276</span>              KeyValue.ROW_LENGTH_SIZE) + KeyValue.ROW_LENGTH_SIZE;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>          rowRestLength = rowWithSizeLength - KeyValue.ROW_LENGTH_SIZE;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>        } else {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          // already in kvBuffer, just read it<a name="line.279"></a>
+<span class="sourceLineNo">280</span>          rowWithSizeLength = out.getShort(kvPos + KeyValue.ROW_OFFSET) +<a name="line.280"></a>
+<span class="sourceLineNo">281</span>              KeyValue.ROW_LENGTH_SIZE;<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          rowRestLength = rowWithSizeLength - commonLength;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
 <span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>        // copy the column family<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.286"></a>
-<span class="sourceLineNo">287</span>            state.prevOffset + KeyValue.ROW_OFFSET + KeyValue.ROW_LENGTH_SIZE<a name="line.287"></a>
-<span class="sourceLineNo">288</span>                + state.rowLength, state.familyLength<a name="line.288"></a>
-<span class="sourceLineNo">289</span>                + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        state.rowLength = (short) (rowWithSizeLength -<a name="line.290"></a>
-<span class="sourceLineNo">291</span>            KeyValue.ROW_LENGTH_SIZE);<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>        keyRestLength = state.keyLength - rowWithSizeLength -<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            state.familyLength -<a name="line.294"></a>
-<span class="sourceLineNo">295</span>            (KeyValue.FAMILY_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      } else {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        // prevRowWithSizeLength is the same as on previous row<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        keyRestLength = state.keyLength - commonLength -<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      }<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      // copy the rest of the key, after column family == column qualifier<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source, keyRestLength);<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>      // copy timestamp<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      int prefixTimestamp =<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.307"></a>
-<span class="sourceLineNo">308</span>          state.prevTimestampOffset, prefixTimestamp);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      state.prevTimestampOffset = out.position() - prefixTimestamp;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          KeyValue.TIMESTAMP_SIZE - prefixTimestamp);<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>      // copy the type and value<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        out.put(state.type);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.317"></a>
-<span class="sourceLineNo">318</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        } else {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>              state.valueLength);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        }<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      } else {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.325"></a>
-<span class="sourceLineNo">326</span>              KeyValue.TYPE_SIZE);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.327"></a>
-<span class="sourceLineNo">328</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        } else {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.330"></a>
-<span class="sourceLineNo">331</span>              state.valueLength + KeyValue.TYPE_SIZE);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        state.type = out.get(state.prevTimestampOffset +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            KeyValue.TIMESTAMP_SIZE);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    } else { // this is the first element<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      state.decompressFirstKV(out, source);<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>
-<span class="sourceLineNo">340</span>    state.prevOffset = kvPos;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
+<span class="sourceLineNo">285</span>        // copy the rest of row<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        ByteBufferUtils.copyFromStreamToBuffer(out, source, rowRestLength);<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>        // copy the column family<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.289"></a>
+<span class="sourceLineNo">290</span>            state.prevOffset + KeyValue.ROW_OFFSET + KeyValue.ROW_LENGTH_SIZE<a name="line.290"></a>
+<span class="sourceLineNo">291</span>                + state.rowLength, state.familyLength<a name="line.291"></a>
+<span class="sourceLineNo">292</span>                + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        state.rowLength = (short) (rowWithSizeLength -<a name="line.293"></a>
+<span class="sourceLineNo">294</span>            KeyValue.ROW_LENGTH_SIZE);<a name="line.294"></a>
+<span class="sourceLineNo">295</span><a name="line.295"></a>
+<span class="sourceLineNo">296</span>        keyRestLength = state.keyLength - rowWithSizeLength -<a name="line.296"></a>
+<span class="sourceLineNo">297</span>            state.familyLength -<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            (KeyValue.FAMILY_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      } else {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>        // prevRowWithSizeLength is the same as on previous row<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        keyRestLength = state.keyLength - commonLength -<a name="line.301"></a>
+<span class="sourceLineNo">302</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      // copy the rest of the key, after column family == column qualifier<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source, keyRestLength);<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>      // copy timestamp<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      int prefixTimestamp =<a name="line.308"></a>
+<span class="sourceLineNo">309</span>          (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          state.prevTimestampOffset, prefixTimestamp);<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      state.prevTimestampOffset = out.position() - prefixTimestamp;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          KeyValue.TIMESTAMP_SIZE - prefixTimestamp);<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      // copy the type and value<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        out.put(state.type);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.320"></a>
+<span class="sourceLineNo">321</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        } else {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              state.valueLength);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      } else {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.328"></a>
+<span class="sourceLineNo">329</span>              KeyValue.TYPE_SIZE);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.330"></a>
+<span class="sourceLineNo">331</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        } else {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.333"></a>
+<span class="sourceLineNo">334</span>              state.valueLength + KeyValue.TYPE_SIZE);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>        }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        state.type = out.get(state.prevTimestampOffset +<a name="line.336"></a>
+<span class="sourceLineNo">337</span>            KeyValue.TIMESTAMP_SIZE);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>      }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    } else { // this is the first element<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      state.decompressFirstKV(out, source);<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 void compressKeyValues(DataOutputStream out,<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    in.rewind();<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    FastDiffCompressionState previousState = new FastDiffCompressionState();<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    FastDiffCompressionState currentState = new FastDiffCompressionState();<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    while (in.hasRemaining()) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      compressSingleKeyValue(previousState, currentState,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>          out, in);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>      // swap previousState &lt;-&gt; currentState<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      FastDiffCompressionState tmp = previousState;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      previousState = currentState;<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      currentState = tmp;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  @Override<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    int decompressedSize = source.readInt();<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        allocHeaderLength);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    buffer.position(allocHeaderLength);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    FastDiffCompressionState state = new FastDiffCompressionState();<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    while (source.available() &gt; skipLastBytes) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (source.available() != skipLastBytes) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      throw new IllegalStateException("Read too much bytes.");<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>    return buffer;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">343</span>    state.prevOffset = kvPos;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  }<a name="line.344"></a>
+<span class="sourceLineNo">345</span><a name="line.345"></a>
+<span class="sourceLineNo">346</span>  @Override<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  public void compressKeyValues(DataOutputStream out,<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    in.rewind();<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    FastDiffCompressionState previousState = new FastDiffCompressionState();<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    FastDiffCompressionState currentState = new FastDiffCompressionState();<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    while (in.hasRemaining()) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      compressSingleKeyValue(previousState, currentState,<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          out, in);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>      // swap previousState &lt;-&gt; currentState<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      FastDiffCompressionState tmp = previousState;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      previousState = currentState;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      currentState = tmp;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>  }<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>  @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.366"></a>
+<span class="sourceLineNo">367</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.367"></a>
+<span class="sourceLineNo">368</span>          throws IOException {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    int decompressedSize = source.readInt();<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        allocHeaderLength);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    buffer.position(allocHeaderLength);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    FastDiffCompressionState state = new FastDiffCompressionState();<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    while (source.available() &gt; skipLastBytes) {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (source.available() != skipLastBytes) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      throw new IllegalStateException("Read too much bytes.");<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>  @Override<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    block.mark();<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    block.position(Bytes.SIZEOF_INT + Bytes.SIZEOF_BYTE);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    int pos = block.position();<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    block.reset();<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<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>  @Override<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  public String toString() {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return FastDiffDeltaEncoder.class.getSimpleName();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  }<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  protected static class FastDiffSeekerState extends SeekerState {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private byte[] prevTimestampAndType =<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        new byte[KeyValue.TIMESTAMP_TYPE_SIZE];<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    private int rowLengthWithSize;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private int familyLengthWithSize;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    @Override<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    protected void copyFromNext(SeekerState that) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      super.copyFromNext(that);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      FastDiffSeekerState other = (FastDiffSeekerState) that;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      System.arraycopy(other.prevTimestampAndType, 0,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          prevTimestampAndType, 0,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      familyLengthWithSize = other.familyLengthWithSize;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    }<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>  @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      final boolean includesMemstoreTS) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return new BufferedEncodedSeeker&lt;FastDiffSeekerState&gt;(comparator) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      private void decode(boolean isFirst) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        byte flag = currentBuffer.get();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          if (!isFirst) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>            System.arraycopy(current.keyBuffer,<a name="line.426"></a>
-<span class="sourceLineNo">427</span>                current.keyLength - current.prevTimestampAndType.length,<a name="line.427"></a>
-<span class="sourceLineNo">428</span>                current.prevTimestampAndType, 0,<a name="line.428"></a>
-<span class="sourceLineNo">429</span>                current.prevTimestampAndType.length);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        }<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          current.valueLength =<a name="line.434"></a>
-<span class="sourceLineNo">435</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        current.lastCommonPrefix =<a name="line.437"></a>
-<span class="sourceLineNo">438</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        current.ensureSpaceForKey();<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span>        if (isFirst) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          // copy everything<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>              current.keyLength - current.prevTimestampAndType.length);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.446"></a>
-<span class="sourceLineNo">447</span>              Bytes.SIZEOF_SHORT;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>          current.familyLengthWithSize =<a name="line.448"></a>
-<span class="sourceLineNo">449</span>              current.keyBuffer[current.rowLengthWithSize] + Bytes.SIZEOF_BYTE;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        } else if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>          // length of row is different, copy everything except family<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>          // copy the row size<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          int oldRowLengthWithSize = current.rowLengthWithSize;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.455"></a>
-<span class="sourceLineNo">456</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.456"></a>
-<span class="sourceLineNo">457</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.457"></a>
-<span class="sourceLineNo">458</span>              Bytes.SIZEOF_SHORT;<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>          // move the column family<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          System.arraycopy(current.keyBuffer, oldRowLengthWithSize,<a name="line.461"></a>
-<span class="sourceLineNo">462</span>              current.keyBuffer, current.rowLengthWithSize,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>              current.familyLengthWithSize);<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>          // copy the rest of row<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.466"></a>
-<span class="sourceLineNo">467</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.467"></a>
-<span class="sourceLineNo">468</span><a name="line.468"></a>
-<span class="sourceLineNo">469</span>          // copy the qualifier<a name="line.469"></a>
-<span class="sourceLineNo">470</span>          currentBuffer.get(current.keyBuffer, current.rowLengthWithSize<a name="line.470"></a>
-<span class="sourceLineNo">471</span>              + current.familyLengthWithSize, current.keyLength<a name="line.471"></a>
-<span class="sourceLineNo">472</span>              - current.rowLengthWithSize - current.familyLengthWithSize<a name="line.472"></a>
-<span class="sourceLineNo">473</span>              - current.prevTimestampAndType.length);<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        } else if (current.lastCommonPrefix &lt; current.rowLengthWithSize) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          // We have to copy part of row and qualifier, but the column family<a name="line.475"></a>
-<span class="sourceLineNo">476</span>          // is in the right place.<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>          // before column family (rest of row)<a name="line.478"></a>
-<span class="sourceLineNo">479</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>              current.rowLengthWithSize - current.lastCommonPrefix);<a name="line.480"></a>
-<span class="sourceLineNo">481</span><a name="line.481"></a>
-<span class="sourceLineNo">482</span>          // after column family (qualifier)<a name="line.482"></a>
-<span class="sourceLineNo">483</span>          currentBuffer.get(current.keyBuffer, current.rowLengthWithSize<a name="line.483"></a>
-<span class="sourceLineNo">484</span>              + current.familyLengthWithSize, current.keyLength<a name="line.484"></a>
-<span class="sourceLineNo">485</span>              - current.rowLengthWithSize - current.familyLengthWithSize<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              - current.prevTimestampAndType.length);<a name="line.486"></a>
-<span class="sourceLineNo">487</span>        } else {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          // copy just the ending<a name="line.488"></a>
-<span class="sourceLineNo">489</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.489"></a>
-<span class="sourceLineNo">490</span>              current.keyLength - current.prevTimestampAndType.length<a name="line.490"></a>
-<span class="sourceLineNo">491</span>                  - current.lastCommonPrefix);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        }<a name="line.492"></a>
-<span class="sourceLineNo">493</span><a name="line.493"></a>
-<span class="sourceLineNo">494</span>        // timestamp<a name="line.494"></a>
-<span class="sourceLineNo">495</span>        int pos = current.keyLength - current.prevTimestampAndType.length;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        int commonTimestampPrefix = (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>          SHIFT_TIMESTAMP_LENGTH;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>          System.arraycopy(current.prevTimestampAndType, 0, current.keyBuffer,<a name="line.499"></a>
-<span class="sourceLineNo">500</span>              pos, commonTimestampPrefix);<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        pos += commonTimestampPrefix;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        currentBuffer.get(current.keyBuffer, pos,<a name="line.503"></a>
-<span class="sourceLineNo">504</span>            Bytes.SIZEOF_LONG - commonTimestampPrefix);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        pos += Bytes.SIZEOF_LONG - commonTimestampPrefix;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>        // type<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          currentBuffer.get(current.keyBuffer, pos, Bytes.SIZEOF_BYTE);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        } else if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          current.keyBuffer[pos] =<a name="line.511"></a>
-<span class="sourceLineNo">512</span>              current.prevTimestampAndType[Bytes.SIZEOF_LONG];<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>
-<span class="sourceLineNo">515</span>        // handle value<a name="line.515"></a>
-<span class="sourceLineNo">516</span>        if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          current.valueOffset = currentBuffer.position();<a name="line.517"></a>
-<span class="sourceLineNo">518</span>          ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>        if (includesMemstoreTS) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>        } else {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>          current.memstoreTS = 0;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        }<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        current.nextKvOffset = currentBuffer.position();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>      @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      protected void decodeFirst() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>        decode(true);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>      @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      protected void decodeNext() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>        decode(false);<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      }<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>      @Override<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      protected FastDiffSeekerState createSeekerState() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return new FastDiffSeekerState();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    };<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>}<a name="line.546"></a>
+<span class="sourceLineNo">383</span>    return buffer;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  @Override<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    block.mark();<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    block.position(Bytes.SIZEOF_INT + Bytes.SIZEOF_BYTE);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    int pos = block.position();<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    block.reset();<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<a name="line.395"></a>
+<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
+<span class="sourceLineNo">397</span><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  public String toString() {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    return FastDiffDeltaEncoder.class.getSimpleName();<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>  protected static class F

<TRUNCATED>

[26/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/master/SplitLogManager.TaskFinisher.Status.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/master/SplitLogManager.TaskFinisher.Status.html b/0.94/apidocs/org/apache/hadoop/hbase/master/SplitLogManager.TaskFinisher.Status.html
index 03bc9cd..6c0bfaa 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/master/SplitLogManager.TaskFinisher.Status.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/master/SplitLogManager.TaskFinisher.Status.html
@@ -249,7 +249,7 @@ for (SplitLogManager.TaskFinisher.Status c : SplitLogManager.TaskFinisher.Status
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TaskFinisher.Status.html" title="enum in org.apache.hadoop.hbase.master">SplitLogManager.TaskFinisher.Status</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/master/SplitLogManager.TaskFinisher.Status.html#line.49">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/master/cleaner/BaseHFileCleanerDelegate.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/master/cleaner/BaseHFileCleanerDelegate.html b/0.94/apidocs/org/apache/hadoop/hbase/master/cleaner/BaseHFileCleanerDelegate.html
index 96777e3..fbda186 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/master/cleaner/BaseHFileCleanerDelegate.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/master/cleaner/BaseHFileCleanerDelegate.html
@@ -121,7 +121,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/cleaner/BaseFi
  <p>
  If other effects are needed, implement your own LogCleanerDelegate and add it to the
  configuration "hbase.master.hfilecleaner.plugins", which is a comma-separated list of fully
- qualified class names. The <code>HFileCleaner<code> will build the cleaner chain in
+ qualified class names. The <code>HFileCleaner<code> will build the cleaner chain in 
  order the order specified by the configuration.
  <p>
  For subclasses, setConf will be called exactly <i>once</i> before using the cleaner.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.html b/0.94/apidocs/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.html
index 027a828..a5d0a53 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.html
@@ -343,7 +343,7 @@ extends org.apache.hadoop.metrics.util.MetricsTimeVaryingRate</pre>
 <h4>pushMetric</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.html#line.71">pushMetric</a>(org.apache.hadoop.metrics.MetricsRecord&nbsp;mr)</pre>
 <div class="block">Push updated metrics to the mr.
-
+ 
  Note this does NOT push to JMX
  (JMX gets the info via <code>MetricsTimeVaryingRate.getPreviousIntervalAverageTime()</code> and
  <code>MetricsTimeVaryingRate.getPreviousIntervalNumOps()</code></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/metrics/histogram/MetricsHistogram.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/metrics/histogram/MetricsHistogram.html b/0.94/apidocs/org/apache/hadoop/hbase/metrics/histogram/MetricsHistogram.html
index 16d3c34..0ccccf8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/metrics/histogram/MetricsHistogram.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/metrics/histogram/MetricsHistogram.html
@@ -393,8 +393,8 @@ extends org.apache.hadoop.metrics.util.MetricsBase</pre>
                 <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;description,
                 boolean&nbsp;forwardBiased)</pre>
 <div class="block">Constructor to create a new histogram metric</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nam</code> - the name to publish the metric under</dd><dd><code>registry</code> - where the metrics object will be registered</dd><dd><code>description</code> - the metric's description</dd><dd><code>forwardBiased</code> - true if you want this histogram to give more
-                      weight to recent data,
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nam</code> - the name to publish the metric under</dd><dd><code>registry</code> - where the metrics object will be registered</dd><dd><code>description</code> - the metric's description</dd><dd><code>forwardBiased</code> - true if you want this histogram to give more 
+                      weight to recent data, 
                       false if you want all data to have uniform weight</dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html
index 91a5b0a..68ad25b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html
@@ -97,8 +97,8 @@
 <br>
 <pre>public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html#line.30">MonitoredRPCHandler</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a></pre>
-<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers
- handling frequent, short duration tasks. String concatenations and object
+<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers 
+ handling frequent, short duration tasks. String concatenations and object 
  allocations are avoided in methods that will be hit by every RPC call.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html
index c3d8b51..2870624 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html
@@ -102,8 +102,8 @@
 <pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#line.39">MonitoredRPCHandlerImpl</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a></pre>
-<div class="block">A MonitoredTask implementation designed for use with RPC Handlers
- handling frequent, short duration tasks. String concatenations and object
+<div class="block">A MonitoredTask implementation designed for use with RPC Handlers 
+ handling frequent, short duration tasks. String concatenations and object 
  allocations are avoided in methods that will be hit by every RPC call.</div>
 </li>
 </ul>
@@ -188,7 +188,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#clone()">clone</a></strong>()</code>
-<div class="block">Public exposure of Object.clone() in order to allow clients to easily
+<div class="block">Public exposure of Object.clone() in order to allow clients to easily 
  capture current state.</div>
 </td>
 </tr>
@@ -202,7 +202,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#getClient()">getClient</a></strong>()</code>
-<div class="block">If an RPC call is currently running, produces a String representation of
+<div class="block">If an RPC call is currently running, produces a String representation of 
  the connection from which it was received.</div>
 </td>
 </tr>
@@ -238,14 +238,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#getRPCQueueTime()">getRPCQueueTime</a></strong>()</code>
-<div class="block">Accesses the queue time for the currently running RPC on the
+<div class="block">Accesses the queue time for the currently running RPC on the 
  monitored Handler.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#getRPCStartTime()">getRPCStartTime</a></strong>()</code>
-<div class="block">Accesses the start time for the currently running RPC on the
+<div class="block">Accesses the start time for the currently running RPC on the 
  monitored Handler.</div>
 </td>
 </tr>
@@ -264,7 +264,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#getStatus()">getStatus</a></strong>()</code>
-<div class="block">Gets the status of this handler; if it is currently servicing an RPC,
+<div class="block">Gets the status of this handler; if it is currently servicing an RPC, 
  this status will include the RPC information.</div>
 </td>
 </tr>
@@ -275,14 +275,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#isOperationRunning()">isOperationRunning</a></strong>()</code>
-<div class="block">Indicates to the client whether this task is monitoring a currently active
+<div class="block">Indicates to the client whether this task is monitoring a currently active 
  RPC call to a database command.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#isRPCRunning()">isRPCRunning</a></strong>()</code>
-<div class="block">Indicates to the client whether this task is monitoring a currently active
+<div class="block">Indicates to the client whether this task is monitoring a currently active 
  RPC call.</div>
 </td>
 </tr>
@@ -320,7 +320,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#setRPCPacket(org.apache.hadoop.io.Writable)">setRPCPacket</a></strong>(org.apache.hadoop.io.Writable&nbsp;param)</code>
-<div class="block">Gives this instance a reference to the Writable received by the RPC, so
+<div class="block">Gives this instance a reference to the Writable received by the RPC, so 
  that it can later compute its size if asked for it.</div>
 </td>
 </tr>
@@ -341,7 +341,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#toMap()">toMap</a></strong>()</code>
-<div class="block">Creates a string map of internal details for extensible exposure of
+<div class="block">Creates a string map of internal details for extensible exposure of 
  monitored tasks.</div>
 </td>
 </tr>
@@ -420,7 +420,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <h4>clone</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#line.57">clone</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html#clone()">MonitoredTask</a></code></strong></div>
-<div class="block">Public exposure of Object.clone() in order to allow clients to easily
+<div class="block">Public exposure of Object.clone() in order to allow clients to easily 
  capture current state.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -435,7 +435,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <li class="blockList">
 <h4>getStatus</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/monitoring/MonitoredRPCHandlerImpl.html#line.67">getStatus</a>()</pre>
-<div class="block">Gets the status of this handler; if it is currently servicing an RPC,
+<div class="block">Gets the status of this handler; if it is currently servicing an RPC, 
  this status will include the RPC information.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -450,7 +450,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <li class="blockList">
 <h4>getRPCQueueTime</h4>
 <pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#line.79">getRPCQueueTime</a>()</pre>
-<div class="block">Accesses the queue time for the currently running RPC on the
+<div class="block">Accesses the queue time for the currently running RPC on the 
  monitored Handler.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -465,7 +465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <li class="blockList">
 <h4>getRPCStartTime</h4>
 <pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#line.91">getRPCStartTime</a>()</pre>
-<div class="block">Accesses the start time for the currently running RPC on the
+<div class="block">Accesses the start time for the currently running RPC on the 
  monitored Handler.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -526,12 +526,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <li class="blockList">
 <h4>getClient</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/monitoring/MonitoredRPCHandlerImpl.html#line.155">getClient</a>()</pre>
-<div class="block">If an RPC call is currently running, produces a String representation of
+<div class="block">If an RPC call is currently running, produces a String representation of 
  the connection from which it was received.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html#getClient()">getClient</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a></code></dd>
-<dt><span class="strong">Returns:</span></dt><dd>A human-readable string representation of the address and port
+<dt><span class="strong">Returns:</span></dt><dd>A human-readable string representation of the address and port 
   of the client.</dd></dl>
 </li>
 </ul>
@@ -542,7 +542,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <li class="blockList">
 <h4>isRPCRunning</h4>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#line.164">isRPCRunning</a>()</pre>
-<div class="block">Indicates to the client whether this task is monitoring a currently active
+<div class="block">Indicates to the client whether this task is monitoring a currently active 
  RPC call.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -557,8 +557,8 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <li class="blockList">
 <h4>isOperationRunning</h4>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#line.175">isOperationRunning</a>()</pre>
-<div class="block">Indicates to the client whether this task is monitoring a currently active
- RPC call to a database command. (as defined by
+<div class="block">Indicates to the client whether this task is monitoring a currently active 
+ RPC call to a database command. (as defined by 
  o.a.h.h.client.Operation)</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -590,7 +590,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <li class="blockList">
 <h4>setRPCPacket</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#line.206">setRPCPacket</a>(org.apache.hadoop.io.Writable&nbsp;param)</pre>
-<div class="block">Gives this instance a reference to the Writable received by the RPC, so
+<div class="block">Gives this instance a reference to the Writable received by the RPC, so 
  that it can later compute its size if asked for it.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -634,7 +634,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredR
 <h4>toMap</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#line.227">toMap</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html#toMap()">MonitoredTask</a></code></strong></div>
-<div class="block">Creates a string map of internal details for extensible exposure of
+<div class="block">Creates a string map of internal details for extensible exposure of 
  monitored tasks.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html
index c5a9d5a..8c1934e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html
@@ -266,7 +266,7 @@ for (MonitoredTask.State c : MonitoredTask.State.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html" title="enum in org.apache.hadoop.hbase.monitoring">MonitoredTask.State</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html#line.37">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredTask.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredTask.html b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredTask.html
index e30633e..9eb73ff 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredTask.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/MonitoredTask.html
@@ -152,7 +152,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Cloneable.ht
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html#clone()">clone</a></strong>()</code>
-<div class="block">Public exposure of Object.clone() in order to allow clients to easily
+<div class="block">Public exposure of Object.clone() in order to allow clients to easily 
  capture current state.</div>
 </td>
 </tr>
@@ -217,7 +217,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Cloneable.ht
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html#toMap()">toMap</a></strong>()</code>
-<div class="block">Creates a string map of internal details for extensible exposure of
+<div class="block">Creates a string map of internal details for extensible exposure of 
  monitored tasks.</div>
 </td>
 </tr>
@@ -380,7 +380,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Cloneable.ht
 <li class="blockList">
 <h4>clone</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredTask.html#line.61">clone</a>()</pre>
-<div class="block">Public exposure of Object.clone() in order to allow clients to easily
+<div class="block">Public exposure of Object.clone() in order to allow clients to easily 
  capture current state.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>a copy of the object whose references will not change</dd></dl>
 </li>
@@ -393,7 +393,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Cloneable.ht
 <h4>toMap</h4>
 <pre><a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/MonitoredTask.html#line.68">toMap</a>()
                          throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Creates a string map of internal details for extensible exposure of
+<div class="block">Creates a string map of internal details for extensible exposure of 
  monitored tasks.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>A Map containing information for this task.</dd>
 <dt><span class="strong">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/monitoring/TaskMonitor.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/TaskMonitor.html b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/TaskMonitor.html
index 7500623..dcce4dd 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/TaskMonitor.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/TaskMonitor.html
@@ -156,7 +156,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskMonitor.html#getTasks()">getTasks</a></strong>()</code>
-<div class="block">Produces a list containing copies of the current state of all non-expired
+<div class="block">Produces a list containing copies of the current state of all non-expired 
  MonitoredTasks handled by this TaskMonitor.</div>
 </td>
 </tr>
@@ -235,7 +235,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <li class="blockList">
 <h4>getTasks</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/monitoring/TaskMonitor.html#line.117">getTasks</a>()</pre>
-<div class="block">Produces a list containing copies of the current state of all non-expired
+<div class="block">Produces a list containing copies of the current state of all non-expired 
  MonitoredTasks handled by this TaskMonitor.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>A complete list of MonitoredTasks.</dd></dl>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/monitoring/class-use/MonitoredRPCHandler.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/class-use/MonitoredRPCHandler.html b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/class-use/MonitoredRPCHandler.html
index 4d83809..e971e00 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/class-use/MonitoredRPCHandler.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/class-use/MonitoredRPCHandler.html
@@ -126,7 +126,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></strong></code>
-<div class="block">A MonitoredTask implementation designed for use with RPC Handlers
+<div class="block">A MonitoredTask implementation designed for use with RPC Handlers 
  handling frequent, short duration tasks.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/monitoring/class-use/MonitoredTask.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/class-use/MonitoredTask.html b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/class-use/MonitoredTask.html
index c61b904..ac2e489 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/class-use/MonitoredTask.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/class-use/MonitoredTask.html
@@ -151,7 +151,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a></strong></code>
-<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers
+<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers 
  handling frequent, short duration tasks.</div>
 </td>
 </tr>
@@ -167,7 +167,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></strong></code>
-<div class="block">A MonitoredTask implementation designed for use with RPC Handlers
+<div class="block">A MonitoredTask implementation designed for use with RPC Handlers 
  handling frequent, short duration tasks.</div>
 </td>
 </tr>
@@ -183,7 +183,7 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a></code></td>
 <td class="colLast"><span class="strong">MonitoredTask.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html#clone()">clone</a></strong>()</code>
-<div class="block">Public exposure of Object.clone() in order to allow clients to easily
+<div class="block">Public exposure of Object.clone() in order to allow clients to easily 
  capture current state.</div>
 </td>
 </tr>
@@ -203,7 +203,7 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/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/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&gt;</code></td>
 <td class="colLast"><span class="strong">TaskMonitor.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/monitoring/TaskMonitor.html#getTasks()">getTasks</a></strong>()</code>
-<div class="block">Produces a list containing copies of the current state of all non-expired
+<div class="block">Produces a list containing copies of the current state of all non-expired 
  MonitoredTasks handled by this TaskMonitor.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/monitoring/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/package-summary.html
index 014d129..249464d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/package-summary.html
@@ -77,7 +77,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a></td>
 <td class="colLast">
-<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers
+<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers 
  handling frequent, short duration tasks.</div>
 </td>
 </tr>
@@ -113,7 +113,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></td>
 <td class="colLast">
-<div class="block">A MonitoredTask implementation designed for use with RPC Handlers
+<div class="block">A MonitoredTask implementation designed for use with RPC Handlers 
  handling frequent, short duration tasks.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/monitoring/package-use.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/package-use.html b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/package-use.html
index 55dcfcc..6996caa 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/monitoring/package-use.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/monitoring/package-use.html
@@ -114,7 +114,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/monitoring/class-use/MonitoredRPCHandler.html#org.apache.hadoop.hbase.ipc">MonitoredRPCHandler</a>
-<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers
+<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers 
  handling frequent, short duration tasks.</div>
 </td>
 </tr>
@@ -171,13 +171,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/monitoring/class-use/MonitoredRPCHandler.html#org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a>
-<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers
+<div class="block">A MonitoredTask implementation optimized for use with RPC Handlers 
  handling frequent, short duration tasks.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/monitoring/class-use/MonitoredRPCHandlerImpl.html#org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a>
-<div class="block">A MonitoredTask implementation designed for use with RPC Handlers
+<div class="block">A MonitoredTask implementation designed for use with RPC Handlers 
  handling frequent, short duration tasks.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/package-summary.html
index 625efe7..2abc0ca 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/package-summary.html
@@ -253,7 +253,7 @@
 <td class="colFirst"><a href="../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></td>
 <td class="colLast">
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/package-use.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/package-use.html b/0.94/apidocs/org/apache/hadoop/hbase/package-use.html
index 7b71461..59af2db 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/package-use.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/package-use.html
@@ -367,7 +367,7 @@ service.</div>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -472,7 +472,7 @@ service.</div>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.avro">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -523,7 +523,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.catalog">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -610,7 +610,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.client">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -728,7 +728,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.constraint">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -778,7 +778,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.coprocessor">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -991,7 +991,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.ipc">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1097,7 +1097,7 @@ service.</div>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.master">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1188,7 +1188,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.master.handler">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1256,7 +1256,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.master.snapshot">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1295,7 +1295,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.migration">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1383,7 +1383,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.regionserver">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1449,7 +1449,7 @@ service.</div>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.regionserver.handler">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1506,7 +1506,7 @@ service.</div>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.regionserver.wal">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1593,7 +1593,7 @@ service.</div>
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.replication.regionserver">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1640,7 +1640,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.rest.client">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1659,7 +1659,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.rest.model">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1693,7 +1693,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.snapshot">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>
@@ -1773,7 +1773,7 @@ service.</div>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../org/apache/hadoop/hbase/class-use/HTableDescriptor.html#org.apache.hadoop.hbase.util">HTableDescriptor</a>
 <div class="block">HTableDescriptor contains the details about an HBase table  such as the descriptors of
- all the column families, is the table a catalog table, <code> -ROOT- </code> or
+ all the column families, is the table a catalog table, <code> -ROOT- </code> or 
  <code> .META.</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ColumnTracker.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ColumnTracker.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ColumnTracker.html
index 79a0e0f..251d5c9 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ColumnTracker.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ColumnTracker.html
@@ -108,7 +108,7 @@
  <ul><li><a href="../../../../../org/apache/hadoop/hbase/regionserver/ColumnTracker.html#getNextRowOrNextColumn(byte[],%20int,%20int)"><code>getNextRowOrNextColumn(byte[], int, int)</code></a> is called whenever ScanQueryMatcher
  believes that the current column should be skipped (by timestamp, filter etc.)
  <p>
- These two methods returns a
+ These two methods returns a 
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver"><code>ScanQueryMatcher.MatchCode</code></a>
  to define what action should be taken.
  <p>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html
index cc4a8f6..b481bfe 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html
@@ -296,7 +296,7 @@ for (DeleteTracker.DeleteCompare c : DeleteTracker.DeleteCompare.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver">DeleteTracker.DeleteCompare</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html#line.88">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html
index 645b713..c3fdb10 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html
@@ -270,7 +270,7 @@ for (DeleteTracker.DeleteResult c : DeleteTracker.DeleteResult.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver">DeleteTracker.DeleteResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html#line.110">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.html
index cc9abde..8d5a0e8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.html
@@ -118,7 +118,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/ColumnTr
  <ul><li><a href="../../../../../org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.html#getNextRowOrNextColumn(byte[],%20int,%20int)"><code>getNextRowOrNextColumn(byte[], int, int)</code></a> is called whenever ScanQueryMatcher
  believes that the current column should be skipped (by timestamp, filter etc.)
  <p>
- These two methods returns a
+ These two methods returns a 
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver"><code>ScanQueryMatcher.MatchCode</code></a>
  to define what action should be taken.
  <p>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
index e6800b9..65a54bd 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
@@ -2206,9 +2206,9 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HRegionInterface.
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/HRegionInterface.html#openRegion(org.apache.hadoop.hbase.HRegionInfo)">openRegion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/HRegionInterface.html" title="interface in org.apache.hadoop.hbase.ipc">HRegionInterface</a></code></dd>
 <dt><span class="strong">Parameters:</span></dt><dd><code>region</code> - region to open</dd>
-<dt><span class="strong">Returns:</span></dt><dd>RegionOpeningState
+<dt><span class="strong">Returns:</span></dt><dd>RegionOpeningState 
          OPENED         - if region open request was successful.
-         ALREADY_OPENED - if the region was already opened.
+         ALREADY_OPENED - if the region was already opened. 
          FAILED_OPENING - if region opening failed.</dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -2230,9 +2230,9 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HRegionInterface.
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/HRegionInterface.html#openRegion(org.apache.hadoop.hbase.HRegionInfo,%20int)">openRegion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/HRegionInterface.html" title="interface in org.apache.hadoop.hbase.ipc">HRegionInterface</a></code></dd>
 <dt><span class="strong">Parameters:</span></dt><dd><code>region</code> - region to open</dd><dd><code>versionOfOfflineNode</code> - the version of znode to compare when RS transitions the znode from
           OFFLINE state.</dd>
-<dt><span class="strong">Returns:</span></dt><dd>RegionOpeningState
+<dt><span class="strong">Returns:</span></dt><dd>RegionOpeningState 
          OPENED         - if region open request was successful.
-         ALREADY_OPENED - if the region was already opened.
+         ALREADY_OPENED - if the region was already opened. 
          FAILED_OPENING - if region opening failed.</dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html
index 7b9c302..7bc7920 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html
@@ -100,7 +100,7 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Wraps together the mutations which are applied as a batch to the region and their operation
  status and WALEdits.</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preBatchMutate(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress)"><code>RegionObserver.preBatchMutate(ObserverContext, MiniBatchOperationInProgress)</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preBatchMutate(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress)"><code>RegionObserver.preBatchMutate(ObserverContext, MiniBatchOperationInProgress)</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postBatchMutate(org.apache.hadoop.hbase.coprocessor.ObserverContext,%20org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress)"><code>RegionObserver.postBatchMutate(ObserverContext, MiniBatchOperationInProgress)</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionOpeningState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionOpeningState.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionOpeningState.html
index 22b1446..efedbd0 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionOpeningState.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionOpeningState.html
@@ -250,7 +250,7 @@ for (RegionOpeningState c : RegionOpeningState.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver">RegionOpeningState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionOpeningState.html#line.29">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html
index bf0aa8e..659c9a9 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html
@@ -218,7 +218,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <li class="blockList">
 <h4>addAndGetGlobalMemstoreSize</h4>
 <pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html#line.53">addAndGetGlobalMemstoreSize</a>(long&nbsp;memStoreSize)</pre>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>memStoreSize</code> - the Memstore size will be added to
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>memStoreSize</code> - the Memstore size will be added to 
         the global Memstore size</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the global Memstore size in the RegionServer</dd></dl>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html
index ccc4455..f0dcbb7 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html
@@ -112,7 +112,7 @@
 extends org.apache.hadoop.conf.Configured</pre>
 <div class="block">A split policy determines when a region should be split.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/IncreasingToUpperBoundRegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver"><code>Default split policy since
-      0.94.0</code></a>,
+      0.94.0</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver"><code>Default split policy before 0.94.0</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ReplicationService.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ReplicationService.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ReplicationService.html
index 0867000..64c2f8c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ReplicationService.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ReplicationService.html
@@ -96,7 +96,7 @@
 <hr>
 <br>
 <pre>public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationService.html#line.34">ReplicationService</a></pre>
-<div class="block">Gateway to Cluster Replication.
+<div class="block">Gateway to Cluster Replication.  
  Used by <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegionServer</code></a>.
  One such application is a cross-datacenter
  replication service that can keep two hbase clusters in sync.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html
index e160c15..ca5ecc7 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html
@@ -153,7 +153,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Replication
 <li class="blockList">
 <h4>getWALActionsListener</h4>
 <pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#line.37">getWALActionsListener</a>()</pre>
-<div class="block">Returns a WALObserver for the service. This is needed to
+<div class="block">Returns a WALObserver for the service. This is needed to 
  observe log rolls and log archival events.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html
index 4dc3a2c..1222252 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html
@@ -370,7 +370,7 @@ for (ScanQueryMatcher.MatchCode c : ScanQueryMatcher.MatchCode.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver">ScanQueryMatcher.MatchCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html#line.550">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ScanType.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ScanType.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ScanType.html
index 66f75c6..a489f50 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ScanType.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/ScanType.html
@@ -251,7 +251,7 @@ for (ScanType c : ScanType.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver">ScanType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScanType.html#line.27">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html
index 9ab95af..32f087b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html
@@ -266,7 +266,7 @@ for (SplitLogWorker.TaskExecutor.Status c : SplitLogWorker.TaskExecutor.Status.v
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver">SplitLogWorker.TaskExecutor.Status</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html#line.46">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/StoreFile.BloomType.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/StoreFile.BloomType.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/StoreFile.BloomType.html
index 975178b..55b6bf5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/StoreFile.BloomType.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/StoreFile.BloomType.html
@@ -263,7 +263,7 @@ for (StoreFile.BloomType c : StoreFile.BloomType.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver">StoreFile.BloomType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/StoreFile.BloomType.html#line.45">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/compactions/CompactSelection.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/compactions/CompactSelection.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/compactions/CompactSelection.html
index 647529c..f7cade2 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/compactions/CompactSelection.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/compactions/CompactSelection.html
@@ -155,8 +155,8 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <tr class="rowColor">
 <td class="colFirst"><code>double</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactSelection.html#getCompactSelectionRatio()">getCompactSelectionRatio</a></strong>()</code>
-<div class="block">If the current hour falls in the off peak times and there are no
- outstanding off peak compactions, the current compaction is
+<div class="block">If the current hour falls in the off peak times and there are no 
+ outstanding off peak compactions, the current compaction is 
  promoted to an off peak compaction.</div>
 </td>
 </tr>
@@ -245,9 +245,9 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <li class="blockList">
 <h4>getCompactSelectionRatio</h4>
 <pre>public&nbsp;double&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/compactions/CompactSelection.html#line.134">getCompactSelectionRatio</a>()</pre>
-<div class="block">If the current hour falls in the off peak times and there are no
- outstanding off peak compactions, the current compaction is
- promoted to an off peak compaction. Currently only one off peak
+<div class="block">If the current hour falls in the off peak times and there are no 
+ outstanding off peak compactions, the current compaction is 
+ promoted to an off peak compaction. Currently only one off peak 
  compaction is present in the compaction queue.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>currentHour</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd></dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.CompactionState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.CompactionState.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.CompactionState.html
index 49df5c3..d1d298e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.CompactionState.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.CompactionState.html
@@ -267,7 +267,7 @@ for (CompactionRequest.CompactionState c : CompactionRequest.CompactionState.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.CompactionState.html" title="enum in org.apache.hadoop.hbase.regionserver.compactions">CompactionRequest.CompactionState</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.CompactionState.html#line.60">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.html
index 01c0e57..f480f72 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.html
@@ -260,7 +260,7 @@ implements org.apache.hadoop.metrics.Updater</pre>
 <li class="blockList">
 <h4>clear</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.html#line.130">clear</a>()</pre>
-<div class="block">Clear all metrics this exposes.
+<div class="block">Clear all metrics this exposes. 
  Uses reflection to clear them from hadoop metrics side as well.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.BlockMetricType.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.BlockMetricType.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.BlockMetricType.html
index fa69bc2..dc51dec 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.BlockMetricType.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.BlockMetricType.html
@@ -306,7 +306,7 @@ for (SchemaMetrics.BlockMetricType c : SchemaMetrics.BlockMetricType.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.BlockMetricType.html" title="enum in org.apache.hadoop.hbase.regionserver.metrics">SchemaMetrics.BlockMetricType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.BlockMetricType.html#line.94">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.StoreMetricType.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.StoreMetricType.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.StoreMetricType.html
index 0ebf584..79c6820 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.StoreMetricType.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.StoreMetricType.html
@@ -306,7 +306,7 @@ for (SchemaMetrics.StoreMetricType c : SchemaMetrics.StoreMetricType.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.StoreMetricType.html" title="enum in org.apache.hadoop.hbase.regionserver.metrics">SchemaMetrics.StoreMetricType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.StoreMetricType.html#line.94">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLog.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLog.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLog.html
index 049510d..66c5729 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLog.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLog.html
@@ -1254,7 +1254,7 @@ implements org.apache.hadoop.fs.Syncable</pre>
  is saved temporarily in the lastSeqWritten map while the flush is active.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>sequence ID to pass
          <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/HLog.html#completeCacheFlush(byte[],%20byte[],%20long,%20boolean)"><code>completeCacheFlush(byte[], byte[], long, boolean)</code></a> (byte[],
-         byte[], long)}</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/HLog.html#completeCacheFlush(byte[],%20byte[],%20long,%20boolean)"><code>completeCacheFlush(byte[], byte[], long, boolean)</code></a>,
+         byte[], long)}</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/HLog.html#completeCacheFlush(byte[],%20byte[],%20long,%20boolean)"><code>completeCacheFlush(byte[], byte[], long, boolean)</code></a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/HLog.html#abortCacheFlush(byte[])"><code>abortCacheFlush(byte[])</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
index 85e1ea5..d707718 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html
@@ -370,7 +370,7 @@ implements org.apache.hadoop.io.WritableComparable&lt;<a href="../../../../../..
 <h4>toStringMap</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/HLogKey.html#line.182">toStringMap</a>()</pre>
 <div class="block">Produces a string map for this key. Useful for programmatic use and
- manipulation of the data stored in an HLogKey, for example, printing
+ manipulation of the data stored in an HLogKey, for example, printing 
  as JSON.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>a Map containing data from this key</dd></dl>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLogPrettyPrinter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLogPrettyPrinter.html b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLogPrettyPrinter.html
index 5e81333..d6fd506 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLogPrettyPrinter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/regionserver/wal/HLogPrettyPrinter.html
@@ -99,13 +99,13 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">HLogPrettyPrinter prints the contents of a given HLog with a variety of
  options affecting formatting and extent of content.
-
+ 
  It targets two usage cases: pretty printing for ease of debugging directly by
  humans, and JSON output for consumption by monitoring and/or maintenance
  scripts.
-
+ 
  It can filter by row, region, or sequence id.
-
+ 
  It can also toggle output of values.</div>
 </li>
 </ul>
@@ -280,7 +280,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
           sequence id will be printed</dd><dd><code>region</code> - when not null, serves as a filter; only log entries from this
           region will be printed</dd><dd><code>row</code> - when not null, serves as a filter; only log entries from this row
           will be printed</dd><dd><code>persistentOutput</code> - keeps a single list running for multiple files. if enabled, the
-          endPersistentOutput() method must be used!</dd><dd><code>out</code> - Specifies an alternative to stdout for the destination of this
+          endPersistentOutput() method must be used!</dd><dd><code>out</code> - Specifies an alternative to stdout for the destination of this 
           PrettyPrinter's output.</dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/replication/ReplicationZookeeper.PeerState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/replication/ReplicationZookeeper.PeerState.html b/0.94/apidocs/org/apache/hadoop/hbase/replication/ReplicationZookeeper.PeerState.html
index 7a0ed09..6d0068d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/replication/ReplicationZookeeper.PeerState.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/replication/ReplicationZookeeper.PeerState.html
@@ -242,7 +242,7 @@ for (ReplicationZookeeper.PeerState c : ReplicationZookeeper.PeerState.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationZookeeper.PeerState.html" title="enum in org.apache.hadoop.hbase.replication">ReplicationZookeeper.PeerState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/replication/ReplicationZookeeper.PeerState.html#line.91">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>


[24/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_args._Fields.html
index c5a45cd..5bf47d4 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_args._Fields.html
@@ -292,7 +292,7 @@ for (Hbase.getRowOrBefore_args._Fields c : Hbase.getRowOrBefore_args._Fields.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowOrBefore_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_args._Fields.html#line.52815">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_result._Fields.html
index 7062ab6..ff71389 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getRowOrBefore_result._Fields c : Hbase.getRowOrBefore_result._Fields
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowOrBefore_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowOrBefore_result._Fields.html#line.52815">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_args._Fields.html
index 0074a28..96273af 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.getRowTs_args._Fields c : Hbase.getRowTs_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_args._Fields.html#line.20538">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_result._Fields.html
index 6df525e..0fb09b1 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getRowTs_result._Fields c : Hbase.getRowTs_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowTs_result._Fields.html#line.20538">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_args._Fields.html
index 1bb9ace..792354b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_args._Fields.html
@@ -319,7 +319,7 @@ for (Hbase.getRowWithColumnsTs_args._Fields c : Hbase.getRowWithColumnsTs_args._
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowWithColumnsTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_args._Fields.html#line.22021">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_result._Fields.html
index 584138f..ada9dea 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getRowWithColumnsTs_result._Fields c : Hbase.getRowWithColumnsTs_resu
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowWithColumnsTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumnsTs_result._Fields.html#line.22021">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_args._Fields.html
index 3989233..14bf303 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.getRowWithColumns_args._Fields c : Hbase.getRowWithColumns_args._Fiel
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowWithColumns_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_args._Fields.html#line.19212">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_result._Fields.html
index 3a05dfc..719a1a6 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getRowWithColumns_result._Fields c : Hbase.getRowWithColumns_result._
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowWithColumns_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowWithColumns_result._Fields.html#line.19212">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_args._Fields.html
index ed596eb..2b94986 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_args._Fields.html
@@ -292,7 +292,7 @@ for (Hbase.getRow_args._Fields c : Hbase.getRow_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRow_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_args._Fields.html#line.17833">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_result._Fields.html
index 3093fb7..cb84cc6 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getRow_result._Fields c : Hbase.getRow_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRow_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRow_result._Fields.html#line.17833">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_args._Fields.html
index dac19b2..9e758fd 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.getRowsTs_args._Fields c : Hbase.getRowsTs_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowsTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_args._Fields.html#line.26062">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_result._Fields.html
index 87d7f72..2d3e7ce 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getRowsTs_result._Fields c : Hbase.getRowsTs_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowsTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsTs_result._Fields.html#line.26062">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_args._Fields.html
index 5cd9c9a..023fdbc 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_args._Fields.html
@@ -319,7 +319,7 @@ for (Hbase.getRowsWithColumnsTs_args._Fields c : Hbase.getRowsWithColumnsTs_args
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowsWithColumnsTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_args._Fields.html#line.27587">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_result._Fields.html
index b2dbd20..af64b98 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getRowsWithColumnsTs_result._Fields c : Hbase.getRowsWithColumnsTs_re
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowsWithColumnsTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumnsTs_result._Fields.html#line.27587">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_args._Fields.html
index 30efa4f..ef984a8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.getRowsWithColumns_args._Fields c : Hbase.getRowsWithColumns_args._Fi
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowsWithColumns_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_args._Fields.html#line.24694">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_result._Fields.html
index 1d15551..4a54f9b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getRowsWithColumns_result._Fields c : Hbase.getRowsWithColumns_result
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRowsWithColumns_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRowsWithColumns_result._Fields.html#line.24694">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_args._Fields.html
index 537b83d..8a98f60 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_args._Fields.html
@@ -292,7 +292,7 @@ for (Hbase.getRows_args._Fields c : Hbase.getRows_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRows_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_args._Fields.html#line.23273">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_result._Fields.html
index 7a34c75..cab0435 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getRows_result._Fields c : Hbase.getRows_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRows_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRows_result._Fields.html#line.23273">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_args._Fields.html
index 47a45a3..411c23f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_args._Fields.html
@@ -225,7 +225,7 @@ for (Hbase.getTableNames_args._Fields c : Hbase.getTableNames_args._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getTableNames_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_args._Fields.html#line.8581">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_result._Fields.html
index 1285cb9..d7b9b72 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getTableNames_result._Fields c : Hbase.getTableNames_result._Fields.v
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getTableNames_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableNames_result._Fields.html#line.8581">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_args._Fields.html
index 902e5a1..3dbb29e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.getTableRegions_args._Fields c : Hbase.getTableRegions_args._Fields.v
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getTableRegions_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_args._Fields.html#line.10396">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_result._Fields.html
index ac9690c..05b6cf9 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getTableRegions_result._Fields c : Hbase.getTableRegions_result._Fiel
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getTableRegions_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getTableRegions_result._Fields.html#line.10396">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_args._Fields.html
index a8bebd7..f7a718a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_args._Fields.html
@@ -337,7 +337,7 @@ for (Hbase.getVerTs_args._Fields c : Hbase.getVerTs_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getVerTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_args._Fields.html#line.16623">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_result._Fields.html
index 3acc31f..c6463ba 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getVerTs_result._Fields c : Hbase.getVerTs_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getVerTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getVerTs_result._Fields.html#line.16623">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_args._Fields.html
index 3844bd9..5337ee4 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_args._Fields.html
@@ -322,7 +322,7 @@ for (Hbase.getVer_args._Fields c : Hbase.getVer_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getVer_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_args._Fields.html#line.15059">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_result._Fields.html
index cbd62d9..bdb385a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getVer_result._Fields c : Hbase.getVer_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getVer_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getVer_result._Fields.html#line.15059">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.get_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.get_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.get_args._Fields.html
index 97d309b..8f9d535 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.get_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.get_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.get_args._Fields c : Hbase.get_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.get_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.get_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.get_args._Fields.html#line.13606">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.get_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.get_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.get_result._Fields.html
index 014f09d..cd1adfe 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.get_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.get_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.get_result._Fields c : Hbase.get_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.get_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.get_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.get_result._Fields.html#line.13606">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_args._Fields.html
index 011dcf3..764a2bd 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.incrementRows_args._Fields c : Hbase.incrementRows_args._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.incrementRows_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_args._Fields.html#line.39404">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_result._Fields.html
index 6ef5b83..cf53e6a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.incrementRows_result._Fields c : Hbase.incrementRows_result._Fields.v
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.incrementRows_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.incrementRows_result._Fields.html#line.39404">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_args._Fields.html
index 75becbc..b3709e1 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.increment_args._Fields c : Hbase.increment_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.increment_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.increment_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_args._Fields.html#line.38616">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_result._Fields.html
index 863948e..2a34486 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.increment_result._Fields c : Hbase.increment_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.increment_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.increment_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.increment_result._Fields.html#line.38616">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_args._Fields.html
index b2b570d..cc3878a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.isTableEnabled_args._Fields c : Hbase.isTableEnabled_args._Fields.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.isTableEnabled_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_args._Fields.html#line.6406">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_result._Fields.html
index 84f0bb0..c648116 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.isTableEnabled_result._Fields c : Hbase.isTableEnabled_result._Fields
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.isTableEnabled_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.isTableEnabled_result._Fields.html#line.6406">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_args._Fields.html
index 1ad8ca9..7ac3b81 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_args._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.majorCompact_args._Fields c : Hbase.majorCompact_args._Fields.values(
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.majorCompact_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_args._Fields.html#line.7970">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_result._Fields.html
index cc79b2b..bad93b4 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.majorCompact_result._Fields c : Hbase.majorCompact_result._Fields.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.majorCompact_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.majorCompact_result._Fields.html#line.7970">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_args._Fields.html
index d5c8948..3ce148f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_args._Fields.html
@@ -322,7 +322,7 @@ for (Hbase.mutateRowTs_args._Fields c : Hbase.mutateRowTs_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.mutateRowTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_args._Fields.html#line.30411">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_result._Fields.html
index f0492a3..f2de283 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.mutateRowTs_result._Fields c : Hbase.mutateRowTs_result._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.mutateRowTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowTs_result._Fields.html#line.30411">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_args._Fields.html
index 18cc19b..ad09a64 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.mutateRow_args._Fields c : Hbase.mutateRow_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.mutateRow_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_args._Fields.html#line.28968">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_result._Fields.html
index 8a807fa..67ea8cd 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.mutateRow_result._Fields c : Hbase.mutateRow_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.mutateRow_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRow_result._Fields.html#line.28968">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_args._Fields.html
index 7caf41f..9ff76a2 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.mutateRowsTs_args._Fields c : Hbase.mutateRowsTs_args._Fields.values(
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.mutateRowsTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_args._Fields.html#line.32929">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_result._Fields.html
index d48c837..675cab3 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.mutateRowsTs_result._Fields c : Hbase.mutateRowsTs_result._Fields.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.mutateRowsTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRowsTs_result._Fields.html#line.32929">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_args._Fields.html
index d8539c8..4d17554 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_args._Fields.html
@@ -292,7 +292,7 @@ for (Hbase.mutateRows_args._Fields c : Hbase.mutateRows_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.mutateRows_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_args._Fields.html#line.31613">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_result._Fields.html
index 89f2853..fa1f84b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.mutateRows_result._Fields c : Hbase.mutateRows_result._Fields.values(
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.mutateRows_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.mutateRows_result._Fields.html#line.31613">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_args._Fields.html
index 54fc13c..460b880 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.scannerClose_args._Fields c : Hbase.scannerClose_args._Fields.values(
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerClose_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_args._Fields.html#line.51710">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_result._Fields.html
index bd3a7dd..de78a63 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.scannerClose_result._Fields c : Hbase.scannerClose_result._Fields.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerClose_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerClose_result._Fields.html#line.51710">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_args._Fields.html
index 23c1b70..8b724d8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_args._Fields.html
@@ -277,7 +277,7 @@ for (Hbase.scannerGetList_args._Fields c : Hbase.scannerGetList_args._Fields.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerGetList_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_args._Fields.html#line.50713">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_result._Fields.html
index 9a3fcd0..05584db 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_result._Fields.html
@@ -283,7 +283,7 @@ for (Hbase.scannerGetList_result._Fields c : Hbase.scannerGetList_result._Fields
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerGetList_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGetList_result._Fields.html#line.50713">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_args._Fields.html
index 0da5ea4..cce2bca 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.scannerGet_args._Fields c : Hbase.scannerGet_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerGet_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_args._Fields.html#line.49603">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>


[04/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/replication.html
----------------------------------------------------------------------
diff --git a/0.94/replication.html b/0.94/replication.html
index 318669e..5ef830b 100644
--- a/0.94/replication.html
+++ b/0.94/replication.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -15,7 +15,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -850,7 +850,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/resources.html
----------------------------------------------------------------------
diff --git a/0.94/resources.html b/0.94/resources.html
index 1619842..e16a652 100644
--- a/0.94/resources.html
+++ b/0.94/resources.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -13,7 +13,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -209,7 +209,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/source-repository.html
----------------------------------------------------------------------
diff --git a/0.94/source-repository.html b/0.94/source-repository.html
index 1643f34..339f962 100644
--- a/0.94/source-repository.html
+++ b/0.94/source-repository.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -205,7 +205,7 @@ http-proxy-port = 3128
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/sponsors.html
----------------------------------------------------------------------
diff --git a/0.94/sponsors.html b/0.94/sponsors.html
index cf484c5..23bcd5a 100644
--- a/0.94/sponsors.html
+++ b/0.94/sponsors.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -13,7 +13,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -215,7 +215,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/team-list.html
----------------------------------------------------------------------
diff --git a/0.94/team-list.html b/0.94/team-list.html
index cac01a5..5cfd4ac 100644
--- a/0.94/team-list.html
+++ b/0.94/team-list.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -374,7 +374,7 @@ window.onLoad = init();
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/0.94/testdevapidocs/org/apache/hadoop/hbase/package-tree.html b/0.94/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
index 9cb77eb..4ef398e 100644
--- a/0.94/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/0.94/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -266,8 +266,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/6/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/6/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/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.Counter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterManager.ServiceType.html" title="enum in org.apache.hadoop.hbase"><span class="strong">ClusterManager.ServiceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.Counter</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/xref/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/xref/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html b/0.94/xref/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
index e731f21..3aea4d9 100644
--- a/0.94/xref/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
+++ b/0.94/xref/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
@@ -35,74 +35,77 @@
 <a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.util.Bytes;
 <a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.io.RawComparator;
 <a class="jxr_linenumber" name="27" href="#27">27</a>  
-<a class="jxr_linenumber" name="28" href="#28">28</a>  <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * Just copy data, do not do any kind of compression. Use for comparison and</em>
-<a class="jxr_linenumber" name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * benchmarking.</em>
-<a class="jxr_linenumber" name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html">CopyKeyDataBlockEncoder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">BufferedDataBlockEncoder</a> {
-<a class="jxr_linenumber" name="33" href="#33">33</a>    @Override
-<a class="jxr_linenumber" name="34" href="#34">34</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> compressKeyValues(DataOutputStream out,
-<a class="jxr_linenumber" name="35" href="#35">35</a>        ByteBuffer in, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="36" href="#36">36</a>      in.rewind();
-<a class="jxr_linenumber" name="37" href="#37">37</a>      ByteBufferUtils.putInt(out, in.limit());
-<a class="jxr_linenumber" name="38" href="#38">38</a>      ByteBufferUtils.moveBufferToStream(out, in, in.limit());
-<a class="jxr_linenumber" name="39" href="#39">39</a>    }
-<a class="jxr_linenumber" name="40" href="#40">40</a>  
-<a class="jxr_linenumber" name="41" href="#41">41</a>    @Override
-<a class="jxr_linenumber" name="42" href="#42">42</a>    <strong class="jxr_keyword">public</strong> ByteBuffer uncompressKeyValues(DataInputStream source,
-<a class="jxr_linenumber" name="43" href="#43">43</a>        <strong class="jxr_keyword">int</strong> preserveHeaderLength, <strong class="jxr_keyword">int</strong> skipLastBytes, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS)
-<a class="jxr_linenumber" name="44" href="#44">44</a>        <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="45" href="#45">45</a>      <strong class="jxr_keyword">int</strong> decompressedSize = source.readInt();
-<a class="jxr_linenumber" name="46" href="#46">46</a>      ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +
-<a class="jxr_linenumber" name="47" href="#47">47</a>          preserveHeaderLength);
-<a class="jxr_linenumber" name="48" href="#48">48</a>      buffer.position(preserveHeaderLength);
-<a class="jxr_linenumber" name="49" href="#49">49</a>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, decompressedSize);
-<a class="jxr_linenumber" name="50" href="#50">50</a>  
-<a class="jxr_linenumber" name="51" href="#51">51</a>      <strong class="jxr_keyword">return</strong> buffer;
-<a class="jxr_linenumber" name="52" href="#52">52</a>    }
+<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.classification.InterfaceAudience;
+<a class="jxr_linenumber" name="29" href="#29">29</a>  
+<a class="jxr_linenumber" name="30" href="#30">30</a>  <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * Just copy data, do not do any kind of compression. Use for comparison and</em>
+<a class="jxr_linenumber" name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * benchmarking.</em>
+<a class="jxr_linenumber" name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="34" href="#34">34</a>  @InterfaceAudience.Private
+<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html">CopyKeyDataBlockEncoder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">BufferedDataBlockEncoder</a> {
+<a class="jxr_linenumber" name="36" href="#36">36</a>    @Override
+<a class="jxr_linenumber" name="37" href="#37">37</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> compressKeyValues(DataOutputStream out,
+<a class="jxr_linenumber" name="38" href="#38">38</a>        ByteBuffer in, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="39" href="#39">39</a>      in.rewind();
+<a class="jxr_linenumber" name="40" href="#40">40</a>      ByteBufferUtils.putInt(out, in.limit());
+<a class="jxr_linenumber" name="41" href="#41">41</a>      ByteBufferUtils.moveBufferToStream(out, in, in.limit());
+<a class="jxr_linenumber" name="42" href="#42">42</a>    }
+<a class="jxr_linenumber" name="43" href="#43">43</a>  
+<a class="jxr_linenumber" name="44" href="#44">44</a>    @Override
+<a class="jxr_linenumber" name="45" href="#45">45</a>    <strong class="jxr_keyword">public</strong> ByteBuffer uncompressKeyValues(DataInputStream source,
+<a class="jxr_linenumber" name="46" href="#46">46</a>        <strong class="jxr_keyword">int</strong> preserveHeaderLength, <strong class="jxr_keyword">int</strong> skipLastBytes, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS)
+<a class="jxr_linenumber" name="47" href="#47">47</a>        <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="48" href="#48">48</a>      <strong class="jxr_keyword">int</strong> decompressedSize = source.readInt();
+<a class="jxr_linenumber" name="49" href="#49">49</a>      ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +
+<a class="jxr_linenumber" name="50" href="#50">50</a>          preserveHeaderLength);
+<a class="jxr_linenumber" name="51" href="#51">51</a>      buffer.position(preserveHeaderLength);
+<a class="jxr_linenumber" name="52" href="#52">52</a>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, decompressedSize);
 <a class="jxr_linenumber" name="53" href="#53">53</a>  
-<a class="jxr_linenumber" name="54" href="#54">54</a>    @Override
-<a class="jxr_linenumber" name="55" href="#55">55</a>    <strong class="jxr_keyword">public</strong> ByteBuffer getFirstKeyInBlock(ByteBuffer block) {
-<a class="jxr_linenumber" name="56" href="#56">56</a>      <strong class="jxr_keyword">int</strong> keyLength = block.getInt(Bytes.SIZEOF_INT);
-<a class="jxr_linenumber" name="57" href="#57">57</a>      <strong class="jxr_keyword">return</strong> ByteBuffer.wrap(block.array(),
-<a class="jxr_linenumber" name="58" href="#58">58</a>          block.arrayOffset() + 3 * Bytes.SIZEOF_INT, keyLength).slice();
-<a class="jxr_linenumber" name="59" href="#59">59</a>    }
-<a class="jxr_linenumber" name="60" href="#60">60</a>  
-<a class="jxr_linenumber" name="61" href="#61">61</a>  
-<a class="jxr_linenumber" name="62" href="#62">62</a>    @Override
-<a class="jxr_linenumber" name="63" href="#63">63</a>    <strong class="jxr_keyword">public</strong> String toString() {
-<a class="jxr_linenumber" name="64" href="#64">64</a>      <strong class="jxr_keyword">return</strong> CopyKeyDataBlockEncoder.<strong class="jxr_keyword">class</strong>.getSimpleName();
-<a class="jxr_linenumber" name="65" href="#65">65</a>    }
-<a class="jxr_linenumber" name="66" href="#66">66</a>  
-<a class="jxr_linenumber" name="67" href="#67">67</a>    @Override
-<a class="jxr_linenumber" name="68" href="#68">68</a>    <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html">EncodedSeeker</a> createSeeker(RawComparator&lt;byte[]&gt; comparator,
-<a class="jxr_linenumber" name="69" href="#69">69</a>        <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) {
-<a class="jxr_linenumber" name="70" href="#70">70</a>      <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {
-<a class="jxr_linenumber" name="71" href="#71">71</a>        @Override
-<a class="jxr_linenumber" name="72" href="#72">72</a>        <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> decodeNext() {
-<a class="jxr_linenumber" name="73" href="#73">73</a>          current.keyLength = currentBuffer.getInt();
-<a class="jxr_linenumber" name="74" href="#74">74</a>          current.valueLength = currentBuffer.getInt();
-<a class="jxr_linenumber" name="75" href="#75">75</a>          current.ensureSpaceForKey();
-<a class="jxr_linenumber" name="76" href="#76">76</a>          currentBuffer.get(current.keyBuffer, 0, current.keyLength);
-<a class="jxr_linenumber" name="77" href="#77">77</a>          current.valueOffset = currentBuffer.position();
-<a class="jxr_linenumber" name="78" href="#78">78</a>          ByteBufferUtils.skip(currentBuffer, current.valueLength);
-<a class="jxr_linenumber" name="79" href="#79">79</a>          <strong class="jxr_keyword">if</strong> (includesMemstoreTS) {
-<a class="jxr_linenumber" name="80" href="#80">80</a>            current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);
-<a class="jxr_linenumber" name="81" href="#81">81</a>          } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="82" href="#82">82</a>            current.memstoreTS = 0;
-<a class="jxr_linenumber" name="83" href="#83">83</a>          }
-<a class="jxr_linenumber" name="84" href="#84">84</a>          current.nextKvOffset = currentBuffer.position();
-<a class="jxr_linenumber" name="85" href="#85">85</a>        }
-<a class="jxr_linenumber" name="86" href="#86">86</a>  
-<a class="jxr_linenumber" name="87" href="#87">87</a>        @Override
-<a class="jxr_linenumber" name="88" href="#88">88</a>        <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> decodeFirst() {
-<a class="jxr_linenumber" name="89" href="#89">89</a>          ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);
-<a class="jxr_linenumber" name="90" href="#90">90</a>          current.lastCommonPrefix = 0;
-<a class="jxr_linenumber" name="91" href="#91">91</a>          decodeNext();
-<a class="jxr_linenumber" name="92" href="#92">92</a>        }
-<a class="jxr_linenumber" name="93" href="#93">93</a>      };
-<a class="jxr_linenumber" name="94" href="#94">94</a>    }
-<a class="jxr_linenumber" name="95" href="#95">95</a>  }
+<a class="jxr_linenumber" name="54" href="#54">54</a>      <strong class="jxr_keyword">return</strong> buffer;
+<a class="jxr_linenumber" name="55" href="#55">55</a>    }
+<a class="jxr_linenumber" name="56" href="#56">56</a>  
+<a class="jxr_linenumber" name="57" href="#57">57</a>    @Override
+<a class="jxr_linenumber" name="58" href="#58">58</a>    <strong class="jxr_keyword">public</strong> ByteBuffer getFirstKeyInBlock(ByteBuffer block) {
+<a class="jxr_linenumber" name="59" href="#59">59</a>      <strong class="jxr_keyword">int</strong> keyLength = block.getInt(Bytes.SIZEOF_INT);
+<a class="jxr_linenumber" name="60" href="#60">60</a>      <strong class="jxr_keyword">return</strong> ByteBuffer.wrap(block.array(),
+<a class="jxr_linenumber" name="61" href="#61">61</a>          block.arrayOffset() + 3 * Bytes.SIZEOF_INT, keyLength).slice();
+<a class="jxr_linenumber" name="62" href="#62">62</a>    }
+<a class="jxr_linenumber" name="63" href="#63">63</a>  
+<a class="jxr_linenumber" name="64" href="#64">64</a>  
+<a class="jxr_linenumber" name="65" href="#65">65</a>    @Override
+<a class="jxr_linenumber" name="66" href="#66">66</a>    <strong class="jxr_keyword">public</strong> String toString() {
+<a class="jxr_linenumber" name="67" href="#67">67</a>      <strong class="jxr_keyword">return</strong> CopyKeyDataBlockEncoder.<strong class="jxr_keyword">class</strong>.getSimpleName();
+<a class="jxr_linenumber" name="68" href="#68">68</a>    }
+<a class="jxr_linenumber" name="69" href="#69">69</a>  
+<a class="jxr_linenumber" name="70" href="#70">70</a>    @Override
+<a class="jxr_linenumber" name="71" href="#71">71</a>    <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html">EncodedSeeker</a> createSeeker(RawComparator&lt;byte[]&gt; comparator,
+<a class="jxr_linenumber" name="72" href="#72">72</a>        <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) {
+<a class="jxr_linenumber" name="73" href="#73">73</a>      <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {
+<a class="jxr_linenumber" name="74" href="#74">74</a>        @Override
+<a class="jxr_linenumber" name="75" href="#75">75</a>        <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> decodeNext() {
+<a class="jxr_linenumber" name="76" href="#76">76</a>          current.keyLength = currentBuffer.getInt();
+<a class="jxr_linenumber" name="77" href="#77">77</a>          current.valueLength = currentBuffer.getInt();
+<a class="jxr_linenumber" name="78" href="#78">78</a>          current.ensureSpaceForKey();
+<a class="jxr_linenumber" name="79" href="#79">79</a>          currentBuffer.get(current.keyBuffer, 0, current.keyLength);
+<a class="jxr_linenumber" name="80" href="#80">80</a>          current.valueOffset = currentBuffer.position();
+<a class="jxr_linenumber" name="81" href="#81">81</a>          ByteBufferUtils.skip(currentBuffer, current.valueLength);
+<a class="jxr_linenumber" name="82" href="#82">82</a>          <strong class="jxr_keyword">if</strong> (includesMemstoreTS) {
+<a class="jxr_linenumber" name="83" href="#83">83</a>            current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);
+<a class="jxr_linenumber" name="84" href="#84">84</a>          } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="85" href="#85">85</a>            current.memstoreTS = 0;
+<a class="jxr_linenumber" name="86" href="#86">86</a>          }
+<a class="jxr_linenumber" name="87" href="#87">87</a>          current.nextKvOffset = currentBuffer.position();
+<a class="jxr_linenumber" name="88" href="#88">88</a>        }
+<a class="jxr_linenumber" name="89" href="#89">89</a>  
+<a class="jxr_linenumber" name="90" href="#90">90</a>        @Override
+<a class="jxr_linenumber" name="91" href="#91">91</a>        <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> decodeFirst() {
+<a class="jxr_linenumber" name="92" href="#92">92</a>          ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);
+<a class="jxr_linenumber" name="93" href="#93">93</a>          current.lastCommonPrefix = 0;
+<a class="jxr_linenumber" name="94" href="#94">94</a>          decodeNext();
+<a class="jxr_linenumber" name="95" href="#95">95</a>        }
+<a class="jxr_linenumber" name="96" href="#96">96</a>      };
+<a class="jxr_linenumber" name="97" href="#97">97</a>    }
+<a class="jxr_linenumber" name="98" href="#98">98</a>  }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>


[21/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.html b/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.html
index a448929..ff7ef67 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.html
@@ -98,24 +98,24 @@
 <pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.html#line.70">RecoverableZooKeeper</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A zookeeper that can handle 'recoverable' errors.
- To handle recoverable errors, developers need to realize that there are two
- classes of requests: idempotent and non-idempotent requests. Read requests
- and unconditional sets and deletes are examples of idempotent requests, they
- can be reissued with the same results.
- (Although, the delete may throw a NoNodeException on reissue its effect on
- the ZooKeeper state is the same.) Non-idempotent requests need special
- handling, application and library writers need to keep in mind that they may
- need to encode information in the data or name of znodes to detect
- retries. A simple example is a create that uses a sequence flag.
- If a process issues a create("/x-", ..., SEQUENCE) and gets a connection
- loss exception, that process will reissue another
- create("/x-", ..., SEQUENCE) and get back x-111. When the process does a
- getChildren("/"), it sees x-1,x-30,x-109,x-110,x-111, now it could be
- that x-109 was the result of the previous create, so the process actually
- owns both x-109 and x-111. An easy way around this is to use "x-process id-"
+ To handle recoverable errors, developers need to realize that there are two 
+ classes of requests: idempotent and non-idempotent requests. Read requests 
+ and unconditional sets and deletes are examples of idempotent requests, they 
+ can be reissued with the same results. 
+ (Although, the delete may throw a NoNodeException on reissue its effect on 
+ the ZooKeeper state is the same.) Non-idempotent requests need special 
+ handling, application and library writers need to keep in mind that they may 
+ need to encode information in the data or name of znodes to detect 
+ retries. A simple example is a create that uses a sequence flag. 
+ If a process issues a create("/x-", ..., SEQUENCE) and gets a connection 
+ loss exception, that process will reissue another 
+ create("/x-", ..., SEQUENCE) and get back x-111. When the process does a 
+ getChildren("/"), it sees x-1,x-30,x-109,x-110,x-111, now it could be 
+ that x-109 was the result of the previous create, so the process actually 
+ owns both x-109 and x-111. An easy way around this is to use "x-process id-" 
  when doing the create. If the process is using an id of 352, before reissuing
- the create it will do a getChildren("/") and see "x-222-1", "x-542-30",
- "x-352-109", x-333-110". The process will know that the original create
+ the create it will do a getChildren("/") and see "x-222-1", "x-542-30", 
+ "x-352-109", x-333-110". The process will know that the original create 
  succeeded an the znode it created is "x-352-109".</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd>"http://wiki.apache.org/hadoop/ZooKeeper/ErrorHandling"</dd></dl>
 </li>
@@ -483,7 +483,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
                                        throws org.apache.zookeeper.KeeperException,
                                               <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">setData is NOT an idempotent operation. Retry may cause BadVersion Exception
- Adding an identifier field into the data to check whether
+ Adding an identifier field into the data to check whether 
  badversion is caused by the result of previous correctly setData</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Stat instance</dd>
 <dt><span class="strong">Throws:</span></dt>
@@ -504,14 +504,14 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
               throws org.apache.zookeeper.KeeperException,
                      <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><p>
- NONSEQUENTIAL create is idempotent operation.
+ NONSEQUENTIAL create is idempotent operation. 
  Retry before throwing exceptions.
  But this function will not throw the NodeExist exception back to the
  application.
  </p>
  <p>
- But SEQUENTIAL is NOT idempotent operation. It is necessary to add
- identifier to the path to verify, whether the previous one is successful
+ But SEQUENTIAL is NOT idempotent operation. It is necessary to add 
+ identifier to the path to verify, whether the previous one is successful 
  or not.
  </p></div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Path</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKAssign.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKAssign.html b/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKAssign.html
index 2e0925a..ab3a4ca 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKAssign.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKAssign.html
@@ -652,7 +652,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
  and OFFLINE state.
  <p>
  Sets a watcher on the unassigned region node if the method is successful.
-
+ 
  <p>
  This method should be used when assigning a region.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>zkw</code> - zk reference</dd><dd><code>region</code> - region to be created as offline</dd><dd><code>serverName</code> - server event originates from</dd><dd><code>hijack</code> - - true if to be hijacked and reassigned, false otherwise</dd><dd><code>allowCreation</code> - - true if the node has to be created newly, false otherwise</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.TaskState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.TaskState.html b/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.TaskState.html
index 5fa08a5..a85c9a2 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.TaskState.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.TaskState.html
@@ -299,7 +299,7 @@ for (ZKSplitLog.TaskState c : ZKSplitLog.TaskState.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKSplitLog.TaskState.html" title="enum in org.apache.hadoop.hbase.zookeeper">ZKSplitLog.TaskState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKSplitLog.TaskState.html#line.259">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKTable.TableState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKTable.TableState.html b/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKTable.TableState.html
index 0c31f49..df0b338 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKTable.TableState.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/zookeeper/ZKTable.TableState.html
@@ -269,7 +269,7 @@ for (ZKTable.TableState c : ZKTable.TableState.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZKTable.TableState.html" title="enum in org.apache.hadoop.hbase.zookeeper">ZKTable.TableState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/zookeeper/ZKTable.TableState.html#line.26">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
index 027e36d..6c45914 100644
--- a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
+++ b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/CopyKeyDataBlockEncoder.html
@@ -33,74 +33,77 @@
 <span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import org.apache.hadoop.io.RawComparator;<a name="line.26"></a>
 <span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>/**<a name="line.28"></a>
-<span class="sourceLineNo">029</span> * Just copy data, do not do any kind of compression. Use for comparison and<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * benchmarking.<a name="line.30"></a>
-<span class="sourceLineNo">031</span> */<a name="line.31"></a>
-<span class="sourceLineNo">032</span>public class CopyKeyDataBlockEncoder extends BufferedDataBlockEncoder {<a name="line.32"></a>
-<span class="sourceLineNo">033</span>  @Override<a name="line.33"></a>
-<span class="sourceLineNo">034</span>  public void compressKeyValues(DataOutputStream out,<a name="line.34"></a>
-<span class="sourceLineNo">035</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.35"></a>
-<span class="sourceLineNo">036</span>    in.rewind();<a name="line.36"></a>
-<span class="sourceLineNo">037</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.37"></a>
-<span class="sourceLineNo">038</span>    ByteBufferUtils.moveBufferToStream(out, in, in.limit());<a name="line.38"></a>
-<span class="sourceLineNo">039</span>  }<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>  @Override<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.42"></a>
-<span class="sourceLineNo">043</span>      int preserveHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.43"></a>
-<span class="sourceLineNo">044</span>      throws IOException {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    int decompressedSize = source.readInt();<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.46"></a>
-<span class="sourceLineNo">047</span>        preserveHeaderLength);<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    buffer.position(preserveHeaderLength);<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, decompressedSize);<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>    return buffer;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.28"></a>
+<span class="sourceLineNo">029</span><a name="line.29"></a>
+<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * Just copy data, do not do any kind of compression. Use for comparison and<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * benchmarking.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> */<a name="line.33"></a>
+<span class="sourceLineNo">034</span>@InterfaceAudience.Private<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public class CopyKeyDataBlockEncoder extends BufferedDataBlockEncoder {<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  @Override<a name="line.36"></a>
+<span class="sourceLineNo">037</span>  public void compressKeyValues(DataOutputStream out,<a name="line.37"></a>
+<span class="sourceLineNo">038</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.38"></a>
+<span class="sourceLineNo">039</span>    in.rewind();<a name="line.39"></a>
+<span class="sourceLineNo">040</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.40"></a>
+<span class="sourceLineNo">041</span>    ByteBufferUtils.moveBufferToStream(out, in, in.limit());<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  }<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>  @Override<a name="line.44"></a>
+<span class="sourceLineNo">045</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.45"></a>
+<span class="sourceLineNo">046</span>      int preserveHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.46"></a>
+<span class="sourceLineNo">047</span>      throws IOException {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    int decompressedSize = source.readInt();<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.49"></a>
+<span class="sourceLineNo">050</span>        preserveHeaderLength);<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    buffer.position(preserveHeaderLength);<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, decompressedSize);<a name="line.52"></a>
 <span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  @Override<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    int keyLength = block.getInt(Bytes.SIZEOF_INT);<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    return ByteBuffer.wrap(block.array(),<a name="line.57"></a>
-<span class="sourceLineNo">058</span>        block.arrayOffset() + 3 * Bytes.SIZEOF_INT, keyLength).slice();<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  @Override<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public String toString() {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    return CopyKeyDataBlockEncoder.class.getSimpleName();<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  @Override<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      final boolean includesMemstoreTS) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    return new BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      @Override<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      protected void decodeNext() {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>        current.keyLength = currentBuffer.getInt();<a name="line.73"></a>
-<span class="sourceLineNo">074</span>        current.valueLength = currentBuffer.getInt();<a name="line.74"></a>
-<span class="sourceLineNo">075</span>        current.ensureSpaceForKey();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>        currentBuffer.get(current.keyBuffer, 0, current.keyLength);<a name="line.76"></a>
-<span class="sourceLineNo">077</span>        current.valueOffset = currentBuffer.position();<a name="line.77"></a>
-<span class="sourceLineNo">078</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.78"></a>
-<span class="sourceLineNo">079</span>        if (includesMemstoreTS) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>        } else {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>          current.memstoreTS = 0;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>        }<a name="line.83"></a>
-<span class="sourceLineNo">084</span>        current.nextKvOffset = currentBuffer.position();<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      }<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>      @Override<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      protected void decodeFirst() {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        current.lastCommonPrefix = 0;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>        decodeNext();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      }<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    };<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span>}<a name="line.95"></a>
+<span class="sourceLineNo">054</span>    return buffer;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  }<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  @Override<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    int keyLength = block.getInt(Bytes.SIZEOF_INT);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    return ByteBuffer.wrap(block.array(),<a name="line.60"></a>
+<span class="sourceLineNo">061</span>        block.arrayOffset() + 3 * Bytes.SIZEOF_INT, keyLength).slice();<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  }<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  @Override<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public String toString() {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    return CopyKeyDataBlockEncoder.class.getSimpleName();<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @Override<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      final boolean includesMemstoreTS) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    return new BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      @Override<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      protected void decodeNext() {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>        current.keyLength = currentBuffer.getInt();<a name="line.76"></a>
+<span class="sourceLineNo">077</span>        current.valueLength = currentBuffer.getInt();<a name="line.77"></a>
+<span class="sourceLineNo">078</span>        current.ensureSpaceForKey();<a name="line.78"></a>
+<span class="sourceLineNo">079</span>        currentBuffer.get(current.keyBuffer, 0, current.keyLength);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>        current.valueOffset = currentBuffer.position();<a name="line.80"></a>
+<span class="sourceLineNo">081</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.81"></a>
+<span class="sourceLineNo">082</span>        if (includesMemstoreTS) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        } else {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>          current.memstoreTS = 0;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>        }<a name="line.86"></a>
+<span class="sourceLineNo">087</span>        current.nextKvOffset = currentBuffer.position();<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      }<a name="line.88"></a>
+<span class="sourceLineNo">089</span><a name="line.89"></a>
+<span class="sourceLineNo">090</span>      @Override<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      protected void decodeFirst() {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>        current.lastCommonPrefix = 0;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>        decodeNext();<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      }<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    };<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  }<a name="line.97"></a>
+<span class="sourceLineNo">098</span>}<a name="line.98"></a>
 
 
 


[23/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_result._Fields.html
index 994998e..e06d1b5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_result._Fields.html
@@ -283,7 +283,7 @@ for (Hbase.scannerGet_result._Fields c : Hbase.scannerGet_result._Fields.values(
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerGet_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerGet_result._Fields.html#line.49603">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_args._Fields.html
index 2ca8cdf..95ab880 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_args._Fields.html
@@ -325,7 +325,7 @@ for (Hbase.scannerOpenTs_args._Fields c : Hbase.scannerOpenTs_args._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpenTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_args._Fields.html#line.47187">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_result._Fields.html
index ea88f41..2bf7494 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.scannerOpenTs_result._Fields c : Hbase.scannerOpenTs_result._Fields.v
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpenTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenTs_result._Fields.html#line.47187">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_args._Fields.html
index 7c7a470..3a01c61 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.scannerOpenWithPrefix_args._Fields c : Hbase.scannerOpenWithPrefix_ar
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpenWithPrefix_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_args._Fields.html#line.45737">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_result._Fields.html
index b8b4cc6..e93001a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.scannerOpenWithPrefix_result._Fields c : Hbase.scannerOpenWithPrefix_
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpenWithPrefix_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithPrefix_result._Fields.html#line.45737">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_args._Fields.html
index dbf4efd..36ea9ac 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_args._Fields.html
@@ -292,7 +292,7 @@ for (Hbase.scannerOpenWithScan_args._Fields c : Hbase.scannerOpenWithScan_args._
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpenWithScan_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_args._Fields.html#line.41616">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_result._Fields.html
index 7babcbb..95a50df 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.scannerOpenWithScan_result._Fields c : Hbase.scannerOpenWithScan_resu
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpenWithScan_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithScan_result._Fields.html#line.41616">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_args._Fields.html
index ebe5540..3e6c6e6 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_args._Fields.html
@@ -341,7 +341,7 @@ for (Hbase.scannerOpenWithStopTs_args._Fields c : Hbase.scannerOpenWithStopTs_ar
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpenWithStopTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_args._Fields.html#line.48766">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_result._Fields.html
index 17c1159..56363c0 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.scannerOpenWithStopTs_result._Fields c : Hbase.scannerOpenWithStopTs_
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpenWithStopTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStopTs_result._Fields.html#line.48766">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_args._Fields.html
index 41b2ea9..9b216d5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_args._Fields.html
@@ -326,7 +326,7 @@ for (Hbase.scannerOpenWithStop_args._Fields c : Hbase.scannerOpenWithStop_args._
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpenWithStop_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_args._Fields.html#line.44415">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_result._Fields.html
index 302b634..805e44d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.scannerOpenWithStop_result._Fields c : Hbase.scannerOpenWithStop_resu
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpenWithStop_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpenWithStop_result._Fields.html#line.44415">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_args._Fields.html
index 1a7a33f..dee42c6 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_args._Fields.html
@@ -310,7 +310,7 @@ for (Hbase.scannerOpen_args._Fields c : Hbase.scannerOpen_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpen_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_args._Fields.html#line.42950">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_result._Fields.html
index fb6b919..7db6d6c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.scannerOpen_result._Fields c : Hbase.scannerOpen_result._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.scannerOpen_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.scannerOpen_result._Fields.html#line.42950">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/IOError._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/IOError._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/IOError._Fields.html
index fc715f1..b836054 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/IOError._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/IOError._Fields.html
@@ -259,7 +259,7 @@ for (IOError._Fields c : IOError._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/IOError._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">IOError._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/IOError._Fields.html#line.395">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/IllegalArgument._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/IllegalArgument._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/IllegalArgument._Fields.html
index 301235f..3e43ad4 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/IllegalArgument._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/IllegalArgument._Fields.html
@@ -259,7 +259,7 @@ for (IllegalArgument._Fields c : IllegalArgument._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/IllegalArgument._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">IllegalArgument._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/IllegalArgument._Fields.html#line.50">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Mutation._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Mutation._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Mutation._Fields.html
index deb8de8..578c008 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Mutation._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Mutation._Fields.html
@@ -295,7 +295,7 @@ for (Mutation._Fields c : Mutation._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Mutation._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Mutation._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Mutation._Fields.html#line.42">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TCell._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TCell._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TCell._Fields.html
index 729cee8..261405f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TCell._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TCell._Fields.html
@@ -271,7 +271,7 @@ for (TCell._Fields c : TCell._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/TCell._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">TCell._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/TCell._Fields.html#line.510">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TColumn._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TColumn._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TColumn._Fields.html
index 5646e0a..b43e6c0 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TColumn._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TColumn._Fields.html
@@ -271,7 +271,7 @@ for (TColumn._Fields c : TColumn._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/TColumn._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">TColumn._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/TColumn._Fields.html#line.50">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TIncrement._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TIncrement._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TIncrement._Fields.html
index c4c3fa0..88311e2 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TIncrement._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TIncrement._Fields.html
@@ -295,7 +295,7 @@ for (TIncrement._Fields c : TIncrement._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/TIncrement._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">TIncrement._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/TIncrement._Fields.html#line.43">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TRegionInfo._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TRegionInfo._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TRegionInfo._Fields.html
index 78868bb..8c8a700 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TRegionInfo._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TRegionInfo._Fields.html
@@ -331,7 +331,7 @@ for (TRegionInfo._Fields c : TRegionInfo._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/TRegionInfo._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">TRegionInfo._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/TRegionInfo._Fields.html#line.694">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TRowResult._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TRowResult._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TRowResult._Fields.html
index 677a42e..627cc12 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TRowResult._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TRowResult._Fields.html
@@ -283,7 +283,7 @@ for (TRowResult._Fields c : TRowResult._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/TRowResult._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">TRowResult._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/TRowResult._Fields.html#line.44">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TScan._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TScan._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TScan._Fields.html
index c2ccd4c..e4e1ab3 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TScan._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/TScan._Fields.html
@@ -331,7 +331,7 @@ for (TScan._Fields c : TScan._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/TScan._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">TScan._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/TScan._Fields.html#line.41">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/package-summary.html
index 7e5dfd4..135bc4b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/package-summary.html
@@ -186,7 +186,7 @@ This directory contains a Thrift interface definition file for an HBase RPC
 service and a Java server implementation.
 
 
-<h2><a name="whatisthrift">What is Thrift?</a></h2>
+<h2><a name="whatisthrift">What is Thrift?</a></h2> 
 <p><blockquote>"Thrift is a software framework for scalable cross-language services development.
 It combines a software stack with a code generation engine to build services
 that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby,
@@ -207,7 +207,7 @@ thrift generated documentation of thrift interface). A server-side implementatio
 types, and RPC utility files reside in the
 <a href="../../../../../org/apache/hadoop/hbase/thrift/generated/package-summary.html"><code>org.apache.hadoop.hbase.thrift.generated</code></a> package.
 </u></b></p>
-
+  
 <h2><a name="description">Description</a></h2>
 
 <p>To start ThriftServer, use:

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.html
index 944c4d9..8d68ce2 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.html
@@ -324,7 +324,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/THB
                    org.apache.thrift.TException</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html#get(java.nio.ByteBuffer,%20org.apache.hadoop.hbase.thrift2.generated.TGet)">THBaseService.Iface</a></code></strong></div>
 <div class="block">Method for getting data from a row.
-
+ 
  If the row cannot be found an empty Result is returned.
  This can be checked by the empty field of the TResult</div>
 <dl>
@@ -349,11 +349,11 @@ implements <a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/THB
                                  org.apache.thrift.TException</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html#getMultiple(java.nio.ByteBuffer,%20java.util.List)">THBaseService.Iface</a></code></strong></div>
 <div class="block">Method for getting multiple rows.
-
+ 
  If a row cannot be found there will be a null
  value in the result list for that TGet at the
  same position.
-
+ 
  So the Results are in the same order as the TGets.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -449,7 +449,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/THB
                          org.apache.thrift.TException</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html#deleteSingle(java.nio.ByteBuffer,%20org.apache.hadoop.hbase.thrift2.generated.TDelete)">THBaseService.Iface</a></code></strong></div>
 <div class="block">Deletes as specified by the TDelete.
-
+ 
  Note: "delete" is a reserved keyword and cannot be used in Thrift
  thus the inconsistent naming scheme from the other functions.</div>
 <dl>
@@ -473,7 +473,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/THB
                                     org.apache.thrift.TException</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html#deleteMultiple(java.nio.ByteBuffer,%20java.util.List)">THBaseService.Iface</a></code></strong></div>
 <div class="block">Bulk commit a List of TDeletes to the table.
-
+ 
  This returns a list of TDeletes that were not
  executed. So if everything succeeds you'll
  receive an empty list.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/ThriftUtilities.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/ThriftUtilities.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/ThriftUtilities.html
index 38de007..8cb55e7 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/ThriftUtilities.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/ThriftUtilities.html
@@ -216,7 +216,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/thrift2/ThriftUtilities.html#line.52">getFromThrift</a>(<a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/TGet.html" title="class in org.apache.hadoop.hbase.thrift2.generated">TGet</a>&nbsp;in)
                          throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Creates a <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client"><code>Get</code></a> (HBase) from a <a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/TGet.html" title="class in org.apache.hadoop.hbase.thrift2.generated"><code>TGet</code></a> (Thrift).
-
+ 
  This ignores any timestamps set on <a href="../../../../../org/apache/hadoop/hbase/thrift2/generated/TColumn.html" title="class in org.apache.hadoop.hbase.thrift2.generated"><code>TColumn</code></a> objects.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - the <code>TGet</code> to convert</dd>
 <dt><span class="strong">Returns:</span></dt><dd><code>Get</code> object</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumn._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumn._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumn._Fields.html
index 4038069..6d1708e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumn._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumn._Fields.html
@@ -283,7 +283,7 @@ for (TColumn._Fields c : TColumn._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TColumn._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TColumn._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TColumn._Fields.html#line.54">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement._Fields.html
index 3988d3e..e0bc3d7 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement._Fields.html
@@ -283,7 +283,7 @@ for (TColumnIncrement._Fields c : TColumnIncrement._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TColumnIncrement._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement._Fields.html#line.52">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumnValue._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumnValue._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumnValue._Fields.html
index 1bde961..bd8f288 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumnValue._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TColumnValue._Fields.html
@@ -295,7 +295,7 @@ for (TColumnValue._Fields c : TColumnValue._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TColumnValue._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TColumnValue._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TColumnValue._Fields.html#line.54">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDelete._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDelete._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDelete._Fields.html
index 788d814..a432168 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDelete._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDelete._Fields.html
@@ -333,7 +333,7 @@ for (TDelete._Fields c : TDelete._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TDelete._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TDelete._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TDelete._Fields.html#line.20">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDelete.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDelete.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDelete.html
index ef840b4..644b50e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDelete.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDelete.html
@@ -103,21 +103,21 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.thrift.TBase&lt;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TDelete.html" title="class in org.apache.hadoop.hbase.thrift2.generated">TDelete</a>,<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TDelete._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TDelete._Fields</a>&gt;, <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></pre>
 <div class="block">Used to perform Delete operations on a single row.
-
+ 
  The scope can be further narrowed down by specifying a list of
  columns or column families as TColumns.
-
+ 
  Specifying only a family in a TColumn will delete the whole family.
  If a timestamp is specified all versions with a timestamp less than
  or equal to this will be deleted. If no timestamp is specified the
  current time will be used.
-
+ 
  Specifying a family and a column qualifier in a TColumn will delete only
  this qualifier. If a timestamp is specified only versions equal
  to this timestamp will be deleted. If no timestamp is specified the
  most recent version will be deleted.  To delete all previous versions,
  specify the DELETE_COLUMNS TDeleteType.
-
+ 
  The top level timestamp is only used if a complete row should be deleted
  (i.e. no columns are passed) and if it is specified it works the same way
  as if you had added a TColumn for every column family and this timestamp

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDeleteType.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDeleteType.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDeleteType.html
index 5ef0f18..3dd97a4 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDeleteType.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDeleteType.html
@@ -254,7 +254,7 @@ for (TDeleteType c : TDeleteType.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TDeleteType.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TDeleteType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TDeleteType.html#line.25">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDurability.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDurability.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDurability.html
index 1e0ea56..6882442 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDurability.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TDurability.html
@@ -280,7 +280,7 @@ for (TDurability c : TDurability.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TDurability.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TDurability</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TDurability.html#line.21">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TGet._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TGet._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TGet._Fields.html
index b166129..32b38e8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TGet._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TGet._Fields.html
@@ -331,7 +331,7 @@ for (TGet._Fields c : TGet._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TGet._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TGet._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TGet._Fields.html#line.49">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TGet.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TGet.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TGet.html
index feb6d40..3f7a9e9 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TGet.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TGet.html
@@ -103,14 +103,14 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.thrift.TBase&lt;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TGet.html" title="class in org.apache.hadoop.hbase.thrift2.generated">TGet</a>,<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TGet._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TGet._Fields</a>&gt;, <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></pre>
 <div class="block">Used to perform Get operations on a single row.
-
+ 
  The scope can be further narrowed down by specifying a list of
  columns or column families.
-
+ 
  To get everything for a row, instantiate a Get object with just the row to get.
  To further define the scope of what to get you can add a timestamp or time range
  with an optional maximum number of versions to return.
-
+ 
  If you specify a time range and a timestamp the range is ignored.
  Timestamps on TColumns are ignored.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../serialized-form.html#org.apache.hadoop.hbase.thrift2.generated.TGet">Serialized Form</a></dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.Client.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.Client.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.Client.html
index 57e2d81..d5583a0 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.Client.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.Client.html
@@ -557,7 +557,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/
                    org.apache.thrift.TException</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html#get(java.nio.ByteBuffer,%20org.apache.hadoop.hbase.thrift2.generated.TGet)">THBaseService.Iface</a></code></strong></div>
 <div class="block">Method for getting data from a row.
-
+ 
  If the row cannot be found an empty Result is returned.
  This can be checked by the empty field of the TResult</div>
 <dl>
@@ -609,11 +609,11 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/
                                  org.apache.thrift.TException</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html#getMultiple(java.nio.ByteBuffer,%20java.util.List)">THBaseService.Iface</a></code></strong></div>
 <div class="block">Method for getting multiple rows.
-
+ 
  If a row cannot be found there will be a null
  value in the result list for that TGet at the
  same position.
-
+ 
  So the Results are in the same order as the TGets.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -821,7 +821,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/
                          org.apache.thrift.TException</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html#deleteSingle(java.nio.ByteBuffer,%20org.apache.hadoop.hbase.thrift2.generated.TDelete)">THBaseService.Iface</a></code></strong></div>
 <div class="block">Deletes as specified by the TDelete.
-
+ 
  Note: "delete" is a reserved keyword and cannot be used in Thrift
  thus the inconsistent naming scheme from the other functions.</div>
 <dl>
@@ -872,7 +872,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/
                                     org.apache.thrift.TException</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html#deleteMultiple(java.nio.ByteBuffer,%20java.util.List)">THBaseService.Iface</a></code></strong></div>
 <div class="block">Bulk commit a List of TDeletes to the table.
-
+ 
  This returns a list of TDeletes that were not
  executed. So if everything succeeds you'll
  receive an empty list.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html
index 54ddc6a..2a368ed 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.Iface.html
@@ -271,7 +271,7 @@
             throws <a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TIOError.html" title="class in org.apache.hadoop.hbase.thrift2.generated">TIOError</a>,
                    org.apache.thrift.TException</pre>
 <div class="block">Method for getting data from a row.
-
+ 
  If the row cannot be found an empty Result is returned.
  This can be checked by the empty field of the TResult</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>table</code> - the table to get from</dd><dd><code>get</code> - the TGet to fetch</dd>
@@ -292,11 +292,11 @@
                           throws <a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TIOError.html" title="class in org.apache.hadoop.hbase.thrift2.generated">TIOError</a>,
                                  org.apache.thrift.TException</pre>
 <div class="block">Method for getting multiple rows.
-
+ 
  If a row cannot be found there will be a null
  value in the result list for that TGet at the
  same position.
-
+ 
  So the Results are in the same order as the TGets.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>table</code> - the table to get from</dd><dd><code>gets</code> - a list of TGets to fetch, the Result list
  will have the Results at corresponding positions
@@ -376,7 +376,7 @@
                   throws <a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TIOError.html" title="class in org.apache.hadoop.hbase.thrift2.generated">TIOError</a>,
                          org.apache.thrift.TException</pre>
 <div class="block">Deletes as specified by the TDelete.
-
+ 
  Note: "delete" is a reserved keyword and cannot be used in Thrift
  thus the inconsistent naming scheme from the other functions.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>table</code> - the table to delete from</dd><dd><code>deleteSingle</code> - the TDelete to delete</dd>
@@ -396,7 +396,7 @@
                              throws <a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TIOError.html" title="class in org.apache.hadoop.hbase.thrift2.generated">TIOError</a>,
                                     org.apache.thrift.TException</pre>
 <div class="block">Bulk commit a List of TDeletes to the table.
-
+ 
  This returns a list of TDeletes that were not
  executed. So if everything succeeds you'll
  receive an empty list.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_args._Fields.html
index d981678..73dac86 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_args._Fields.html
@@ -341,7 +341,7 @@ for (THBaseService.checkAndDelete_args._Fields c : THBaseService.checkAndDelete_
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.checkAndDelete_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_args._Fields.html#line.10734">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_result._Fields.html
index 3ef2d0a..261a732 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_result._Fields.html
@@ -271,7 +271,7 @@ for (THBaseService.checkAndDelete_result._Fields c : THBaseService.checkAndDelet
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.checkAndDelete_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndDelete_result._Fields.html#line.10734">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_args._Fields.html
index 6e4e3aa..f7b6612 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_args._Fields.html
@@ -341,7 +341,7 @@ for (THBaseService.checkAndPut_args._Fields c : THBaseService.checkAndPut_args._
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.checkAndPut_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_args._Fields.html#line.6446">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_result._Fields.html
index 4efd66b..bed43f6 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_result._Fields.html
@@ -271,7 +271,7 @@ for (THBaseService.checkAndPut_result._Fields c : THBaseService.checkAndPut_resu
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.checkAndPut_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.checkAndPut_result._Fields.html#line.6446">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_args._Fields.html
index 2a07fbb..0021f7a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_args._Fields.html
@@ -262,7 +262,7 @@ for (THBaseService.closeScanner_args._Fields c : THBaseService.closeScanner_args
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.closeScanner_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_args._Fields.html#line.14600">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_result._Fields.html
index 7746cf4..fe3ea4e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_result._Fields.html
@@ -274,7 +274,7 @@ for (THBaseService.closeScanner_result._Fields c : THBaseService.closeScanner_re
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.closeScanner_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.closeScanner_result._Fields.html#line.14600">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_args._Fields.html
index 83eb2d4..525ef2e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_args._Fields.html
@@ -277,7 +277,7 @@ for (THBaseService.deleteMultiple_args._Fields c : THBaseService.deleteMultiple_
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.deleteMultiple_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_args._Fields.html#line.9211">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_result._Fields.html
index 4cd8c10..cd7f50d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_result._Fields.html
@@ -271,7 +271,7 @@ for (THBaseService.deleteMultiple_result._Fields c : THBaseService.deleteMultipl
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.deleteMultiple_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteMultiple_result._Fields.html#line.9211">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_args._Fields.html
index d2f1a30..0d7b1a3 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_args._Fields.html
@@ -277,7 +277,7 @@ for (THBaseService.deleteSingle_args._Fields c : THBaseService.deleteSingle_args
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.deleteSingle_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_args._Fields.html#line.8304">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_result._Fields.html
index 853bf9a..56d4d05 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_result._Fields.html
@@ -259,7 +259,7 @@ for (THBaseService.deleteSingle_result._Fields c : THBaseService.deleteSingle_re
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.deleteSingle_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.deleteSingle_result._Fields.html#line.8304">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_args._Fields.html
index ee635fd..416e772 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_args._Fields.html
@@ -277,7 +277,7 @@ for (THBaseService.exists_args._Fields c : THBaseService.exists_args._Fields.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.exists_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_args._Fields.html#line.2095">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>


[19/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
index 014b293..da0f54b 100644
--- a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
+++ b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffSeekerState.html
@@ -34,527 +34,530 @@
 <span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import org.apache.hadoop.io.RawComparator;<a name="line.27"></a>
 <span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>/**<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * Compress using:<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * - store size of common prefix<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * - save column family once, it is same within HFile<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * - use bits to avoid duplication key length, value length<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *   and type if it same as previous<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * - store in 3 bits length of timestamp field<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * - allow diff in timestamp instead of actual value<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * Format:<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * - 1 byte:    flag<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * - 1-5 bytes: prefix length<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * - 1-8 bytes: timestamp or diff<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * - ... bytes: value<a name="line.48"></a>
-<span class="sourceLineNo">049</span> */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    long timestamp;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    byte[] familyNameWithSize;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @Override<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      timestamp = in.getLong();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @Override<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    void copyFrom(CompressionState state) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      super.copyFrom(state);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      timestamp = state2.timestamp;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      ByteBuffer in) throws IOException {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    byte flag = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    int kvPos = in.position();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int keyLength = in.getInt();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    int valueLength = in.getInt();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    long timestamp;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    long diffTimestamp = 0;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    int diffTimestampFitsInBytes = 0;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>    int commonPrefix;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    int timestampFitsInBytes;<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>    if (previousState.isFirst()) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      currentState.prevOffset = kvPos;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      timestamp = currentState.timestamp;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (timestamp &lt; 0) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        timestamp = -timestamp;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      commonPrefix = 0;<a name="line.103"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Compress using:<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * - store size of common prefix<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * - save column family once, it is same within HFile<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * - use bits to avoid duplication key length, value length<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *   and type if it same as previous<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * - store in 3 bits length of timestamp field<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * - allow diff in timestamp instead of actual value<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * Format:<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * - 1 byte:    flag<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * - 1-5 bytes: prefix length<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * - 1-8 bytes: timestamp or diff<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * - ... bytes: value<a name="line.50"></a>
+<span class="sourceLineNo">051</span> */<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@InterfaceAudience.Private<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    long timestamp;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    byte[] familyNameWithSize;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @Override<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      timestamp = in.getLong();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    void copyFrom(CompressionState state) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      super.copyFrom(state);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      timestamp = state2.timestamp;<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><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      ByteBuffer in) throws IOException {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    byte flag = 0;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    int kvPos = in.position();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    int keyLength = in.getInt();<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    int valueLength = in.getInt();<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>    long timestamp;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    long diffTimestamp = 0;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    int diffTimestampFitsInBytes = 0;<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>    int commonPrefix;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>    int timestampFitsInBytes;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>    if (previousState.isFirst()) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      currentState.prevOffset = kvPos;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      timestamp = currentState.timestamp;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      if (timestamp &lt; 0) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        timestamp = -timestamp;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.103"></a>
 <span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // put column family<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      in.mark();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.109"></a>
-<span class="sourceLineNo">110</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      in.reset();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    } else {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      // find a common prefix and skip it<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      commonPrefix =<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.115"></a>
-<span class="sourceLineNo">116</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.116"></a>
-<span class="sourceLineNo">117</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      // don't compress timestamp and type using prefix<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          commonPrefix, previousState);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      currentState.prevOffset = kvPos;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      timestamp = currentState.timestamp;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      if (negativeTimestamp) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>        timestamp = -timestamp;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (keyLength == previousState.keyLength) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      if (valueLength == previousState.valueLength) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.134"></a>
+<span class="sourceLineNo">105</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      commonPrefix = 0;<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>      // put column family<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      in.mark();<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.110"></a>
+<span class="sourceLineNo">111</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      in.reset();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    } else {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      // find a common prefix and skip it<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      commonPrefix =<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.118"></a>
+<span class="sourceLineNo">119</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.119"></a>
+<span class="sourceLineNo">120</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      // don't compress timestamp and type using prefix<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.123"></a>
+<span class="sourceLineNo">124</span>          commonPrefix, previousState);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      currentState.prevOffset = kvPos;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      timestamp = currentState.timestamp;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      if (negativeTimestamp) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        timestamp = -timestamp;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>      if (keyLength == previousState.keyLength) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.134"></a>
 <span class="sourceLineNo">135</span>      }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      if (currentState.type == previousState.type) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_TYPE;<a name="line.137"></a>
+<span class="sourceLineNo">136</span>      if (valueLength == previousState.valueLength) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>      }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>      // encode timestamp<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      if (minusDiffTimestamp) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        diffTimestamp = -diffTimestamp;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        if (minusDiffTimestamp) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      } else {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        if (negativeTimestamp) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>    out.write(flag);<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.167"></a>
+<span class="sourceLineNo">139</span>      if (currentState.type == previousState.type) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        flag |= FLAG_SAME_TYPE;<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>      // encode timestamp<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      if (minusDiffTimestamp) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        diffTimestamp = -diffTimestamp;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        if (minusDiffTimestamp) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      } else {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        if (negativeTimestamp) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>    out.write(flag);<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.171"></a>
+<span class="sourceLineNo">169</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<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>    if (previousState.isFirst() ||<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      int restRowLength =<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.178"></a>
-<span class="sourceLineNo">179</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    } else {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.182"></a>
-<span class="sourceLineNo">183</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    } else {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      out.write(currentState.type);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">173</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>    if (previousState.isFirst() ||<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      int restRowLength =<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    } else {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.185"></a>
+<span class="sourceLineNo">186</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    } else {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      out.write(currentState.type);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      ByteBuffer buffer,<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      DiffCompressionState state)<a name="line.202"></a>
-<span class="sourceLineNo">203</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // read the column family at the beginning<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (state.isFirst()) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      state.familyLength = source.readByte();<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      state.familyNameWithSize =<a name="line.207"></a>
-<span class="sourceLineNo">208</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>          state.familyLength);<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // read flag<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    byte flag = source.readByte();<a name="line.215"></a>
+<span class="sourceLineNo">200</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      ByteBuffer buffer,<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      DiffCompressionState state)<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    // read the column family at the beginning<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    if (state.isFirst()) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      state.familyLength = source.readByte();<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      state.familyNameWithSize =<a name="line.210"></a>
+<span class="sourceLineNo">211</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          state.familyLength);<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>    // read key/value/common lengths<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    int keyLength;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    int valueLength;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      keyLength = state.keyLength;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      valueLength = state.valueLength;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    } else {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // create KeyValue buffer and fill it prefix<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    int keyOffset = buffer.position();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.234"></a>
-<span class="sourceLineNo">235</span>        + KeyValue.ROW_OFFSET);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    buffer.putInt(keyLength);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    buffer.putInt(valueLength);<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // copy common from previous key<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    if (commonPrefix &gt; 0) {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // copy the rest of the key from the buffer<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    int keyRestLength;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      // omit the family part of the key, it is always the same<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      short rowLength;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      int rowRestLength;<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>      // check length of row<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        // not yet copied, do it now<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        rowLength = buffer.getShort();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        rowRestLength = rowLength;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        // already in buffer, just read it<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>      // copy the rest of row<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      state.rowLength = rowLength;<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>      // copy the column family<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      buffer.put(state.familyNameWithSize);<a name="line.272"></a>
+<span class="sourceLineNo">217</span>    // read flag<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    byte flag = source.readByte();<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // read key/value/common lengths<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    int keyLength;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    int valueLength;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      keyLength = state.keyLength;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    } else {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      valueLength = state.valueLength;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    } else {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>    // create KeyValue buffer and fill it prefix<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    int keyOffset = buffer.position();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        + KeyValue.ROW_OFFSET);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    buffer.putInt(keyLength);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    buffer.putInt(valueLength);<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>    // copy common from previous key<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    if (commonPrefix &gt; 0) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.244"></a>
+<span class="sourceLineNo">245</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>    // copy the rest of the key from the buffer<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    int keyRestLength;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      // omit the family part of the key, it is always the same<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      short rowLength;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      int rowRestLength;<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>      // check length of row<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        // not yet copied, do it now<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.259"></a>
+<span class="sourceLineNo">260</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        rowLength = buffer.getShort();<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        rowRestLength = rowLength;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      } else {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        // already in buffer, just read it<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<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>      // copy the rest of row<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      state.rowLength = rowLength;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>      keyRestLength = keyLength - rowLength -<a name="line.274"></a>
-<span class="sourceLineNo">275</span>          state.familyNameWithSize.length -<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>    // handle timestamp<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    int timestampFitsInBytes =<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      timestamp = -timestamp;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      timestamp = state.timestamp - timestamp;<a name="line.292"></a>
+<span class="sourceLineNo">274</span>      // copy the column family<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      buffer.put(state.familyNameWithSize);<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>      keyRestLength = keyLength - rowLength -<a name="line.277"></a>
+<span class="sourceLineNo">278</span>          state.familyNameWithSize.length -<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    } else {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    // handle timestamp<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    int timestampFitsInBytes =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      timestamp = -timestamp;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    }<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    buffer.putLong(timestamp);<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    // copy the type field<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    byte type;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      type = state.type;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    } else {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      type = source.readByte();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    buffer.put(type);<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>    // copy value part<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.306"></a>
+<span class="sourceLineNo">294</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      timestamp = state.timestamp - timestamp;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    }<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    buffer.putLong(timestamp);<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>    // copy the type field<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    byte type;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      type = state.type;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    } else {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      type = source.readByte();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    buffer.put(type);<a name="line.306"></a>
 <span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    state.keyLength = keyLength;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    state.valueLength = valueLength;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    state.prevOffset = keyOffset;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    state.timestamp = timestamp;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    state.type = type;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    // state.qualifier is unused<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public void compressKeyValues(DataOutputStream out,<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    in.rewind();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    while (in.hasRemaining()) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      compressSingleKeyValue(previousState, currentState,<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          out, in);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>      // swap previousState &lt;-&gt; currentState<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      DiffCompressionState tmp = previousState;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      previousState = currentState;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      currentState = tmp;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      throws IOException {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    int decompressedSize = source.readInt();<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        allocHeaderLength);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    buffer.position(allocHeaderLength);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    while (source.available() &gt; skipLastBytes) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    if (source.available() != skipLastBytes) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return buffer;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>  }<a name="line.354"></a>
+<span class="sourceLineNo">308</span>    // copy value part<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    state.keyLength = keyLength;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    state.valueLength = valueLength;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    state.prevOffset = keyOffset;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    state.timestamp = timestamp;<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    state.type = type;<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    // state.qualifier is unused<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>  @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public void compressKeyValues(DataOutputStream out,<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    in.rewind();<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    while (in.hasRemaining()) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      compressSingleKeyValue(previousState, currentState,<a name="line.327"></a>
+<span class="sourceLineNo">328</span>          out, in);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>      // swap previousState &lt;-&gt; currentState<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      DiffCompressionState tmp = previousState;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      previousState = currentState;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      currentState = tmp;<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  }<a name="line.336"></a>
+<span class="sourceLineNo">337</span><a name="line.337"></a>
+<span class="sourceLineNo">338</span>  @Override<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      throws IOException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    int decompressedSize = source.readInt();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        allocHeaderLength);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    buffer.position(allocHeaderLength);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    while (source.available() &gt; skipLastBytes) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (source.available() != skipLastBytes) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
 <span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>  @Override<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    block.mark();<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    block.position(Bytes.SIZEOF_INT);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    byte familyLength = block.get();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    byte flag = block.get();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>    // copy row<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    int pos = result.arrayOffset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    short rowLength = result.getShort();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    block.get(result.array(), pos, rowLength);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    pos += rowLength;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    // copy family<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    int savePosition = block.position();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    block.position(Bytes.SIZEOF_INT);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.380"></a>
-<span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // copy qualifier<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    block.position(savePosition);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    int qualifierLength =<a name="line.384"></a>
-<span class="sourceLineNo">385</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    block.get(result.array(), pos, qualifierLength);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    pos += qualifierLength;<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // copy the timestamp and type<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    int timestampFitInBytes =<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      timestamp = -timestamp;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    result.putLong(pos, timestamp);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    pos += Bytes.SIZEOF_LONG;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>    block.reset();<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return result;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  @Override<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public String toString() {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>  protected static class DiffSeekerState extends SeekerState {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    private int rowLengthWithSize;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    private long timestamp;<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>    @Override<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    protected void copyFromNext(SeekerState that) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      super.copyFromNext(that);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      timestamp = other.timestamp;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @Override<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      final boolean includesMemstoreTS) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      private byte[] familyNameWithSize;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.427"></a>
-<span class="sourceLineNo">428</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>      private void decode(boolean isFirst) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        byte flag = currentBuffer.get();<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        byte type = 0;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          if (!isFirst) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          current.valueLength =<a name="line.440"></a>
-<span class="sourceLineNo">441</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        }<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        current.lastCommonPrefix =<a name="line.443"></a>
-<span class="sourceLineNo">444</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>        current.ensureSpaceForKey();<a name="line.446"></a>
-<span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          // length of row is different, copy everything except family<a name="line.449"></a>
+<span class="sourceLineNo">356</span>    return buffer;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    block.mark();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    block.position(Bytes.SIZEOF_INT);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    byte familyLength = block.get();<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    byte flag = block.get();<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    // copy row<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    int pos = result.arrayOffset();<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    short rowLength = result.getShort();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    block.get(result.array(), pos, rowLength);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    pos += rowLength;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    // copy family<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    int savePosition = block.position();<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    block.position(Bytes.SIZEOF_INT);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.383"></a>
+<span class="sourceLineNo">384</span><a name="line.384"></a>
+<span class="sourceLineNo">385</span>    // copy qualifier<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    block.position(savePosition);<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    int qualifierLength =<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    block.get(result.array(), pos, qualifierLength);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    pos += qualifierLength;<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    // copy the timestamp and type<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    int timestampFitInBytes =<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      timestamp = -timestamp;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    result.putLong(pos, timestamp);<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    pos += Bytes.SIZEOF_LONG;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>    block.reset();<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    return result;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  @Override<a name="line.407"></a>
+<span class="sourceLineNo">408</span>  public String toString() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<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>  protected static class DiffSeekerState extends SeekerState {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    private int rowLengthWithSize;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    private long timestamp;<a name="line.414"></a>
+<span class="sourceLineNo">415</span><a name="line.415"></a>
+<span class="sourceLineNo">416</span>    @Override<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    protected void copyFromNext(SeekerState that) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      super.copyFromNext(that);<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      timestamp = other.timestamp;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  @Override<a name="line.425"></a>
+<span class="sourceLineNo">426</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      final boolean includesMemstoreTS) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      private byte[] familyNameWithSize;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.430"></a>
+<span class="sourceLineNo">431</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>      private void decode(boolean isFirst) {<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        byte flag = currentBuffer.get();<a name="line.434"></a>
+<span class="sourceLineNo">435</span>        byte type = 0;<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>          if (!isFirst) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          }<a name="line.439"></a>
+<span class="sourceLineNo">440</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>          current.valueLength =<a name="line.443"></a>
+<span class="sourceLineNo">444</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>        }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        current.lastCommonPrefix =<a name="line.446"></a>
+<span class="sourceLineNo">447</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.447"></a>
+<span class="sourceLineNo">448</span><a name="line.448"></a>
+<span class="sourceLineNo">449</span>        current.ensureSpaceForKey();<a name="line.449"></a>
 <span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>          // copy the row size<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.454"></a>
-<span class="sourceLineNo">455</span>              Bytes.SIZEOF_SHORT;<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span>          // copy the rest of row<a name="line.457"></a>
-<span class="sourceLineNo">458</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.458"></a>
-<span class="sourceLineNo">459</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.459"></a>
-<span class="sourceLineNo">460</span><a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // copy the column family<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          System.arraycopy(familyNameWithSize, 0, current.keyBuffer,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>              current.rowLengthWithSize, familyNameWithSize.length);<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>          // copy the qualifier<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          currentBuffer.get(current.keyBuffer,<a name="line.466"></a>
-<span class="sourceLineNo">467</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.467"></a>
-<span class="sourceLineNo">468</span>              current.keyLength - current.rowLengthWithSize -<a name="line.468"></a>
-<span class="sourceLineNo">469</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        } else if (current.lastCommonPrefix &lt; current.rowLengthWithSize) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>          // we have to copy part of row and qualifier,<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          // but column family is in right place<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>          // before column family (rest of row)<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>              current.rowLengthWithSize - current.lastCommonPrefix);<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>          // after column family (qualifier)<a name="line.478"></a>
-<span class="sourceLineNo">479</span>          currentBuffer.get(current.keyBuffer,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.480"></a>
-<span class="sourceLineNo">481</span>              current.keyLength - current.rowLengthWithSize -<a name="line.481"></a>
-<span class="sourceLineNo">482</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>        } else {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>          // copy just the ending<a name="line.484"></a>
-<span class="sourceLineNo">485</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH -<a name="line.486"></a>
-<span class="sourceLineNo">487</span>              current.lastCommonPrefix);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        }<a name="line.488"></a>
-<span class="sourceLineNo">489</span><a name="line.489"></a>
-<span class="sourceLineNo">490</span>        // timestamp<a name="line.490"></a>
-<span class="sourceLineNo">491</span>        int pos = current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        int timestampFitInBytes = 1 +<a name="line.492"></a>
-<span class="sourceLineNo">493</span>            ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        long timestampOrDiff =<a name="line.494"></a>
-<span class="sourceLineNo">495</span>            ByteBufferUtils.readLong(currentBuffer, timestampFitInBytes);<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>          timestampOrDiff = -timestampOrDiff;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) { // it is timestamp<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          current.timestamp = timestampOrDiff;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        } else { // it is diff<a name="line.501"></a>
-<span class="sourceLineNo">502</span>          current.timestamp = current.timestamp - timestampOrDiff;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        }<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        Bytes.putLong(current.keyBuffer, pos, current.timestamp);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        pos += Bytes.SIZEOF_LONG;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>        // type<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          currentBuffer.get(current.keyBuffer, pos, Bytes.SIZEOF_BYTE);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        } else if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          current.keyBuffer[pos] = type;<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>        current.valueOffset = currentBuffer.position();<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.515"></a>
+<span class="sourceLineNo">451</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          // length of row is different, copy everything except family<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>          // copy the row size<a name="line.454"></a>
+<span class="sourceLineNo">455</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.455"></a>
+<span class="sourceLineNo">456</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.457"></a>
+<span class="sourceLineNo">458</span>              Bytes.SIZEOF_SHORT;<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span>          // copy the rest of row<a name="line.460"></a>
+<span class="sourceLineNo">461</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.461"></a>
+<span class="sourceLineNo">462</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.462"></a>
+<span class="sourceLineNo">463</span><a name="line.463"></a>
+<span class="sourceLineNo">464</span>          // copy the column family<

<TRUNCATED>

[03/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/xref/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/xref/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html b/0.94/xref/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
index a9412e8..be051aa 100644
--- a/0.94/xref/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
+++ b/0.94/xref/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
@@ -36,527 +36,530 @@
 <a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.util.Bytes;
 <a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.io.RawComparator;
 <a class="jxr_linenumber" name="28" href="#28">28</a>  
-<a class="jxr_linenumber" name="29" href="#29">29</a>  <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * Compress using:</em>
-<a class="jxr_linenumber" name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * - store size of common prefix</em>
-<a class="jxr_linenumber" name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * - save column family once, it is same within HFile</em>
-<a class="jxr_linenumber" name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * - use integer compression for key, value and prefix (7-bit encoding)</em>
-<a class="jxr_linenumber" name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * - use bits to avoid duplication key length, value length</em>
-<a class="jxr_linenumber" name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> *   and type if it same as previous</em>
-<a class="jxr_linenumber" name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * - store in 3 bits length of timestamp field</em>
-<a class="jxr_linenumber" name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * - allow diff in timestamp instead of actual value</em>
-<a class="jxr_linenumber" name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * Format:</em>
-<a class="jxr_linenumber" name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * - 1 byte:    flag</em>
-<a class="jxr_linenumber" name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)</em>
-<a class="jxr_linenumber" name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)</em>
-<a class="jxr_linenumber" name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: prefix length</em>
-<a class="jxr_linenumber" name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * - ... bytes: rest of the row (if prefix length is small enough)</em>
-<a class="jxr_linenumber" name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * - ... bytes: qualifier (or suffix depending on prefix length)</em>
-<a class="jxr_linenumber" name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * - 1-8 bytes: timestamp or diff</em>
-<a class="jxr_linenumber" name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)</em>
-<a class="jxr_linenumber" name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * - ... bytes: value</em>
-<a class="jxr_linenumber" name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffKeyDeltaEncoder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">BufferedDataBlockEncoder</a> {
-<a class="jxr_linenumber" name="51" href="#51">51</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_KEY_LENGTH = 1;
-<a class="jxr_linenumber" name="52" href="#52">52</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;
-<a class="jxr_linenumber" name="53" href="#53">53</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_TYPE = 1 &lt;&lt; 2;
-<a class="jxr_linenumber" name="54" href="#54">54</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;
-<a class="jxr_linenumber" name="55" href="#55">55</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);
-<a class="jxr_linenumber" name="56" href="#56">56</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> SHIFT_TIMESTAMP_LENGTH = 4;
-<a class="jxr_linenumber" name="57" href="#57">57</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;
-<a class="jxr_linenumber" name="58" href="#58">58</a>  
-<a class="jxr_linenumber" name="59" href="#59">59</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/CompressionState.html">CompressionState</a> {
-<a class="jxr_linenumber" name="60" href="#60">60</a>      <strong class="jxr_keyword">long</strong> timestamp;
-<a class="jxr_linenumber" name="61" href="#61">61</a>      byte[] familyNameWithSize;
-<a class="jxr_linenumber" name="62" href="#62">62</a>  
-<a class="jxr_linenumber" name="63" href="#63">63</a>      @Override
-<a class="jxr_linenumber" name="64" href="#64">64</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> readTimestamp(ByteBuffer in) {
-<a class="jxr_linenumber" name="65" href="#65">65</a>        timestamp = in.getLong();
-<a class="jxr_linenumber" name="66" href="#66">66</a>      }
-<a class="jxr_linenumber" name="67" href="#67">67</a>  
-<a class="jxr_linenumber" name="68" href="#68">68</a>      @Override
-<a class="jxr_linenumber" name="69" href="#69">69</a>      <strong class="jxr_keyword">void</strong> copyFrom(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/CompressionState.html">CompressionState</a> state) {
-<a class="jxr_linenumber" name="70" href="#70">70</a>        <strong class="jxr_keyword">super</strong>.copyFrom(state);
-<a class="jxr_linenumber" name="71" href="#71">71</a>        <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> state2 = (DiffCompressionState) state;
-<a class="jxr_linenumber" name="72" href="#72">72</a>        timestamp = state2.timestamp;
-<a class="jxr_linenumber" name="73" href="#73">73</a>      }
-<a class="jxr_linenumber" name="74" href="#74">74</a>    }
-<a class="jxr_linenumber" name="75" href="#75">75</a>  
-<a class="jxr_linenumber" name="76" href="#76">76</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> compressSingleKeyValue(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> previousState,
-<a class="jxr_linenumber" name="77" href="#77">77</a>        <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> currentState, DataOutputStream out,
-<a class="jxr_linenumber" name="78" href="#78">78</a>        ByteBuffer in) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="79" href="#79">79</a>      byte flag = 0;
-<a class="jxr_linenumber" name="80" href="#80">80</a>      <strong class="jxr_keyword">int</strong> kvPos = in.position();
-<a class="jxr_linenumber" name="81" href="#81">81</a>      <strong class="jxr_keyword">int</strong> keyLength = in.getInt();
-<a class="jxr_linenumber" name="82" href="#82">82</a>      <strong class="jxr_keyword">int</strong> valueLength = in.getInt();
-<a class="jxr_linenumber" name="83" href="#83">83</a>  
-<a class="jxr_linenumber" name="84" href="#84">84</a>      <strong class="jxr_keyword">long</strong> timestamp;
-<a class="jxr_linenumber" name="85" href="#85">85</a>      <strong class="jxr_keyword">long</strong> diffTimestamp = 0;
-<a class="jxr_linenumber" name="86" href="#86">86</a>      <strong class="jxr_keyword">int</strong> diffTimestampFitsInBytes = 0;
-<a class="jxr_linenumber" name="87" href="#87">87</a>  
-<a class="jxr_linenumber" name="88" href="#88">88</a>      <strong class="jxr_keyword">int</strong> commonPrefix;
-<a class="jxr_linenumber" name="89" href="#89">89</a>  
-<a class="jxr_linenumber" name="90" href="#90">90</a>      <strong class="jxr_keyword">int</strong> timestampFitsInBytes;
-<a class="jxr_linenumber" name="91" href="#91">91</a>  
-<a class="jxr_linenumber" name="92" href="#92">92</a>      <strong class="jxr_keyword">if</strong> (previousState.isFirst()) {
-<a class="jxr_linenumber" name="93" href="#93">93</a>        currentState.readKey(in, keyLength, valueLength);
-<a class="jxr_linenumber" name="94" href="#94">94</a>        currentState.prevOffset = kvPos;
-<a class="jxr_linenumber" name="95" href="#95">95</a>        timestamp = currentState.timestamp;
-<a class="jxr_linenumber" name="96" href="#96">96</a>        <strong class="jxr_keyword">if</strong> (timestamp &lt; 0) {
-<a class="jxr_linenumber" name="97" href="#97">97</a>          flag |= FLAG_TIMESTAMP_SIGN;
-<a class="jxr_linenumber" name="98" href="#98">98</a>          timestamp = -timestamp;
-<a class="jxr_linenumber" name="99" href="#99">99</a>        }
-<a class="jxr_linenumber" name="100" href="#100">100</a>       timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);
-<a class="jxr_linenumber" name="101" href="#101">101</a> 
-<a class="jxr_linenumber" name="102" href="#102">102</a>       flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;
-<a class="jxr_linenumber" name="103" href="#103">103</a>       commonPrefix = 0;
+<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.classification.InterfaceAudience;
+<a class="jxr_linenumber" name="30" href="#30">30</a>  
+<a class="jxr_linenumber" name="31" href="#31">31</a>  <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * Compress using:</em>
+<a class="jxr_linenumber" name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * - store size of common prefix</em>
+<a class="jxr_linenumber" name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * - save column family once, it is same within HFile</em>
+<a class="jxr_linenumber" name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * - use integer compression for key, value and prefix (7-bit encoding)</em>
+<a class="jxr_linenumber" name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * - use bits to avoid duplication key length, value length</em>
+<a class="jxr_linenumber" name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> *   and type if it same as previous</em>
+<a class="jxr_linenumber" name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * - store in 3 bits length of timestamp field</em>
+<a class="jxr_linenumber" name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * - allow diff in timestamp instead of actual value</em>
+<a class="jxr_linenumber" name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * Format:</em>
+<a class="jxr_linenumber" name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * - 1 byte:    flag</em>
+<a class="jxr_linenumber" name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)</em>
+<a class="jxr_linenumber" name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)</em>
+<a class="jxr_linenumber" name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: prefix length</em>
+<a class="jxr_linenumber" name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * - ... bytes: rest of the row (if prefix length is small enough)</em>
+<a class="jxr_linenumber" name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * - ... bytes: qualifier (or suffix depending on prefix length)</em>
+<a class="jxr_linenumber" name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * - 1-8 bytes: timestamp or diff</em>
+<a class="jxr_linenumber" name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)</em>
+<a class="jxr_linenumber" name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * - ... bytes: value</em>
+<a class="jxr_linenumber" name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="52" href="#52">52</a>  @InterfaceAudience.Private
+<a class="jxr_linenumber" name="53" href="#53">53</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffKeyDeltaEncoder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">BufferedDataBlockEncoder</a> {
+<a class="jxr_linenumber" name="54" href="#54">54</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_KEY_LENGTH = 1;
+<a class="jxr_linenumber" name="55" href="#55">55</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;
+<a class="jxr_linenumber" name="56" href="#56">56</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_TYPE = 1 &lt;&lt; 2;
+<a class="jxr_linenumber" name="57" href="#57">57</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;
+<a class="jxr_linenumber" name="58" href="#58">58</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);
+<a class="jxr_linenumber" name="59" href="#59">59</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> SHIFT_TIMESTAMP_LENGTH = 4;
+<a class="jxr_linenumber" name="60" href="#60">60</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;
+<a class="jxr_linenumber" name="61" href="#61">61</a>  
+<a class="jxr_linenumber" name="62" href="#62">62</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/CompressionState.html">CompressionState</a> {
+<a class="jxr_linenumber" name="63" href="#63">63</a>      <strong class="jxr_keyword">long</strong> timestamp;
+<a class="jxr_linenumber" name="64" href="#64">64</a>      byte[] familyNameWithSize;
+<a class="jxr_linenumber" name="65" href="#65">65</a>  
+<a class="jxr_linenumber" name="66" href="#66">66</a>      @Override
+<a class="jxr_linenumber" name="67" href="#67">67</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> readTimestamp(ByteBuffer in) {
+<a class="jxr_linenumber" name="68" href="#68">68</a>        timestamp = in.getLong();
+<a class="jxr_linenumber" name="69" href="#69">69</a>      }
+<a class="jxr_linenumber" name="70" href="#70">70</a>  
+<a class="jxr_linenumber" name="71" href="#71">71</a>      @Override
+<a class="jxr_linenumber" name="72" href="#72">72</a>      <strong class="jxr_keyword">void</strong> copyFrom(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/CompressionState.html">CompressionState</a> state) {
+<a class="jxr_linenumber" name="73" href="#73">73</a>        <strong class="jxr_keyword">super</strong>.copyFrom(state);
+<a class="jxr_linenumber" name="74" href="#74">74</a>        <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> state2 = (DiffCompressionState) state;
+<a class="jxr_linenumber" name="75" href="#75">75</a>        timestamp = state2.timestamp;
+<a class="jxr_linenumber" name="76" href="#76">76</a>      }
+<a class="jxr_linenumber" name="77" href="#77">77</a>    }
+<a class="jxr_linenumber" name="78" href="#78">78</a>  
+<a class="jxr_linenumber" name="79" href="#79">79</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> compressSingleKeyValue(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> previousState,
+<a class="jxr_linenumber" name="80" href="#80">80</a>        <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> currentState, DataOutputStream out,
+<a class="jxr_linenumber" name="81" href="#81">81</a>        ByteBuffer in) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="82" href="#82">82</a>      byte flag = 0;
+<a class="jxr_linenumber" name="83" href="#83">83</a>      <strong class="jxr_keyword">int</strong> kvPos = in.position();
+<a class="jxr_linenumber" name="84" href="#84">84</a>      <strong class="jxr_keyword">int</strong> keyLength = in.getInt();
+<a class="jxr_linenumber" name="85" href="#85">85</a>      <strong class="jxr_keyword">int</strong> valueLength = in.getInt();
+<a class="jxr_linenumber" name="86" href="#86">86</a>  
+<a class="jxr_linenumber" name="87" href="#87">87</a>      <strong class="jxr_keyword">long</strong> timestamp;
+<a class="jxr_linenumber" name="88" href="#88">88</a>      <strong class="jxr_keyword">long</strong> diffTimestamp = 0;
+<a class="jxr_linenumber" name="89" href="#89">89</a>      <strong class="jxr_keyword">int</strong> diffTimestampFitsInBytes = 0;
+<a class="jxr_linenumber" name="90" href="#90">90</a>  
+<a class="jxr_linenumber" name="91" href="#91">91</a>      <strong class="jxr_keyword">int</strong> commonPrefix;
+<a class="jxr_linenumber" name="92" href="#92">92</a>  
+<a class="jxr_linenumber" name="93" href="#93">93</a>      <strong class="jxr_keyword">int</strong> timestampFitsInBytes;
+<a class="jxr_linenumber" name="94" href="#94">94</a>  
+<a class="jxr_linenumber" name="95" href="#95">95</a>      <strong class="jxr_keyword">if</strong> (previousState.isFirst()) {
+<a class="jxr_linenumber" name="96" href="#96">96</a>        currentState.readKey(in, keyLength, valueLength);
+<a class="jxr_linenumber" name="97" href="#97">97</a>        currentState.prevOffset = kvPos;
+<a class="jxr_linenumber" name="98" href="#98">98</a>        timestamp = currentState.timestamp;
+<a class="jxr_linenumber" name="99" href="#99">99</a>        <strong class="jxr_keyword">if</strong> (timestamp &lt; 0) {
+<a class="jxr_linenumber" name="100" href="#100">100</a>         flag |= FLAG_TIMESTAMP_SIGN;
+<a class="jxr_linenumber" name="101" href="#101">101</a>         timestamp = -timestamp;
+<a class="jxr_linenumber" name="102" href="#102">102</a>       }
+<a class="jxr_linenumber" name="103" href="#103">103</a>       timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);
 <a class="jxr_linenumber" name="104" href="#104">104</a> 
-<a class="jxr_linenumber" name="105" href="#105">105</a>       <em class="jxr_comment">// put column family</em>
-<a class="jxr_linenumber" name="106" href="#106">106</a>       in.mark();
-<a class="jxr_linenumber" name="107" href="#107">107</a>       ByteBufferUtils.skip(in, currentState.rowLength
-<a class="jxr_linenumber" name="108" href="#108">108</a>           + KeyValue.ROW_LENGTH_SIZE);
-<a class="jxr_linenumber" name="109" href="#109">109</a>       ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength
-<a class="jxr_linenumber" name="110" href="#110">110</a>           + KeyValue.FAMILY_LENGTH_SIZE);
-<a class="jxr_linenumber" name="111" href="#111">111</a>       in.reset();
-<a class="jxr_linenumber" name="112" href="#112">112</a>     } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="113" href="#113">113</a>       <em class="jxr_comment">// find a common prefix and skip it</em>
-<a class="jxr_linenumber" name="114" href="#114">114</a>       commonPrefix =
-<a class="jxr_linenumber" name="115" href="#115">115</a>           ByteBufferUtils.findCommonPrefix(in, in.position(),
-<a class="jxr_linenumber" name="116" href="#116">116</a>               previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength
-<a class="jxr_linenumber" name="117" href="#117">117</a>                   - KeyValue.TIMESTAMP_TYPE_SIZE);
-<a class="jxr_linenumber" name="118" href="#118">118</a>       <em class="jxr_comment">// don't compress timestamp and type using prefix</em>
-<a class="jxr_linenumber" name="119" href="#119">119</a> 
-<a class="jxr_linenumber" name="120" href="#120">120</a>       currentState.readKey(in, keyLength, valueLength,
-<a class="jxr_linenumber" name="121" href="#121">121</a>           commonPrefix, previousState);
-<a class="jxr_linenumber" name="122" href="#122">122</a>       currentState.prevOffset = kvPos;
-<a class="jxr_linenumber" name="123" href="#123">123</a>       timestamp = currentState.timestamp;
-<a class="jxr_linenumber" name="124" href="#124">124</a>       <strong class="jxr_keyword">boolean</strong> negativeTimestamp = timestamp &lt; 0;
-<a class="jxr_linenumber" name="125" href="#125">125</a>       <strong class="jxr_keyword">if</strong> (negativeTimestamp) {
-<a class="jxr_linenumber" name="126" href="#126">126</a>         timestamp = -timestamp;
-<a class="jxr_linenumber" name="127" href="#127">127</a>       }
-<a class="jxr_linenumber" name="128" href="#128">128</a>       timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);
-<a class="jxr_linenumber" name="129" href="#129">129</a> 
-<a class="jxr_linenumber" name="130" href="#130">130</a>       <strong class="jxr_keyword">if</strong> (keyLength == previousState.keyLength) {
-<a class="jxr_linenumber" name="131" href="#131">131</a>         flag |= FLAG_SAME_KEY_LENGTH;
-<a class="jxr_linenumber" name="132" href="#132">132</a>       }
-<a class="jxr_linenumber" name="133" href="#133">133</a>       <strong class="jxr_keyword">if</strong> (valueLength == previousState.valueLength) {
-<a class="jxr_linenumber" name="134" href="#134">134</a>         flag |= FLAG_SAME_VALUE_LENGTH;
+<a class="jxr_linenumber" name="105" href="#105">105</a>       flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;
+<a class="jxr_linenumber" name="106" href="#106">106</a>       commonPrefix = 0;
+<a class="jxr_linenumber" name="107" href="#107">107</a> 
+<a class="jxr_linenumber" name="108" href="#108">108</a>       <em class="jxr_comment">// put column family</em>
+<a class="jxr_linenumber" name="109" href="#109">109</a>       in.mark();
+<a class="jxr_linenumber" name="110" href="#110">110</a>       ByteBufferUtils.skip(in, currentState.rowLength
+<a class="jxr_linenumber" name="111" href="#111">111</a>           + KeyValue.ROW_LENGTH_SIZE);
+<a class="jxr_linenumber" name="112" href="#112">112</a>       ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength
+<a class="jxr_linenumber" name="113" href="#113">113</a>           + KeyValue.FAMILY_LENGTH_SIZE);
+<a class="jxr_linenumber" name="114" href="#114">114</a>       in.reset();
+<a class="jxr_linenumber" name="115" href="#115">115</a>     } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="116" href="#116">116</a>       <em class="jxr_comment">// find a common prefix and skip it</em>
+<a class="jxr_linenumber" name="117" href="#117">117</a>       commonPrefix =
+<a class="jxr_linenumber" name="118" href="#118">118</a>           ByteBufferUtils.findCommonPrefix(in, in.position(),
+<a class="jxr_linenumber" name="119" href="#119">119</a>               previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength
+<a class="jxr_linenumber" name="120" href="#120">120</a>                   - KeyValue.TIMESTAMP_TYPE_SIZE);
+<a class="jxr_linenumber" name="121" href="#121">121</a>       <em class="jxr_comment">// don't compress timestamp and type using prefix</em>
+<a class="jxr_linenumber" name="122" href="#122">122</a> 
+<a class="jxr_linenumber" name="123" href="#123">123</a>       currentState.readKey(in, keyLength, valueLength,
+<a class="jxr_linenumber" name="124" href="#124">124</a>           commonPrefix, previousState);
+<a class="jxr_linenumber" name="125" href="#125">125</a>       currentState.prevOffset = kvPos;
+<a class="jxr_linenumber" name="126" href="#126">126</a>       timestamp = currentState.timestamp;
+<a class="jxr_linenumber" name="127" href="#127">127</a>       <strong class="jxr_keyword">boolean</strong> negativeTimestamp = timestamp &lt; 0;
+<a class="jxr_linenumber" name="128" href="#128">128</a>       <strong class="jxr_keyword">if</strong> (negativeTimestamp) {
+<a class="jxr_linenumber" name="129" href="#129">129</a>         timestamp = -timestamp;
+<a class="jxr_linenumber" name="130" href="#130">130</a>       }
+<a class="jxr_linenumber" name="131" href="#131">131</a>       timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);
+<a class="jxr_linenumber" name="132" href="#132">132</a> 
+<a class="jxr_linenumber" name="133" href="#133">133</a>       <strong class="jxr_keyword">if</strong> (keyLength == previousState.keyLength) {
+<a class="jxr_linenumber" name="134" href="#134">134</a>         flag |= FLAG_SAME_KEY_LENGTH;
 <a class="jxr_linenumber" name="135" href="#135">135</a>       }
-<a class="jxr_linenumber" name="136" href="#136">136</a>       <strong class="jxr_keyword">if</strong> (currentState.type == previousState.type) {
-<a class="jxr_linenumber" name="137" href="#137">137</a>         flag |= FLAG_SAME_TYPE;
+<a class="jxr_linenumber" name="136" href="#136">136</a>       <strong class="jxr_keyword">if</strong> (valueLength == previousState.valueLength) {
+<a class="jxr_linenumber" name="137" href="#137">137</a>         flag |= FLAG_SAME_VALUE_LENGTH;
 <a class="jxr_linenumber" name="138" href="#138">138</a>       }
-<a class="jxr_linenumber" name="139" href="#139">139</a> 
-<a class="jxr_linenumber" name="140" href="#140">140</a>       <em class="jxr_comment">// encode timestamp</em>
-<a class="jxr_linenumber" name="141" href="#141">141</a>       diffTimestamp = previousState.timestamp - currentState.timestamp;
-<a class="jxr_linenumber" name="142" href="#142">142</a>       <strong class="jxr_keyword">boolean</strong> minusDiffTimestamp = diffTimestamp &lt; 0;
-<a class="jxr_linenumber" name="143" href="#143">143</a>       <strong class="jxr_keyword">if</strong> (minusDiffTimestamp) {
-<a class="jxr_linenumber" name="144" href="#144">144</a>         diffTimestamp = -diffTimestamp;
-<a class="jxr_linenumber" name="145" href="#145">145</a>       }
-<a class="jxr_linenumber" name="146" href="#146">146</a>       diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);
-<a class="jxr_linenumber" name="147" href="#147">147</a>       <strong class="jxr_keyword">if</strong> (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {
-<a class="jxr_linenumber" name="148" href="#148">148</a>         flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;
-<a class="jxr_linenumber" name="149" href="#149">149</a>         flag |= FLAG_TIMESTAMP_IS_DIFF;
-<a class="jxr_linenumber" name="150" href="#150">150</a>         <strong class="jxr_keyword">if</strong> (minusDiffTimestamp) {
-<a class="jxr_linenumber" name="151" href="#151">151</a>           flag |= FLAG_TIMESTAMP_SIGN;
-<a class="jxr_linenumber" name="152" href="#152">152</a>         }
-<a class="jxr_linenumber" name="153" href="#153">153</a>       } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="154" href="#154">154</a>         flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;
-<a class="jxr_linenumber" name="155" href="#155">155</a>         <strong class="jxr_keyword">if</strong> (negativeTimestamp) {
-<a class="jxr_linenumber" name="156" href="#156">156</a>           flag |= FLAG_TIMESTAMP_SIGN;
-<a class="jxr_linenumber" name="157" href="#157">157</a>         }
-<a class="jxr_linenumber" name="158" href="#158">158</a>       }
-<a class="jxr_linenumber" name="159" href="#159">159</a>     }
-<a class="jxr_linenumber" name="160" href="#160">160</a> 
-<a class="jxr_linenumber" name="161" href="#161">161</a>     out.write(flag);
-<a class="jxr_linenumber" name="162" href="#162">162</a> 
-<a class="jxr_linenumber" name="163" href="#163">163</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {
-<a class="jxr_linenumber" name="164" href="#164">164</a>       ByteBufferUtils.putCompressedInt(out, keyLength);
-<a class="jxr_linenumber" name="165" href="#165">165</a>     }
-<a class="jxr_linenumber" name="166" href="#166">166</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {
-<a class="jxr_linenumber" name="167" href="#167">167</a>       ByteBufferUtils.putCompressedInt(out, valueLength);
+<a class="jxr_linenumber" name="139" href="#139">139</a>       <strong class="jxr_keyword">if</strong> (currentState.type == previousState.type) {
+<a class="jxr_linenumber" name="140" href="#140">140</a>         flag |= FLAG_SAME_TYPE;
+<a class="jxr_linenumber" name="141" href="#141">141</a>       }
+<a class="jxr_linenumber" name="142" href="#142">142</a> 
+<a class="jxr_linenumber" name="143" href="#143">143</a>       <em class="jxr_comment">// encode timestamp</em>
+<a class="jxr_linenumber" name="144" href="#144">144</a>       diffTimestamp = previousState.timestamp - currentState.timestamp;
+<a class="jxr_linenumber" name="145" href="#145">145</a>       <strong class="jxr_keyword">boolean</strong> minusDiffTimestamp = diffTimestamp &lt; 0;
+<a class="jxr_linenumber" name="146" href="#146">146</a>       <strong class="jxr_keyword">if</strong> (minusDiffTimestamp) {
+<a class="jxr_linenumber" name="147" href="#147">147</a>         diffTimestamp = -diffTimestamp;
+<a class="jxr_linenumber" name="148" href="#148">148</a>       }
+<a class="jxr_linenumber" name="149" href="#149">149</a>       diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);
+<a class="jxr_linenumber" name="150" href="#150">150</a>       <strong class="jxr_keyword">if</strong> (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {
+<a class="jxr_linenumber" name="151" href="#151">151</a>         flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;
+<a class="jxr_linenumber" name="152" href="#152">152</a>         flag |= FLAG_TIMESTAMP_IS_DIFF;
+<a class="jxr_linenumber" name="153" href="#153">153</a>         <strong class="jxr_keyword">if</strong> (minusDiffTimestamp) {
+<a class="jxr_linenumber" name="154" href="#154">154</a>           flag |= FLAG_TIMESTAMP_SIGN;
+<a class="jxr_linenumber" name="155" href="#155">155</a>         }
+<a class="jxr_linenumber" name="156" href="#156">156</a>       } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="157" href="#157">157</a>         flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;
+<a class="jxr_linenumber" name="158" href="#158">158</a>         <strong class="jxr_keyword">if</strong> (negativeTimestamp) {
+<a class="jxr_linenumber" name="159" href="#159">159</a>           flag |= FLAG_TIMESTAMP_SIGN;
+<a class="jxr_linenumber" name="160" href="#160">160</a>         }
+<a class="jxr_linenumber" name="161" href="#161">161</a>       }
+<a class="jxr_linenumber" name="162" href="#162">162</a>     }
+<a class="jxr_linenumber" name="163" href="#163">163</a> 
+<a class="jxr_linenumber" name="164" href="#164">164</a>     out.write(flag);
+<a class="jxr_linenumber" name="165" href="#165">165</a> 
+<a class="jxr_linenumber" name="166" href="#166">166</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {
+<a class="jxr_linenumber" name="167" href="#167">167</a>       ByteBufferUtils.putCompressedInt(out, keyLength);
 <a class="jxr_linenumber" name="168" href="#168">168</a>     }
-<a class="jxr_linenumber" name="169" href="#169">169</a> 
-<a class="jxr_linenumber" name="170" href="#170">170</a>     ByteBufferUtils.putCompressedInt(out, commonPrefix);
-<a class="jxr_linenumber" name="171" href="#171">171</a>     ByteBufferUtils.skip(in, commonPrefix);
+<a class="jxr_linenumber" name="169" href="#169">169</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {
+<a class="jxr_linenumber" name="170" href="#170">170</a>       ByteBufferUtils.putCompressedInt(out, valueLength);
+<a class="jxr_linenumber" name="171" href="#171">171</a>     }
 <a class="jxr_linenumber" name="172" href="#172">172</a> 
-<a class="jxr_linenumber" name="173" href="#173">173</a>     <strong class="jxr_keyword">if</strong> (previousState.isFirst() ||
-<a class="jxr_linenumber" name="174" href="#174">174</a>         commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {
-<a class="jxr_linenumber" name="175" href="#175">175</a>       <strong class="jxr_keyword">int</strong> restRowLength =
-<a class="jxr_linenumber" name="176" href="#176">176</a>           currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;
-<a class="jxr_linenumber" name="177" href="#177">177</a>       ByteBufferUtils.moveBufferToStream(out, in, restRowLength);
-<a class="jxr_linenumber" name="178" href="#178">178</a>       ByteBufferUtils.skip(in, currentState.familyLength +
-<a class="jxr_linenumber" name="179" href="#179">179</a>           KeyValue.FAMILY_LENGTH_SIZE);
-<a class="jxr_linenumber" name="180" href="#180">180</a>       ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);
-<a class="jxr_linenumber" name="181" href="#181">181</a>     } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="182" href="#182">182</a>       ByteBufferUtils.moveBufferToStream(out, in,
-<a class="jxr_linenumber" name="183" href="#183">183</a>           keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);
-<a class="jxr_linenumber" name="184" href="#184">184</a>     }
-<a class="jxr_linenumber" name="185" href="#185">185</a> 
-<a class="jxr_linenumber" name="186" href="#186">186</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {
-<a class="jxr_linenumber" name="187" href="#187">187</a>       ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);
-<a class="jxr_linenumber" name="188" href="#188">188</a>     } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="189" href="#189">189</a>       ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);
-<a class="jxr_linenumber" name="190" href="#190">190</a>     }
-<a class="jxr_linenumber" name="191" href="#191">191</a> 
-<a class="jxr_linenumber" name="192" href="#192">192</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_TYPE) == 0) {
-<a class="jxr_linenumber" name="193" href="#193">193</a>       out.write(currentState.type);
-<a class="jxr_linenumber" name="194" href="#194">194</a>     }
-<a class="jxr_linenumber" name="195" href="#195">195</a>     ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);
-<a class="jxr_linenumber" name="196" href="#196">196</a> 
-<a class="jxr_linenumber" name="197" href="#197">197</a>     ByteBufferUtils.moveBufferToStream(out, in, valueLength);
-<a class="jxr_linenumber" name="198" href="#198">198</a>   }
+<a class="jxr_linenumber" name="173" href="#173">173</a>     ByteBufferUtils.putCompressedInt(out, commonPrefix);
+<a class="jxr_linenumber" name="174" href="#174">174</a>     ByteBufferUtils.skip(in, commonPrefix);
+<a class="jxr_linenumber" name="175" href="#175">175</a> 
+<a class="jxr_linenumber" name="176" href="#176">176</a>     <strong class="jxr_keyword">if</strong> (previousState.isFirst() ||
+<a class="jxr_linenumber" name="177" href="#177">177</a>         commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {
+<a class="jxr_linenumber" name="178" href="#178">178</a>       <strong class="jxr_keyword">int</strong> restRowLength =
+<a class="jxr_linenumber" name="179" href="#179">179</a>           currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;
+<a class="jxr_linenumber" name="180" href="#180">180</a>       ByteBufferUtils.moveBufferToStream(out, in, restRowLength);
+<a class="jxr_linenumber" name="181" href="#181">181</a>       ByteBufferUtils.skip(in, currentState.familyLength +
+<a class="jxr_linenumber" name="182" href="#182">182</a>           KeyValue.FAMILY_LENGTH_SIZE);
+<a class="jxr_linenumber" name="183" href="#183">183</a>       ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);
+<a class="jxr_linenumber" name="184" href="#184">184</a>     } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="185" href="#185">185</a>       ByteBufferUtils.moveBufferToStream(out, in,
+<a class="jxr_linenumber" name="186" href="#186">186</a>           keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);
+<a class="jxr_linenumber" name="187" href="#187">187</a>     }
+<a class="jxr_linenumber" name="188" href="#188">188</a> 
+<a class="jxr_linenumber" name="189" href="#189">189</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {
+<a class="jxr_linenumber" name="190" href="#190">190</a>       ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);
+<a class="jxr_linenumber" name="191" href="#191">191</a>     } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="192" href="#192">192</a>       ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);
+<a class="jxr_linenumber" name="193" href="#193">193</a>     }
+<a class="jxr_linenumber" name="194" href="#194">194</a> 
+<a class="jxr_linenumber" name="195" href="#195">195</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_TYPE) == 0) {
+<a class="jxr_linenumber" name="196" href="#196">196</a>       out.write(currentState.type);
+<a class="jxr_linenumber" name="197" href="#197">197</a>     }
+<a class="jxr_linenumber" name="198" href="#198">198</a>     ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);
 <a class="jxr_linenumber" name="199" href="#199">199</a> 
-<a class="jxr_linenumber" name="200" href="#200">200</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> uncompressSingleKeyValue(DataInputStream source,
-<a class="jxr_linenumber" name="201" href="#201">201</a>       ByteBuffer buffer,
-<a class="jxr_linenumber" name="202" href="#202">202</a>       <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> state)
-<a class="jxr_linenumber" name="203" href="#203">203</a>           <strong class="jxr_keyword">throws</strong> IOException, <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/EncoderBufferTooSmallException.html">EncoderBufferTooSmallException</a> {
-<a class="jxr_linenumber" name="204" href="#204">204</a>     <em class="jxr_comment">// read the column family at the beginning</em>
-<a class="jxr_linenumber" name="205" href="#205">205</a>     <strong class="jxr_keyword">if</strong> (state.isFirst()) {
-<a class="jxr_linenumber" name="206" href="#206">206</a>       state.familyLength = source.readByte();
-<a class="jxr_linenumber" name="207" href="#207">207</a>       state.familyNameWithSize =
-<a class="jxr_linenumber" name="208" href="#208">208</a>           <strong class="jxr_keyword">new</strong> byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];
-<a class="jxr_linenumber" name="209" href="#209">209</a>       state.familyNameWithSize[0] = state.familyLength;
-<a class="jxr_linenumber" name="210" href="#210">210</a>       source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,
-<a class="jxr_linenumber" name="211" href="#211">211</a>           state.familyLength);
-<a class="jxr_linenumber" name="212" href="#212">212</a>     }
-<a class="jxr_linenumber" name="213" href="#213">213</a> 
-<a class="jxr_linenumber" name="214" href="#214">214</a>     <em class="jxr_comment">// read flag</em>
-<a class="jxr_linenumber" name="215" href="#215">215</a>     byte flag = source.readByte();
+<a class="jxr_linenumber" name="200" href="#200">200</a>     ByteBufferUtils.moveBufferToStream(out, in, valueLength);
+<a class="jxr_linenumber" name="201" href="#201">201</a>   }
+<a class="jxr_linenumber" name="202" href="#202">202</a> 
+<a class="jxr_linenumber" name="203" href="#203">203</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> uncompressSingleKeyValue(DataInputStream source,
+<a class="jxr_linenumber" name="204" href="#204">204</a>       ByteBuffer buffer,
+<a class="jxr_linenumber" name="205" href="#205">205</a>       <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> state)
+<a class="jxr_linenumber" name="206" href="#206">206</a>           <strong class="jxr_keyword">throws</strong> IOException, <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/EncoderBufferTooSmallException.html">EncoderBufferTooSmallException</a> {
+<a class="jxr_linenumber" name="207" href="#207">207</a>     <em class="jxr_comment">// read the column family at the beginning</em>
+<a class="jxr_linenumber" name="208" href="#208">208</a>     <strong class="jxr_keyword">if</strong> (state.isFirst()) {
+<a class="jxr_linenumber" name="209" href="#209">209</a>       state.familyLength = source.readByte();
+<a class="jxr_linenumber" name="210" href="#210">210</a>       state.familyNameWithSize =
+<a class="jxr_linenumber" name="211" href="#211">211</a>           <strong class="jxr_keyword">new</strong> byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];
+<a class="jxr_linenumber" name="212" href="#212">212</a>       state.familyNameWithSize[0] = state.familyLength;
+<a class="jxr_linenumber" name="213" href="#213">213</a>       source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,
+<a class="jxr_linenumber" name="214" href="#214">214</a>           state.familyLength);
+<a class="jxr_linenumber" name="215" href="#215">215</a>     }
 <a class="jxr_linenumber" name="216" href="#216">216</a> 
-<a class="jxr_linenumber" name="217" href="#217">217</a>     <em class="jxr_comment">// read key/value/common lengths</em>
-<a class="jxr_linenumber" name="218" href="#218">218</a>     <strong class="jxr_keyword">int</strong> keyLength;
-<a class="jxr_linenumber" name="219" href="#219">219</a>     <strong class="jxr_keyword">int</strong> valueLength;
-<a class="jxr_linenumber" name="220" href="#220">220</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {
-<a class="jxr_linenumber" name="221" href="#221">221</a>       keyLength = state.keyLength;
-<a class="jxr_linenumber" name="222" href="#222">222</a>     } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="223" href="#223">223</a>       keyLength = ByteBufferUtils.readCompressedInt(source);
-<a class="jxr_linenumber" name="224" href="#224">224</a>     }
-<a class="jxr_linenumber" name="225" href="#225">225</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {
-<a class="jxr_linenumber" name="226" href="#226">226</a>       valueLength = state.valueLength;
-<a class="jxr_linenumber" name="227" href="#227">227</a>     } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="228" href="#228">228</a>       valueLength = ByteBufferUtils.readCompressedInt(source);
-<a class="jxr_linenumber" name="229" href="#229">229</a>     }
-<a class="jxr_linenumber" name="230" href="#230">230</a>     <strong class="jxr_keyword">int</strong> commonPrefix = ByteBufferUtils.readCompressedInt(source);
-<a class="jxr_linenumber" name="231" href="#231">231</a> 
-<a class="jxr_linenumber" name="232" href="#232">232</a>     <em class="jxr_comment">// create KeyValue buffer and fill it prefix</em>
-<a class="jxr_linenumber" name="233" href="#233">233</a>     <strong class="jxr_keyword">int</strong> keyOffset = buffer.position();
-<a class="jxr_linenumber" name="234" href="#234">234</a>     ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength
-<a class="jxr_linenumber" name="235" href="#235">235</a>         + KeyValue.ROW_OFFSET);
-<a class="jxr_linenumber" name="236" href="#236">236</a>     buffer.putInt(keyLength);
-<a class="jxr_linenumber" name="237" href="#237">237</a>     buffer.putInt(valueLength);
-<a class="jxr_linenumber" name="238" href="#238">238</a> 
-<a class="jxr_linenumber" name="239" href="#239">239</a>     <em class="jxr_comment">// copy common from previous key</em>
-<a class="jxr_linenumber" name="240" href="#240">240</a>     <strong class="jxr_keyword">if</strong> (commonPrefix &gt; 0) {
-<a class="jxr_linenumber" name="241" href="#241">241</a>       ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset
-<a class="jxr_linenumber" name="242" href="#242">242</a>           + KeyValue.ROW_OFFSET, commonPrefix);
-<a class="jxr_linenumber" name="243" href="#243">243</a>     }
-<a class="jxr_linenumber" name="244" href="#244">244</a> 
-<a class="jxr_linenumber" name="245" href="#245">245</a>     <em class="jxr_comment">// copy the rest of the key from the buffer</em>
-<a class="jxr_linenumber" name="246" href="#246">246</a>     <strong class="jxr_keyword">int</strong> keyRestLength;
-<a class="jxr_linenumber" name="247" href="#247">247</a>     <strong class="jxr_keyword">if</strong> (state.isFirst() || commonPrefix &lt;
-<a class="jxr_linenumber" name="248" href="#248">248</a>         state.rowLength + KeyValue.ROW_LENGTH_SIZE) {
-<a class="jxr_linenumber" name="249" href="#249">249</a>       <em class="jxr_comment">// omit the family part of the key, it is always the same</em>
-<a class="jxr_linenumber" name="250" href="#250">250</a>       <strong class="jxr_keyword">short</strong> rowLength;
-<a class="jxr_linenumber" name="251" href="#251">251</a>       <strong class="jxr_keyword">int</strong> rowRestLength;
-<a class="jxr_linenumber" name="252" href="#252">252</a> 
-<a class="jxr_linenumber" name="253" href="#253">253</a>       <em class="jxr_comment">// check length of row</em>
-<a class="jxr_linenumber" name="254" href="#254">254</a>       <strong class="jxr_keyword">if</strong> (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {
-<a class="jxr_linenumber" name="255" href="#255">255</a>         <em class="jxr_comment">// not yet copied, do it now</em>
-<a class="jxr_linenumber" name="256" href="#256">256</a>         ByteBufferUtils.copyFromStreamToBuffer(buffer, source,
-<a class="jxr_linenumber" name="257" href="#257">257</a>             KeyValue.ROW_LENGTH_SIZE - commonPrefix);
-<a class="jxr_linenumber" name="258" href="#258">258</a>         ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);
-<a class="jxr_linenumber" name="259" href="#259">259</a>         rowLength = buffer.getShort();
-<a class="jxr_linenumber" name="260" href="#260">260</a>         rowRestLength = rowLength;
-<a class="jxr_linenumber" name="261" href="#261">261</a>       } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="262" href="#262">262</a>         <em class="jxr_comment">// already in buffer, just read it</em>
-<a class="jxr_linenumber" name="263" href="#263">263</a>         rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);
-<a class="jxr_linenumber" name="264" href="#264">264</a>         rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;
-<a class="jxr_linenumber" name="265" href="#265">265</a>       }
-<a class="jxr_linenumber" name="266" href="#266">266</a> 
-<a class="jxr_linenumber" name="267" href="#267">267</a>       <em class="jxr_comment">// copy the rest of row</em>
-<a class="jxr_linenumber" name="268" href="#268">268</a>       ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);
-<a class="jxr_linenumber" name="269" href="#269">269</a>       state.rowLength = rowLength;
-<a class="jxr_linenumber" name="270" href="#270">270</a> 
-<a class="jxr_linenumber" name="271" href="#271">271</a>       <em class="jxr_comment">// copy the column family</em>
-<a class="jxr_linenumber" name="272" href="#272">272</a>       buffer.put(state.familyNameWithSize);
+<a class="jxr_linenumber" name="217" href="#217">217</a>     <em class="jxr_comment">// read flag</em>
+<a class="jxr_linenumber" name="218" href="#218">218</a>     byte flag = source.readByte();
+<a class="jxr_linenumber" name="219" href="#219">219</a> 
+<a class="jxr_linenumber" name="220" href="#220">220</a>     <em class="jxr_comment">// read key/value/common lengths</em>
+<a class="jxr_linenumber" name="221" href="#221">221</a>     <strong class="jxr_keyword">int</strong> keyLength;
+<a class="jxr_linenumber" name="222" href="#222">222</a>     <strong class="jxr_keyword">int</strong> valueLength;
+<a class="jxr_linenumber" name="223" href="#223">223</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {
+<a class="jxr_linenumber" name="224" href="#224">224</a>       keyLength = state.keyLength;
+<a class="jxr_linenumber" name="225" href="#225">225</a>     } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="226" href="#226">226</a>       keyLength = ByteBufferUtils.readCompressedInt(source);
+<a class="jxr_linenumber" name="227" href="#227">227</a>     }
+<a class="jxr_linenumber" name="228" href="#228">228</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {
+<a class="jxr_linenumber" name="229" href="#229">229</a>       valueLength = state.valueLength;
+<a class="jxr_linenumber" name="230" href="#230">230</a>     } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="231" href="#231">231</a>       valueLength = ByteBufferUtils.readCompressedInt(source);
+<a class="jxr_linenumber" name="232" href="#232">232</a>     }
+<a class="jxr_linenumber" name="233" href="#233">233</a>     <strong class="jxr_keyword">int</strong> commonPrefix = ByteBufferUtils.readCompressedInt(source);
+<a class="jxr_linenumber" name="234" href="#234">234</a> 
+<a class="jxr_linenumber" name="235" href="#235">235</a>     <em class="jxr_comment">// create KeyValue buffer and fill it prefix</em>
+<a class="jxr_linenumber" name="236" href="#236">236</a>     <strong class="jxr_keyword">int</strong> keyOffset = buffer.position();
+<a class="jxr_linenumber" name="237" href="#237">237</a>     ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength
+<a class="jxr_linenumber" name="238" href="#238">238</a>         + KeyValue.ROW_OFFSET);
+<a class="jxr_linenumber" name="239" href="#239">239</a>     buffer.putInt(keyLength);
+<a class="jxr_linenumber" name="240" href="#240">240</a>     buffer.putInt(valueLength);
+<a class="jxr_linenumber" name="241" href="#241">241</a> 
+<a class="jxr_linenumber" name="242" href="#242">242</a>     <em class="jxr_comment">// copy common from previous key</em>
+<a class="jxr_linenumber" name="243" href="#243">243</a>     <strong class="jxr_keyword">if</strong> (commonPrefix &gt; 0) {
+<a class="jxr_linenumber" name="244" href="#244">244</a>       ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset
+<a class="jxr_linenumber" name="245" href="#245">245</a>           + KeyValue.ROW_OFFSET, commonPrefix);
+<a class="jxr_linenumber" name="246" href="#246">246</a>     }
+<a class="jxr_linenumber" name="247" href="#247">247</a> 
+<a class="jxr_linenumber" name="248" href="#248">248</a>     <em class="jxr_comment">// copy the rest of the key from the buffer</em>
+<a class="jxr_linenumber" name="249" href="#249">249</a>     <strong class="jxr_keyword">int</strong> keyRestLength;
+<a class="jxr_linenumber" name="250" href="#250">250</a>     <strong class="jxr_keyword">if</strong> (state.isFirst() || commonPrefix &lt;
+<a class="jxr_linenumber" name="251" href="#251">251</a>         state.rowLength + KeyValue.ROW_LENGTH_SIZE) {
+<a class="jxr_linenumber" name="252" href="#252">252</a>       <em class="jxr_comment">// omit the family part of the key, it is always the same</em>
+<a class="jxr_linenumber" name="253" href="#253">253</a>       <strong class="jxr_keyword">short</strong> rowLength;
+<a class="jxr_linenumber" name="254" href="#254">254</a>       <strong class="jxr_keyword">int</strong> rowRestLength;
+<a class="jxr_linenumber" name="255" href="#255">255</a> 
+<a class="jxr_linenumber" name="256" href="#256">256</a>       <em class="jxr_comment">// check length of row</em>
+<a class="jxr_linenumber" name="257" href="#257">257</a>       <strong class="jxr_keyword">if</strong> (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {
+<a class="jxr_linenumber" name="258" href="#258">258</a>         <em class="jxr_comment">// not yet copied, do it now</em>
+<a class="jxr_linenumber" name="259" href="#259">259</a>         ByteBufferUtils.copyFromStreamToBuffer(buffer, source,
+<a class="jxr_linenumber" name="260" href="#260">260</a>             KeyValue.ROW_LENGTH_SIZE - commonPrefix);
+<a class="jxr_linenumber" name="261" href="#261">261</a>         ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);
+<a class="jxr_linenumber" name="262" href="#262">262</a>         rowLength = buffer.getShort();
+<a class="jxr_linenumber" name="263" href="#263">263</a>         rowRestLength = rowLength;
+<a class="jxr_linenumber" name="264" href="#264">264</a>       } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="265" href="#265">265</a>         <em class="jxr_comment">// already in buffer, just read it</em>
+<a class="jxr_linenumber" name="266" href="#266">266</a>         rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);
+<a class="jxr_linenumber" name="267" href="#267">267</a>         rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;
+<a class="jxr_linenumber" name="268" href="#268">268</a>       }
+<a class="jxr_linenumber" name="269" href="#269">269</a> 
+<a class="jxr_linenumber" name="270" href="#270">270</a>       <em class="jxr_comment">// copy the rest of row</em>
+<a class="jxr_linenumber" name="271" href="#271">271</a>       ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);
+<a class="jxr_linenumber" name="272" href="#272">272</a>       state.rowLength = rowLength;
 <a class="jxr_linenumber" name="273" href="#273">273</a> 
-<a class="jxr_linenumber" name="274" href="#274">274</a>       keyRestLength = keyLength - rowLength -
-<a class="jxr_linenumber" name="275" href="#275">275</a>           state.familyNameWithSize.length -
-<a class="jxr_linenumber" name="276" href="#276">276</a>           (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);
-<a class="jxr_linenumber" name="277" href="#277">277</a>     } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="278" href="#278">278</a>       <em class="jxr_comment">// prevRowWithSizeLength is the same as on previous row</em>
-<a class="jxr_linenumber" name="279" href="#279">279</a>       keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;
-<a class="jxr_linenumber" name="280" href="#280">280</a>     }
-<a class="jxr_linenumber" name="281" href="#281">281</a>     <em class="jxr_comment">// copy the rest of the key, after column family -&gt; column qualifier</em>
-<a class="jxr_linenumber" name="282" href="#282">282</a>     ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);
-<a class="jxr_linenumber" name="283" href="#283">283</a> 
-<a class="jxr_linenumber" name="284" href="#284">284</a>     <em class="jxr_comment">// handle timestamp</em>
-<a class="jxr_linenumber" name="285" href="#285">285</a>     <strong class="jxr_keyword">int</strong> timestampFitsInBytes =
-<a class="jxr_linenumber" name="286" href="#286">286</a>         ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;
-<a class="jxr_linenumber" name="287" href="#287">287</a>     <strong class="jxr_keyword">long</strong> timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);
-<a class="jxr_linenumber" name="288" href="#288">288</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {
-<a class="jxr_linenumber" name="289" href="#289">289</a>       timestamp = -timestamp;
-<a class="jxr_linenumber" name="290" href="#290">290</a>     }
-<a class="jxr_linenumber" name="291" href="#291">291</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {
-<a class="jxr_linenumber" name="292" href="#292">292</a>       timestamp = state.timestamp - timestamp;
+<a class="jxr_linenumber" name="274" href="#274">274</a>       <em class="jxr_comment">// copy the column family</em>
+<a class="jxr_linenumber" name="275" href="#275">275</a>       buffer.put(state.familyNameWithSize);
+<a class="jxr_linenumber" name="276" href="#276">276</a> 
+<a class="jxr_linenumber" name="277" href="#277">277</a>       keyRestLength = keyLength - rowLength -
+<a class="jxr_linenumber" name="278" href="#278">278</a>           state.familyNameWithSize.length -
+<a class="jxr_linenumber" name="279" href="#279">279</a>           (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);
+<a class="jxr_linenumber" name="280" href="#280">280</a>     } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="281" href="#281">281</a>       <em class="jxr_comment">// prevRowWithSizeLength is the same as on previous row</em>
+<a class="jxr_linenumber" name="282" href="#282">282</a>       keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;
+<a class="jxr_linenumber" name="283" href="#283">283</a>     }
+<a class="jxr_linenumber" name="284" href="#284">284</a>     <em class="jxr_comment">// copy the rest of the key, after column family -&gt; column qualifier</em>
+<a class="jxr_linenumber" name="285" href="#285">285</a>     ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);
+<a class="jxr_linenumber" name="286" href="#286">286</a> 
+<a class="jxr_linenumber" name="287" href="#287">287</a>     <em class="jxr_comment">// handle timestamp</em>
+<a class="jxr_linenumber" name="288" href="#288">288</a>     <strong class="jxr_keyword">int</strong> timestampFitsInBytes =
+<a class="jxr_linenumber" name="289" href="#289">289</a>         ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;
+<a class="jxr_linenumber" name="290" href="#290">290</a>     <strong class="jxr_keyword">long</strong> timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);
+<a class="jxr_linenumber" name="291" href="#291">291</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {
+<a class="jxr_linenumber" name="292" href="#292">292</a>       timestamp = -timestamp;
 <a class="jxr_linenumber" name="293" href="#293">293</a>     }
-<a class="jxr_linenumber" name="294" href="#294">294</a>     buffer.putLong(timestamp);
-<a class="jxr_linenumber" name="295" href="#295">295</a> 
-<a class="jxr_linenumber" name="296" href="#296">296</a>     <em class="jxr_comment">// copy the type field</em>
-<a class="jxr_linenumber" name="297" href="#297">297</a>     byte type;
-<a class="jxr_linenumber" name="298" href="#298">298</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_TYPE) != 0) {
-<a class="jxr_linenumber" name="299" href="#299">299</a>       type = state.type;
-<a class="jxr_linenumber" name="300" href="#300">300</a>     } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="301" href="#301">301</a>       type = source.readByte();
-<a class="jxr_linenumber" name="302" href="#302">302</a>     }
-<a class="jxr_linenumber" name="303" href="#303">303</a>     buffer.put(type);
-<a class="jxr_linenumber" name="304" href="#304">304</a> 
-<a class="jxr_linenumber" name="305" href="#305">305</a>     <em class="jxr_comment">// copy value part</em>
-<a class="jxr_linenumber" name="306" href="#306">306</a>     ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);
+<a class="jxr_linenumber" name="294" href="#294">294</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {
+<a class="jxr_linenumber" name="295" href="#295">295</a>       timestamp = state.timestamp - timestamp;
+<a class="jxr_linenumber" name="296" href="#296">296</a>     }
+<a class="jxr_linenumber" name="297" href="#297">297</a>     buffer.putLong(timestamp);
+<a class="jxr_linenumber" name="298" href="#298">298</a> 
+<a class="jxr_linenumber" name="299" href="#299">299</a>     <em class="jxr_comment">// copy the type field</em>
+<a class="jxr_linenumber" name="300" href="#300">300</a>     byte type;
+<a class="jxr_linenumber" name="301" href="#301">301</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_TYPE) != 0) {
+<a class="jxr_linenumber" name="302" href="#302">302</a>       type = state.type;
+<a class="jxr_linenumber" name="303" href="#303">303</a>     } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="304" href="#304">304</a>       type = source.readByte();
+<a class="jxr_linenumber" name="305" href="#305">305</a>     }
+<a class="jxr_linenumber" name="306" href="#306">306</a>     buffer.put(type);
 <a class="jxr_linenumber" name="307" href="#307">307</a> 
-<a class="jxr_linenumber" name="308" href="#308">308</a>     state.keyLength = keyLength;
-<a class="jxr_linenumber" name="309" href="#309">309</a>     state.valueLength = valueLength;
-<a class="jxr_linenumber" name="310" href="#310">310</a>     state.prevOffset = keyOffset;
-<a class="jxr_linenumber" name="311" href="#311">311</a>     state.timestamp = timestamp;
-<a class="jxr_linenumber" name="312" href="#312">312</a>     state.type = type;
-<a class="jxr_linenumber" name="313" href="#313">313</a>     <em class="jxr_comment">// state.qualifier is unused</em>
-<a class="jxr_linenumber" name="314" href="#314">314</a>   }
-<a class="jxr_linenumber" name="315" href="#315">315</a> 
-<a class="jxr_linenumber" name="316" href="#316">316</a>   @Override
-<a class="jxr_linenumber" name="317" href="#317">317</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> compressKeyValues(DataOutputStream out,
-<a class="jxr_linenumber" name="318" href="#318">318</a>       ByteBuffer in, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="319" href="#319">319</a>     in.rewind();
-<a class="jxr_linenumber" name="320" href="#320">320</a>     ByteBufferUtils.putInt(out, in.limit());
-<a class="jxr_linenumber" name="321" href="#321">321</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> previousState = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a>();
-<a class="jxr_linenumber" name="322" href="#322">322</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> currentState = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a>();
-<a class="jxr_linenumber" name="323" href="#323">323</a>     <strong class="jxr_keyword">while</strong> (in.hasRemaining()) {
-<a class="jxr_linenumber" name="324" href="#324">324</a>       compressSingleKeyValue(previousState, currentState,
-<a class="jxr_linenumber" name="325" href="#325">325</a>           out, in);
-<a class="jxr_linenumber" name="326" href="#326">326</a>       afterEncodingKeyValue(in, out, includesMemstoreTS);
-<a class="jxr_linenumber" name="327" href="#327">327</a> 
-<a class="jxr_linenumber" name="328" href="#328">328</a>       <em class="jxr_comment">// swap previousState &lt;-&gt; currentState</em>
-<a class="jxr_linenumber" name="329" href="#329">329</a>       <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> tmp = previousState;
-<a class="jxr_linenumber" name="330" href="#330">330</a>       previousState = currentState;
-<a class="jxr_linenumber" name="331" href="#331">331</a>       currentState = tmp;
-<a class="jxr_linenumber" name="332" href="#332">332</a>     }
-<a class="jxr_linenumber" name="333" href="#333">333</a>   }
-<a class="jxr_linenumber" name="334" href="#334">334</a> 
-<a class="jxr_linenumber" name="335" href="#335">335</a>   @Override
-<a class="jxr_linenumber" name="336" href="#336">336</a>   <strong class="jxr_keyword">public</strong> ByteBuffer uncompressKeyValues(DataInputStream source,
-<a class="jxr_linenumber" name="337" href="#337">337</a>       <strong class="jxr_keyword">int</strong> allocHeaderLength, <strong class="jxr_keyword">int</strong> skipLastBytes, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS)
-<a class="jxr_linenumber" name="338" href="#338">338</a>       <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="339" href="#339">339</a>     <strong class="jxr_keyword">int</strong> decompressedSize = source.readInt();
-<a class="jxr_linenumber" name="340" href="#340">340</a>     ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +
-<a class="jxr_linenumber" name="341" href="#341">341</a>         allocHeaderLength);
-<a class="jxr_linenumber" name="342" href="#342">342</a>     buffer.position(allocHeaderLength);
-<a class="jxr_linenumber" name="343" href="#343">343</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> state = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a>();
-<a class="jxr_linenumber" name="344" href="#344">344</a>     <strong class="jxr_keyword">while</strong> (source.available() &gt; skipLastBytes) {
-<a class="jxr_linenumber" name="345" href="#345">345</a>       uncompressSingleKeyValue(source, buffer, state);
-<a class="jxr_linenumber" name="346" href="#346">346</a>       afterDecodingKeyValue(source, buffer, includesMemstoreTS);
-<a class="jxr_linenumber" name="347" href="#347">347</a>     }
-<a class="jxr_linenumber" name="348" href="#348">348</a> 
-<a class="jxr_linenumber" name="349" href="#349">349</a>     <strong class="jxr_keyword">if</strong> (source.available() != skipLastBytes) {
-<a class="jxr_linenumber" name="350" href="#350">350</a>       <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"Read too much bytes."</span>);
-<a class="jxr_linenumber" name="351" href="#351">351</a>     }
-<a class="jxr_linenumber" name="352" href="#352">352</a> 
-<a class="jxr_linenumber" name="353" href="#353">353</a>     <strong class="jxr_keyword">return</strong> buffer;
-<a class="jxr_linenumber" name="354" href="#354">354</a>   }
+<a class="jxr_linenumber" name="308" href="#308">308</a>     <em class="jxr_comment">// copy value part</em>
+<a class="jxr_linenumber" name="309" href="#309">309</a>     ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);
+<a class="jxr_linenumber" name="310" href="#310">310</a> 
+<a class="jxr_linenumber" name="311" href="#311">311</a>     state.keyLength = keyLength;
+<a class="jxr_linenumber" name="312" href="#312">312</a>     state.valueLength = valueLength;
+<a class="jxr_linenumber" name="313" href="#313">313</a>     state.prevOffset = keyOffset;
+<a class="jxr_linenumber" name="314" href="#314">314</a>     state.timestamp = timestamp;
+<a class="jxr_linenumber" name="315" href="#315">315</a>     state.type = type;
+<a class="jxr_linenumber" name="316" href="#316">316</a>     <em class="jxr_comment">// state.qualifier is unused</em>
+<a class="jxr_linenumber" name="317" href="#317">317</a>   }
+<a class="jxr_linenumber" name="318" href="#318">318</a> 
+<a class="jxr_linenumber" name="319" href="#319">319</a>   @Override
+<a class="jxr_linenumber" name="320" href="#320">320</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> compressKeyValues(DataOutputStream out,
+<a class="jxr_linenumber" name="321" href="#321">321</a>       ByteBuffer in, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="322" href="#322">322</a>     in.rewind();
+<a class="jxr_linenumber" name="323" href="#323">323</a>     ByteBufferUtils.putInt(out, in.limit());
+<a class="jxr_linenumber" name="324" href="#324">324</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> previousState = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a>();
+<a class="jxr_linenumber" name="325" href="#325">325</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> currentState = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a>();
+<a class="jxr_linenumber" name="326" href="#326">326</a>     <strong class="jxr_keyword">while</strong> (in.hasRemaining()) {
+<a class="jxr_linenumber" name="327" href="#327">327</a>       compressSingleKeyValue(previousState, currentState,
+<a class="jxr_linenumber" name="328" href="#328">328</a>           out, in);
+<a class="jxr_linenumber" name="329" href="#329">329</a>       afterEncodingKeyValue(in, out, includesMemstoreTS);
+<a class="jxr_linenumber" name="330" href="#330">330</a> 
+<a class="jxr_linenumber" name="331" href="#331">331</a>       <em class="jxr_comment">// swap previousState &lt;-&gt; currentState</em>
+<a class="jxr_linenumber" name="332" href="#332">332</a>       <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> tmp = previousState;
+<a class="jxr_linenumber" name="333" href="#333">333</a>       previousState = currentState;
+<a class="jxr_linenumber" name="334" href="#334">334</a>       currentState = tmp;
+<a class="jxr_linenumber" name="335" href="#335">335</a>     }
+<a class="jxr_linenumber" name="336" href="#336">336</a>   }
+<a class="jxr_linenumber" name="337" href="#337">337</a> 
+<a class="jxr_linenumber" name="338" href="#338">338</a>   @Override
+<a class="jxr_linenumber" name="339" href="#339">339</a>   <strong class="jxr_keyword">public</strong> ByteBuffer uncompressKeyValues(DataInputStream source,
+<a class="jxr_linenumber" name="340" href="#340">340</a>       <strong class="jxr_keyword">int</strong> allocHeaderLength, <strong class="jxr_keyword">int</strong> skipLastBytes, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS)
+<a class="jxr_linenumber" name="341" href="#341">341</a>       <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="342" href="#342">342</a>     <strong class="jxr_keyword">int</strong> decompressedSize = source.readInt();
+<a class="jxr_linenumber" name="343" href="#343">343</a>     ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +
+<a class="jxr_linenumber" name="344" href="#344">344</a>         allocHeaderLength);
+<a class="jxr_linenumber" name="345" href="#345">345</a>     buffer.position(allocHeaderLength);
+<a class="jxr_linenumber" name="346" href="#346">346</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a> state = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffCompressionState</a>();
+<a class="jxr_linenumber" name="347" href="#347">347</a>     <strong class="jxr_keyword">while</strong> (source.available() &gt; skipLastBytes) {
+<a class="jxr_linenumber" name="348" href="#348">348</a>       uncompressSingleKeyValue(source, buffer, state);
+<a class="jxr_linenumber" name="349" href="#349">349</a>       afterDecodingKeyValue(source, buffer, includesMemstoreTS);
+<a class="jxr_linenumber" name="350" href="#350">350</a>     }
+<a class="jxr_linenumber" name="351" href="#351">351</a> 
+<a class="jxr_linenumber" name="352" href="#352">352</a>     <strong class="jxr_keyword">if</strong> (source.available() != skipLastBytes) {
+<a class="jxr_linenumber" name="353" href="#353">353</a>       <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"Read too much bytes."</span>);
+<a class="jxr_linenumber" name="354" href="#354">354</a>     }
 <a class="jxr_linenumber" name="355" href="#355">355</a> 
-<a class="jxr_linenumber" name="356" href="#356">356</a>   @Override
-<a class="jxr_linenumber" name="357" href="#357">357</a>   <strong class="jxr_keyword">public</strong> ByteBuffer getFirstKeyInBlock(ByteBuffer block) {
-<a class="jxr_linenumber" name="358" href="#358">358</a>     block.mark();
-<a class="jxr_linenumber" name="359" href="#359">359</a>     block.position(Bytes.SIZEOF_INT);
-<a class="jxr_linenumber" name="360" href="#360">360</a>     byte familyLength = block.get();
-<a class="jxr_linenumber" name="361" href="#361">361</a>     ByteBufferUtils.skip(block, familyLength);
-<a class="jxr_linenumber" name="362" href="#362">362</a>     byte flag = block.get();
-<a class="jxr_linenumber" name="363" href="#363">363</a>     <strong class="jxr_keyword">int</strong> keyLength = ByteBufferUtils.readCompressedInt(block);
-<a class="jxr_linenumber" name="364" href="#364">364</a>     ByteBufferUtils.readCompressedInt(block); <em class="jxr_comment">// valueLength</em>
-<a class="jxr_linenumber" name="365" href="#365">365</a>     ByteBufferUtils.readCompressedInt(block); <em class="jxr_comment">// commonLength</em>
-<a class="jxr_linenumber" name="366" href="#366">366</a>     ByteBuffer result = ByteBuffer.allocate(keyLength);
-<a class="jxr_linenumber" name="367" href="#367">367</a> 
-<a class="jxr_linenumber" name="368" href="#368">368</a>     <em class="jxr_comment">// copy row</em>
-<a class="jxr_linenumber" name="369" href="#369">369</a>     <strong class="jxr_keyword">int</strong> pos = result.arrayOffset();
-<a class="jxr_linenumber" name="370" href="#370">370</a>     block.get(result.array(), pos, Bytes.SIZEOF_SHORT);
-<a class="jxr_linenumber" name="371" href="#371">371</a>     pos += Bytes.SIZEOF_SHORT;
-<a class="jxr_linenumber" name="372" href="#372">372</a>     <strong class="jxr_keyword">short</strong> rowLength = result.getShort();
-<a class="jxr_linenumber" name="373" href="#373">373</a>     block.get(result.array(), pos, rowLength);
-<a class="jxr_linenumber" name="374" href="#374">374</a>     pos += rowLength;
-<a class="jxr_linenumber" name="375" href="#375">375</a> 
-<a class="jxr_linenumber" name="376" href="#376">376</a>     <em class="jxr_comment">// copy family</em>
-<a class="jxr_linenumber" name="377" href="#377">377</a>     <strong class="jxr_keyword">int</strong> savePosition = block.position();
-<a class="jxr_linenumber" name="378" href="#378">378</a>     block.position(Bytes.SIZEOF_INT);
-<a class="jxr_linenumber" name="379" href="#379">379</a>     block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);
-<a class="jxr_linenumber" name="380" href="#380">380</a>     pos += familyLength + Bytes.SIZEOF_BYTE;
-<a class="jxr_linenumber" name="381" href="#381">381</a> 
-<a class="jxr_linenumber" name="382" href="#382">382</a>     <em class="jxr_comment">// copy qualifier</em>
-<a class="jxr_linenumber" name="383" href="#383">383</a>     block.position(savePosition);
-<a class="jxr_linenumber" name="384" href="#384">384</a>     <strong class="jxr_keyword">int</strong> qualifierLength =
-<a class="jxr_linenumber" name="385" href="#385">385</a>         keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;
-<a class="jxr_linenumber" name="386" href="#386">386</a>     block.get(result.array(), pos, qualifierLength);
-<a class="jxr_linenumber" name="387" href="#387">387</a>     pos += qualifierLength;
-<a class="jxr_linenumber" name="388" href="#388">388</a> 
-<a class="jxr_linenumber" name="389" href="#389">389</a>     <em class="jxr_comment">// copy the timestamp and type</em>
-<a class="jxr_linenumber" name="390" href="#390">390</a>     <strong class="jxr_keyword">int</strong> timestampFitInBytes =
-<a class="jxr_linenumber" name="391" href="#391">391</a>         ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;
-<a class="jxr_linenumber" name="392" href="#392">392</a>     <strong class="jxr_keyword">long</strong> timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);
-<a class="jxr_linenumber" name="393" href="#393">393</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {
-<a class="jxr_linenumber" name="394" href="#394">394</a>       timestamp = -timestamp;
-<a class="jxr_linenumber" name="395" href="#395">395</a>     }
-<a class="jxr_linenumber" name="396" href="#396">396</a>     result.putLong(pos, timestamp);
-<a class="jxr_linenumber" name="397" href="#397">397</a>     pos += Bytes.SIZEOF_LONG;
-<a class="jxr_linenumber" name="398" href="#398">398</a>     block.get(result.array(), pos, Bytes.SIZEOF_BYTE);
-<a class="jxr_linenumber" name="399" href="#399">399</a> 
-<a class="jxr_linenumber" name="400" href="#400">400</a>     block.reset();
-<a class="jxr_linenumber" name="401" href="#401">401</a>     <strong class="jxr_keyword">return</strong> result;
-<a class="jxr_linenumber" name="402" href="#402">402</a>   }
-<a class="jxr_linenumber" name="403" href="#403">403</a> 
-<a class="jxr_linenumber" name="404" href="#404">404</a>   @Override
-<a class="jxr_linenumber" name="405" href="#405">405</a>   <strong class="jxr_keyword">public</strong> String toString() {
-<a class="jxr_linenumber" name="406" href="#406">406</a>     <strong class="jxr_keyword">return</strong> DiffKeyDeltaEncoder.<strong class="jxr_keyword">class</strong>.getSimpleName();
-<a class="jxr_linenumber" name="407" href="#407">407</a>   }
-<a class="jxr_linenumber" name="408" href="#408">408</a> 
-<a class="jxr_linenumber" name="409" href="#409">409</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffSeekerState</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">SeekerState</a> {
-<a class="jxr_linenumber" name="410" href="#410">410</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> rowLengthWithSize;
-<a class="jxr_linenumber" name="411" href="#411">411</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> timestamp;
-<a class="jxr_linenumber" name="412" href="#412">412</a> 
-<a class="jxr_linenumber" name="413" href="#413">413</a>     @Override
-<a class="jxr_linenumber" name="414" href="#414">414</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> copyFromNext(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">SeekerState</a> that) {
-<a class="jxr_linenumber" name="415" href="#415">415</a>       <strong class="jxr_keyword">super</strong>.copyFromNext(that);
-<a class="jxr_linenumber" name="416" href="#416">416</a>       <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html">DiffSeekerState</a> other = (DiffSeekerState) that;
-<a class="jxr_linenumber" name="417" href="#417">417</a>       rowLengthWithSize = other.rowLengthWithSize;
-<a class="jxr_linenumber" name="418" href="#418">418</a>       timestamp = other.timestamp;
-<a class="jxr_linenumber" name="419" href="#419">419</a>     }
-<a class="jxr_linenumber" name="420" href="#420">420</a>   }
-<a class="jxr_linenumber" name="421" href="#421">421</a> 
-<a class="jxr_linenumber" name="422" href="#422">422</a>   @Override
-<a class="jxr_linenumber" name="423" href="#423">423</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html">EncodedSeeker</a> createSeeker(RawComparator&lt;byte[]&gt; comparator,
-<a class="jxr_linenumber" name="424" href="#424">424</a>       <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) {
-<a class="jxr_linenumber" name="425" href="#425">425</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {
-<a class="jxr_linenumber" name="426" href="#426">426</a>       <strong class="jxr_keyword">private</strong> byte[] familyNameWithSize;
-<a class="jxr_linenumber" name="427" href="#427">427</a>       <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> TIMESTAMP_WITH_TYPE_LENGTH =
-<a class="jxr_linenumber" name="428" href="#428">428</a>           Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;
-<a class="jxr_linenumber" name="429" href="#429">429</a> 
-<a class="jxr_linenumber" name="430" href="#430">430</a>       <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> decode(<strong class="jxr_keyword">boolean</strong> isFirst) {
-<a class="jxr_linenumber" name="431" href="#431">431</a>         byte flag = currentBuffer.get();
-<a class="jxr_linenumber" name="432" href="#432">432</a>         byte type = 0;
-<a class="jxr_linenumber" name="433" href="#433">433</a>         <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {
-<a class="jxr_linenumber" name="434" href="#434">434</a>           <strong class="jxr_keyword">if</strong> (!isFirst) {
-<a class="jxr_linenumber" name="435" href="#435">435</a>             type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];
-<a class="jxr_linenumber" name="436" href="#436">436</a>           }
-<a class="jxr_linenumber" name="437" href="#437">437</a>           current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);
-<a class="jxr_linenumber" name="438" href="#438">438</a>         }
-<a class="jxr_linenumber" name="439" href="#439">439</a>         <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {
-<a class="jxr_linenumber" name="440" href="#440">440</a>           current.valueLength =
-<a class="jxr_linenumber" name="441" href="#441">441</a>               ByteBufferUtils.readCompressedInt(currentBuffer);
-<a class="jxr_linenumber" name="442" href="#442">442</a>         }
-<a class="jxr_linenumber" name="443" href="#443">443</a>         current.lastCommonPrefix =
-<a class="jxr_linenumber" name="444" href="#444">444</a>             ByteBufferUtils.readCompressedInt(currentBuffer);
-<a class="jxr_linenumber" name="445" href="#445">445</a> 
-<a class="jxr_linenumber" name="446" href="#446">446</a>         current.ensureSpaceForKey();
-<a class="jxr_linenumber" name="447" href="#447">447</a> 
-<a class="jxr_linenumber" name="448" href="#448">448</a>         <strong class="jxr_keyword">if</strong> (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {
-<a class="jxr_linenumber" name="449" href="#449">449</a>           <em class="jxr_comment">// length of row is different, copy everything except family</em>
+<a class="jxr_linenumber" name="356" href="#356">356</a>     <strong class="jxr_keyword">return</strong> buffer;
+<a class="jxr_linenumber" name="357" href="#357">357</a>   }
+<a class="jxr_linenumber" name="358" href="#358">358</a> 
+<a class="jxr_linenumber" name="359" href="#359">359</a>   @Override
+<a class="jxr_linenumber" name="360" href="#360">360</a>   <strong class="jxr_keyword">public</strong> ByteBuffer getFirstKeyInBlock(ByteBuffer block) {
+<a class="jxr_linenumber" name="361" href="#361">361</a>     block.mark();
+<a class="jxr_linenumber" name="362" href="#362">362</a>     block.position(Bytes.SIZEOF_INT);
+<a class="jxr_linenumber" name="363" href="#363">363</a>     byte familyLength = block.get();
+<a class="jxr_linenumber" name="364" href="#364">364</a>     ByteBufferUtils.skip(block, familyLength);
+<a class="jxr_linenumber" name="365" href="#365">365</a>     byte flag = block.get();
+<a class="jxr_linenumber" name="366" href="#366">366</a>     <strong class="jxr_keyword">int</strong> keyLength = ByteBufferUtils.readCompressedInt(block);
+<a class="jxr_linenumber" name="367" href="#367">367</a>     ByteBufferUtils.readCompressedInt(block); <em class="jxr_comment">// valueLength</em>
+<a class="jxr_linenumber" name="368" href="#368">368</a>     ByteBufferUtils.readCompressedInt(block); <em class="jxr_comment">// commonLength</em>
+<a class="jxr_linenumber" name="369" href="#369">369</a>     ByteBuffer result = ByteBuffer.allocate(keyLength);
+<a class="jxr_linenumber" name="370" href="#370">370</a> 
+<a class="jxr_linenumber" name="371" href="#371">371</a>     <em class="jxr_comment">// copy row</em>
+<a class="jxr_linenumber" name="372" href="#372">372</a>     <strong class="jxr_keyword">int</strong> pos = result.arrayOffset();
+<a class="jxr_linenumber" name="373" href="#373">373</a>     block.get(result.array(), pos, Bytes.SIZEOF_SHORT);
+<a class="jxr_linenumber" name="374" href="#374">374</a>     pos += Bytes.SIZEOF_SHORT;
+<a class="jxr_linenumber" name="375" href="#375">375</a>     <strong class="jxr_keyword">short</strong> rowLength = result.getShort();
+<a class="jxr_linenumber" name="376" href="#376">376</a>     block.get(result.array(), pos, rowLength);
+<a class="jxr_linenumber" name="377" href="#377">377</a>     pos += rowLength;
+<a class="jxr_linenumber" name="378" href="#378">378</a> 
+<a class="jxr_linenumber" name="379" href="#379">379</a>     <em class="jxr_comment">// copy family</em>
+<a class="jxr_linenumber" name="380" href="#380">380</a>     <strong class="jxr_keyword">int</strong> savePosition = block.position();
+<a class="jxr_linenumber" name="381" href="#381">381</a>     block.position(Bytes.SIZEOF_INT);
+<a class="jxr_linenumber" name="382" href="#382">382</a>     block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);
+<a class="jxr_linenumber" name="383" href="#383">383</a>     pos += familyLength + Bytes.SIZEOF_BYTE;
+<a class="jxr_linenumber" name="384" href="#384">384</a> 
+<a class="jxr_linenumber" name="385" href="#385">385</a>     <em class="jxr_comment">// copy qualifier</em>
+<a class="jxr_linenumber" name="386" href="#386">386</a>     block.position(savePos

<TRUNCATED>

[28/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/Operation.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/Operation.html b/0.94/apidocs/org/apache/hadoop/hbase/client/Operation.html
index a037b52..7e0f116 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/Operation.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/Operation.html
@@ -142,7 +142,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <tr class="altColor">
 <td class="colFirst"><code>abstract <a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Operation.html#getFingerprint()">getFingerprint</a></strong>()</code>
-<div class="block">Produces a Map containing a fingerprint which identifies the type and
+<div class="block">Produces a Map containing a fingerprint which identifies the type and 
  the static schema components of a query (i.e.</div>
 </td>
 </tr>
@@ -169,7 +169,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <tr class="altColor">
 <td class="colFirst"><code>abstract <a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/Operation.html#toMap(int)">toMap</a></strong>(int&nbsp;maxCols)</code>
-<div class="block">Produces a Map containing a summary of the details of a query
+<div class="block">Produces a Map containing a summary of the details of a query 
  beyond the scope of the fingerprint (i.e.</div>
 </td>
 </tr>
@@ -231,7 +231,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <li class="blockList">
 <h4>getFingerprint</h4>
 <pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Operation.html#line.41">getFingerprint</a>()</pre>
-<div class="block">Produces a Map containing a fingerprint which identifies the type and
+<div class="block">Produces a Map containing a fingerprint which identifies the type and 
  the static schema components of a query (i.e. column families)</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>a map containing fingerprint information (i.e. column families)</dd></dl>
 </li>
@@ -243,7 +243,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <li class="blockList">
 <h4>toMap</h4>
 <pre>public abstract&nbsp;<a href="http://docs.oracle.com/javase/6/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/6/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/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/Operation.html#line.49">toMap</a>(int&nbsp;maxCols)</pre>
-<div class="block">Produces a Map containing a summary of the details of a query
+<div class="block">Produces a Map containing a summary of the details of a query 
  beyond the scope of the fingerprint (i.e. columns, rows...)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxCols</code> - a limit on the number of columns output prior to truncation</dd>
 <dt><span class="strong">Returns:</span></dt><dd>a map containing parameters of a query (i.e. rows, columns...)</dd></dl>
@@ -299,7 +299,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <h4>toString</h4>
 <pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/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/client/Operation.html#line.87">toString</a>(int&nbsp;maxCols)</pre>
 <div class="block">Produces a string representation of this Operation. It defaults to a JSON
- representation, but falls back to a string representation of the
+ representation, but falls back to a string representation of the 
  fingerprint and details in the case of a JSON encoding failure.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxCols</code> - a limit on the number of columns output in the summary
  prior to truncation</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/Scan.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/Scan.html b/0.94/apidocs/org/apache/hadoop/hbase/client/Scan.html
index 0d9def7..f988412 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/Scan.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/Scan.html
@@ -688,7 +688,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>minStamp</code> - minimum timestamp value, inclusive</dd><dd><code>maxStamp</code> - maximum timestamp value, exclusive</dd>
 <dt><span class="strong">Returns:</span></dt><dd>this</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if invalid time range</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxVersions()"><code>setMaxVersions()</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if invalid time range</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxVersions()"><code>setMaxVersions()</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxVersions(int)"><code>setMaxVersions(int)</code></a></dd></dl>
 </li>
 </ul>
@@ -704,7 +704,7 @@ implements org.apache.hadoop.io.Writable</pre>
  and you want all versions returned, up the number of versions beyond the
  defaut.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>timestamp</code> - version timestamp</dd>
-<dt><span class="strong">Returns:</span></dt><dd>this</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxVersions()"><code>setMaxVersions()</code></a>,
+<dt><span class="strong">Returns:</span></dt><dd>this</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxVersions()"><code>setMaxVersions()</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html#setMaxVersions(int)"><code>setMaxVersions(int)</code></a></dd></dl>
 </li>
 </ul>
@@ -997,17 +997,17 @@ implements org.apache.hadoop.io.Writable</pre>
 <div class="block">Set whether this scan is a small scan
  <p>
  Small scan should use pread and big scan can use seek + read
-
+ 
  seek + read is fast but can cause two problem (1) resource contention (2)
  cause too much network io
-
+ 
  [89-fb] Using pread for non-compaction read request
  https://issues.apache.org/jira/browse/HBASE-7266
-
+ 
  On the other hand, if setting it true, we would do
  openScanner,next,closeScanner in one RPC call. It means the better
  performance for small scan. [HBASE-9488].
-
+ 
  Generally, if the scan range is within one data block(64KB), it could be
  considered as a small scan.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>small</code> - </dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html b/0.94/apidocs/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html
index 074044d..bdf97bd 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html
@@ -168,7 +168,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" t
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html#removeFamily(byte[])">removeFamily</a></strong>(byte[]&nbsp;column)</code>
-<div class="block">Removes the HColumnDescriptor with name specified by the parameter column
+<div class="block">Removes the HColumnDescriptor with name specified by the parameter column 
  from the table descriptor</div>
 </td>
 </tr>
@@ -182,7 +182,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" t
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html#setMemStoreFlushSize(long)">setMemStoreFlushSize</a></strong>(long&nbsp;memstoreFlushSize)</code>
-<div class="block">Represents the maximum size of the memstore after which the contents of the
+<div class="block">Represents the maximum size of the memstore after which the contents of the 
  memstore are flushed to the filesystem.</div>
 </td>
 </tr>
@@ -276,7 +276,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" t
 <h4>removeFamily</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html#line.73">removeFamily</a>(byte[]&nbsp;column)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#removeFamily(byte[])">HTableDescriptor</a></code></strong></div>
-<div class="block">Removes the HColumnDescriptor with name specified by the parameter column
+<div class="block">Removes the HColumnDescriptor with name specified by the parameter column 
  from the table descriptor</div>
 <dl>
 <dt><strong>Overrides:</strong></dt>
@@ -295,7 +295,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" t
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html#line.81">setReadOnly</a>(boolean&nbsp;readOnly)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setReadOnly(boolean)">HTableDescriptor</a></code></strong></div>
 <div class="block">Setting the table as read only sets all the columns in the table as read
- only. By default all tables are modifiable, but if the readOnly flag is
+ only. By default all tables are modifiable, but if the readOnly flag is 
  set to true then the contents of the table can only be read but not modified.</div>
 <dl>
 <dt><strong>Overrides:</strong></dt>
@@ -345,14 +345,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" t
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html#line.105">setMaxFileSize</a>(long&nbsp;maxFileSize)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMaxFileSize(long)">HTableDescriptor</a></code></strong></div>
 <div class="block">Sets the maximum size upto which a region can grow to after which a region
- split is triggered. The region size is represented by the size of the biggest
- store file in that region, i.e. If the biggest store file grows beyond the
- maxFileSize, then the region split is triggered. This defaults to a value of
+ split is triggered. The region size is represented by the size of the biggest 
+ store file in that region, i.e. If the biggest store file grows beyond the 
+ maxFileSize, then the region split is triggered. This defaults to a value of 
  256 MB.
  <p>
- This is not an absolute value and might vary. Assume that a single row exceeds
+ This is not an absolute value and might vary. Assume that a single row exceeds 
  the maxFileSize then the storeFileSize will be greater than maxFileSize since
- a single row cannot be split across multiple regions
+ a single row cannot be split across multiple regions 
  </p></div>
 <dl>
 <dt><strong>Overrides:</strong></dt>
@@ -369,7 +369,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" t
 <h4>setMemStoreFlushSize</h4>
 <pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.html#line.113">setMemStoreFlushSize</a>(long&nbsp;memstoreFlushSize)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html#setMemStoreFlushSize(long)">HTableDescriptor</a></code></strong></div>
-<div class="block">Represents the maximum size of the memstore after which the contents of the
+<div class="block">Represents the maximum size of the memstore after which the contents of the 
  memstore are flushed to the filesystem. This defaults to a size of 64 MB.</div>
 <dl>
 <dt><strong>Overrides:</strong></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/class-use/Result.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/class-use/Result.html b/0.94/apidocs/org/apache/hadoop/hbase/client/class-use/Result.html
index dc7e51c..3908e91 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/class-use/Result.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/class-use/Result.html
@@ -340,7 +340,7 @@ service.</div>
                             byte[]&nbsp;family)</code>
 <div class="block"><strong>Deprecated.</strong>&nbsp;
 <div class="block"><i>As of version 0.92 this method is deprecated without
- replacement.
+ replacement.   
  getRowOrBefore is used internally to find entries in .META. and makes
  various assumptions about the table (which are true for .META. but not
  in general) to be efficient.</i></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Batch.Call.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Batch.Call.html b/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Batch.Call.html
index f83ed50..b0d8c10 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Batch.Call.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Batch.Call.html
@@ -104,8 +104,8 @@
  <a href="../../../../../../org/apache/hadoop/hbase/ipc/CoprocessorProtocol.html" title="interface in org.apache.hadoop.hbase.ipc"><code>CoprocessorProtocol</code></a>
  sub-type instance.
  </p></div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/coprocessor/package-summary.html"><code>org.apache.hadoop.hbase.client.coprocessor</code></a>,
-<a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#coprocessorExec(java.lang.Class,%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call)"><code>HTable.coprocessorExec(Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call)</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/coprocessor/package-summary.html"><code>org.apache.hadoop.hbase.client.coprocessor</code></a>, 
+<a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#coprocessorExec(java.lang.Class,%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call)"><code>HTable.coprocessorExec(Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call)</code></a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#coprocessorExec(java.lang.Class,%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call,%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)"><code>HTable.coprocessorExec(Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call, org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Batch.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Batch.html b/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Batch.html
index 4544bae..832f121 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Batch.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Batch.html
@@ -244,7 +244,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
  and return the results</dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/NoSuchMethodException.html?is-external=true" title="class or interface in java.lang">NoSuchMethodException</a></code> - if the method named, with the given argument
-     types, cannot be found in the protocol class</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/coprocessor/Batch.html#forMethod(java.lang.reflect.Method,%20java.lang.Object...)"><code>forMethod(java.lang.reflect.Method, Object...)</code></a>,
+     types, cannot be found in the protocol class</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/coprocessor/Batch.html#forMethod(java.lang.reflect.Method,%20java.lang.Object...)"><code>forMethod(java.lang.reflect.Method, Object...)</code></a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#coprocessorExec(java.lang.Class,%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call,%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)"><code>HTable.coprocessorExec(Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call, org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.html b/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.html
index ced1c2c..8421125 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.html
@@ -102,7 +102,7 @@
 <pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.html#line.37">BigDecimalColumnInterpreter</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="interface in org.apache.hadoop.hbase.coprocessor">ColumnInterpreter</a>&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>,<a href="http://docs.oracle.com/javase/6/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&gt;</pre>
-<div class="block">ColumnInterpreter for doing Aggregation's with BigDecimal columns.
+<div class="block">ColumnInterpreter for doing Aggregation's with BigDecimal columns. 
  This class is required at the RegionServer also.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Exec.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Exec.html b/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Exec.html
index eb3cae4..e4a7c80 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Exec.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/Exec.html
@@ -124,8 +124,8 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/client/Row.html" t
  to wrap the <code>CoprocessorProtocol</code> method invocations requested in
  RPC calls.  It should not be used directly by HBase clients.
  </p></div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/coprocessor/ExecResult.html" title="class in org.apache.hadoop.hbase.client.coprocessor"><code>ExecResult</code></a>,
-<a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#coprocessorExec(java.lang.Class,%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call)"><code>HTable.coprocessorExec(Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call)</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/coprocessor/ExecResult.html" title="class in org.apache.hadoop.hbase.client.coprocessor"><code>ExecResult</code></a>, 
+<a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#coprocessorExec(java.lang.Class,%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call)"><code>HTable.coprocessorExec(Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call)</code></a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#coprocessorExec(java.lang.Class,%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call,%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)"><code>HTable.coprocessorExec(Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call, org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/ExecResult.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/ExecResult.html b/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/ExecResult.html
index 36d6c26..79bb13d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/ExecResult.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/client/coprocessor/ExecResult.html
@@ -113,8 +113,8 @@ implements org.apache.hadoop.io.Writable</pre>
  responses from <a href="../../../../../../org/apache/hadoop/hbase/ipc/CoprocessorProtocol.html" title="interface in org.apache.hadoop.hbase.ipc"><code>CoprocessorProtocol</code></a>
  method invocations.  It should not be used directly by clients.
  </p></div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/coprocessor/Exec.html" title="class in org.apache.hadoop.hbase.client.coprocessor"><code>Exec</code></a>,
-<a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#coprocessorExec(java.lang.Class,%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call)"><code>HTable.coprocessorExec(Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call)</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/coprocessor/Exec.html" title="class in org.apache.hadoop.hbase.client.coprocessor"><code>Exec</code></a>, 
+<a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#coprocessorExec(java.lang.Class,%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call)"><code>HTable.coprocessorExec(Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call)</code></a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/client/HTable.html#coprocessorExec(java.lang.Class,%20byte[],%20byte[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call,%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)"><code>HTable.coprocessorExec(Class, byte[], byte[], org.apache.hadoop.hbase.client.coprocessor.Batch.Call, org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/constraint/Constraint.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/constraint/Constraint.html b/0.94/apidocs/org/apache/hadoop/hbase/constraint/Constraint.html
index f4daeeb..c6f67cc 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/constraint/Constraint.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/constraint/Constraint.html
@@ -132,7 +132,7 @@ extends org.apache.hadoop.conf.Configurable</pre>
  but it is possible.
  <p>
  NOTE: Implementing classes must have a nullary (no-args) constructor</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/constraint/BaseConstraint.html" title="class in org.apache.hadoop.hbase.constraint"><code>BaseConstraint</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/constraint/BaseConstraint.html" title="class in org.apache.hadoop.hbase.constraint"><code>BaseConstraint</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html" title="class in org.apache.hadoop.hbase.constraint"><code>Constraints</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/constraint/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/constraint/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/constraint/package-summary.html
index ae80708..9f1a3b1 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/constraint/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/constraint/package-summary.html
@@ -139,7 +139,7 @@
 </a>
 <h2 title="Package org.apache.hadoop.hbase.constraint Description">Package org.apache.hadoop.hbase.constraint Description</h2>
 <div class="block">Restrict the domain of a data attribute, often times to fulfill business rules/requirements.
-
+ 
  <p>
  <h2> Table of Contents</h2>
  <ul>
@@ -151,94 +151,94 @@
  </p>
 
  <h2><a name="overview">Overview</a></h2>
- Constraints are used to enforce business rules in a database.
- By checking all <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Puts</code></a> on a given table, you can enforce very specific data policies.
- For instance, you can ensure that a certain column family-column qualifier pair always has a value between 1 and 10.
+ Constraints are used to enforce business rules in a database. 
+ By checking all <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Puts</code></a> on a given table, you can enforce very specific data policies. 
+ For instance, you can ensure that a certain column family-column qualifier pair always has a value between 1 and 10. 
  Otherwise, the <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> is rejected and the data integrity is maintained.
  <p>
- Constraints are designed to be configurable, so a constraint can be used across different tables, but implement different
+ Constraints are designed to be configurable, so a constraint can be used across different tables, but implement different 
  behavior depending on the specific configuration given to that constraint.
  <p>
- By adding a constraint to a table (see <a href="#usage">Example Usage</a>), constraints will automatically enabled.
- You also then have the option of to disable (just 'turn off') or remove (delete all associated information) all constraints on a table.
- If you remove all constraints
- (see <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html#remove(org.apache.hadoop.hbase.HTableDescriptor)"><code>Constraints.remove(org.apache.hadoop.hbase.HTableDescriptor)</code></a>,
- you must re-add any <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraint.html" title="interface in org.apache.hadoop.hbase.constraint"><code>Constraint</code></a> you want on that table.
- However, if they are just disabled (see <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html#disable(org.apache.hadoop.hbase.HTableDescriptor)"><code>Constraints.disable(org.apache.hadoop.hbase.HTableDescriptor)</code></a>,
+ By adding a constraint to a table (see <a href="#usage">Example Usage</a>), constraints will automatically enabled. 
+ You also then have the option of to disable (just 'turn off') or remove (delete all associated information) all constraints on a table. 
+ If you remove all constraints 
+ (see <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html#remove(org.apache.hadoop.hbase.HTableDescriptor)"><code>Constraints.remove(org.apache.hadoop.hbase.HTableDescriptor)</code></a>, 
+ you must re-add any <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraint.html" title="interface in org.apache.hadoop.hbase.constraint"><code>Constraint</code></a> you want on that table. 
+ However, if they are just disabled (see <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html#disable(org.apache.hadoop.hbase.HTableDescriptor)"><code>Constraints.disable(org.apache.hadoop.hbase.HTableDescriptor)</code></a>, 
  all you need to do is enable constraints again, and everything will be turned back on as it was configured.
  Individual constraints can also be individually enabled, disabled or removed without affecting other constraints.
  <p>
- By default, constraints are disabled on a table.
+ By default, constraints are disabled on a table. 
  This means you will not see <i>any</i> slow down on a table if constraints are not enabled.
  <p>
 
  <h2><a name="concurrency">Concurrency and Atomicity</a></h2>
- Currently, no attempts at enforcing correctness in a multi-threaded scenario when modifying a constraint, via
- <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html" title="class in org.apache.hadoop.hbase.constraint"><code>Constraints</code></a>, to the the <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HTableDescriptor</code></a>.
- This is particularly important when adding a constraint(s) to the <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HTableDescriptor</code></a>
+ Currently, no attempts at enforcing correctness in a multi-threaded scenario when modifying a constraint, via 
+ <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html" title="class in org.apache.hadoop.hbase.constraint"><code>Constraints</code></a>, to the the <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HTableDescriptor</code></a>. 
+ This is particularly important when adding a constraint(s) to the <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HTableDescriptor</code></a> 
  as it first retrieves the next priority from a custom value set in the descriptor,
- adds each constraint (with increasing priority) to the descriptor, and then the next available priority is re-stored
- back in the <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HTableDescriptor</code></a>.
+ adds each constraint (with increasing priority) to the descriptor, and then the next available priority is re-stored 
+ back in the <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HTableDescriptor</code></a>. 
  <p>
- Locking is recommended around each of Constraints add methods:
- <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html#add(org.apache.hadoop.hbase.HTableDescriptor,%20java.lang.Class...)"><code>Constraints.add(org.apache.hadoop.hbase.HTableDescriptor, Class...)</code></a>,
- <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html#add(org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.util.Pair...)"><code>Constraints.add(org.apache.hadoop.hbase.HTableDescriptor, org.apache.hadoop.hbase.util.Pair...)</code></a>,
+ Locking is recommended around each of Constraints add methods: 
+ <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html#add(org.apache.hadoop.hbase.HTableDescriptor,%20java.lang.Class...)"><code>Constraints.add(org.apache.hadoop.hbase.HTableDescriptor, Class...)</code></a>, 
+ <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html#add(org.apache.hadoop.hbase.HTableDescriptor,%20org.apache.hadoop.hbase.util.Pair...)"><code>Constraints.add(org.apache.hadoop.hbase.HTableDescriptor, org.apache.hadoop.hbase.util.Pair...)</code></a>, 
  and <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html#add(org.apache.hadoop.hbase.HTableDescriptor,%20java.lang.Class,%20org.apache.hadoop.conf.Configuration)"><code>Constraints.add(org.apache.hadoop.hbase.HTableDescriptor, Class, org.apache.hadoop.conf.Configuration)</code></a>.
  Any changes on <i>a single HTableDescriptor</i> should be serialized, either within a single thread or via external mechanisms.
  <p>
- Note that having a higher priority means that a constraint will run later; e.g. a constraint with priority 1 will run before a
- constraint with priority 2.
+ Note that having a higher priority means that a constraint will run later; e.g. a constraint with priority 1 will run before a 
+ constraint with priority 2. 
  <p>
- Since Constraints currently are designed to just implement simple checks (e.g. is the value in the right range), there will
- be no atomicity conflicts.
- Even if one of the puts finishes the constraint first, the single row will not be corrupted and the 'fastest' write will win;
+ Since Constraints currently are designed to just implement simple checks (e.g. is the value in the right range), there will 
+ be no atomicity conflicts. 
+ Even if one of the puts finishes the constraint first, the single row will not be corrupted and the 'fastest' write will win; 
  the underlying region takes care of breaking the tie and ensuring that writes get serialized to the table.
- So yes, this doesn't ensure that we are going to get specific ordering or even a fully consistent view of the underlying data.
+ So yes, this doesn't ensure that we are going to get specific ordering or even a fully consistent view of the underlying data. 
  <p>
  Each constraint should only use local/instance variables, unless doing more advanced usage. Static variables could cause difficulties
  when checking concurrent writes to the same region, leading to either highly locked situations (decreasing through-put) or higher probability of errors.
  However, as long as each constraint just uses local variables, each thread interacting with the constraint will execute correctly and efficiently.
 
  <h2><a name="caveats">Caveats</a></h2>
- In traditional (SQL) databases, Constraints are often used to enforce <a href="http://en.wikipedia.org/wiki/Relational_database#Constraints">referential integrity</a>.
- However, in HBase, this will likely cause significant overhead and dramatically decrease the number of
- <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Puts</code></a>/second possible on a table. This is because to check the referential integrity
+ In traditional (SQL) databases, Constraints are often used to enforce <a href="http://en.wikipedia.org/wiki/Relational_database#Constraints">referential integrity</a>. 
+ However, in HBase, this will likely cause significant overhead and dramatically decrease the number of 
+ <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Puts</code></a>/second possible on a table. This is because to check the referential integrity 
  when making a <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a>, one must block on a scan for the 'remote' table, checking for the valid reference.
- For millions of <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Puts</code></a> a second, this will breakdown very quickly.
+ For millions of <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Puts</code></a> a second, this will breakdown very quickly. 
  There are several options around the blocking behavior including, but not limited to:
  <ul>
- <li>Create a 'pre-join' table where the keys are already denormalized</li>
+ <li>Create a 'pre-join' table where the keys are already denormalized</li>  
  <li>Designing for 'incorrect' references</li>
  <li>Using an external enforcement mechanism</li>
  </ul>
  There are also several general considerations that must be taken into account, when using Constraints:
  <ol>
- <li>All changes made via <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html" title="class in org.apache.hadoop.hbase.constraint"><code>Constraints</code></a> will make modifications to the
- <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HTableDescriptor</code></a> for a given table. As such, the usual renabling of tables should be used for
+ <li>All changes made via <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraints.html" title="class in org.apache.hadoop.hbase.constraint"><code>Constraints</code></a> will make modifications to the 
+ <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HTableDescriptor</code></a> for a given table. As such, the usual renabling of tables should be used for 
  propagating changes to the table. When at all possible, Constraints should be added to the table before the table is created.</li>
- <li>Constraints are run in the order that they are added to a table. This has implications for what order constraints should
+ <li>Constraints are run in the order that they are added to a table. This has implications for what order constraints should 
  be added to a table.</li>
- <li>Whenever new Constraint jars are added to a region server, those region servers need to go through a rolling restart to
+ <li>Whenever new Constraint jars are added to a region server, those region servers need to go through a rolling restart to 
  make sure that they pick up the new jars and can enable the new constraints.</li>
  <li>There are certain keys that are reserved for the Configuration namespace:
  <ul>
  <li>_ENABLED - used server-side to determine if a constraint should be run</li>
  <li>_PRIORITY - used server-side to determine what order a constraint should be run</li>
  </ul>
- If these items are set, they will be respected in the constraint configuration, but they are taken care of by default in when
+ If these items are set, they will be respected in the constraint configuration, but they are taken care of by default in when 
  adding constraints to an <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HTableDescriptor</code></a> via the usual method.</li>
  </ol>
- <p>
- Under the hood, constraints are implemented as a Coprocessor (see <a href="../../../../../org/apache/hadoop/hbase/constraint/ConstraintProcessor.html" title="class in org.apache.hadoop.hbase.constraint"><code>ConstraintProcessor</code></a>
+ <p> 
+ Under the hood, constraints are implemented as a Coprocessor (see <a href="../../../../../org/apache/hadoop/hbase/constraint/ConstraintProcessor.html" title="class in org.apache.hadoop.hbase.constraint"><code>ConstraintProcessor</code></a> 
  if you are interested).
 
 
  <h2><a name="usage">Example usage</a></h2>
- First, you must define a <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraint.html" title="interface in org.apache.hadoop.hbase.constraint"><code>Constraint</code></a>.
+ First, you must define a <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraint.html" title="interface in org.apache.hadoop.hbase.constraint"><code>Constraint</code></a>. 
  The best way to do this is to extend <a href="../../../../../org/apache/hadoop/hbase/constraint/BaseConstraint.html" title="class in org.apache.hadoop.hbase.constraint"><code>BaseConstraint</code></a>, which takes care of some of the more
  mundane details of using a <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraint.html" title="interface in org.apache.hadoop.hbase.constraint"><code>Constraint</code></a>.
  <p>
- Let's look at one possible implementation of a constraint - an IntegerConstraint(there are also several simple examples in the tests).
+ Let's look at one possible implementation of a constraint - an IntegerConstraint(there are also several simple examples in the tests). 
  The IntegerConstraint checks to make sure that the value is a String-encoded <code>int</code>.
  It is really simple to implement this kind of constraint, the only method needs to be implemented is
  <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraint.html#check(org.apache.hadoop.hbase.client.Put)"><code>Constraint.check(org.apache.hadoop.hbase.client.Put)</code></a>:
@@ -262,18 +262,18 @@
  } catch (NumberFormatException e) {
  throw new ConstraintException("Value in Put (" + p
  + ") was not a String-encoded integer", e);
- } } }
+ } } } 
  </pre></blockquote>
  </div>
  <p>
- Note that all exceptions that you expect to be thrown must be caught and then rethrown as a
- <a href="../../../../../org/apache/hadoop/hbase/constraint/ConstraintException.html" title="class in org.apache.hadoop.hbase.constraint"><code>ConstraintException</code></a>. This way, you can be sure that a
- <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> fails for an expected reason, rather than for any reason.
- For example, an <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/OutOfMemoryError.html?is-external=true" title="class or interface in java.lang"><code>OutOfMemoryError</code></a> is probably indicative of an inherent problem in
+ Note that all exceptions that you expect to be thrown must be caught and then rethrown as a 
+ <a href="../../../../../org/apache/hadoop/hbase/constraint/ConstraintException.html" title="class in org.apache.hadoop.hbase.constraint"><code>ConstraintException</code></a>. This way, you can be sure that a 
+ <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a> fails for an expected reason, rather than for any reason. 
+ For example, an <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/OutOfMemoryError.html?is-external=true" title="class or interface in java.lang"><code>OutOfMemoryError</code></a> is probably indicative of an inherent problem in 
  the <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraint.html" title="interface in org.apache.hadoop.hbase.constraint"><code>Constraint</code></a>, rather than a failed <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client"><code>Put</code></a>.
  <p>
  If an unexpected exception is thrown (for example, any kind of uncaught <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><code>RuntimeException</code></a>),
- constraint-checking will be 'unloaded' from the regionserver where that error occurred.
+ constraint-checking will be 'unloaded' from the regionserver where that error occurred. 
  This means no further <a href="../../../../../org/apache/hadoop/hbase/constraint/Constraint.html" title="interface in org.apache.hadoop.hbase.constraint"><code>Constraints</code></a> will be checked on that server
  until it is reloaded. This is done to ensure the system remains as available as possible.
  Therefore, be careful when writing your own Constraint.
@@ -287,14 +287,14 @@
  Constraints.add(desc, IntegerConstraint.class);
  </pre></blockquote></div>
  <p>
- Once we added the IntegerConstraint, constraints will be enabled on the table (once it is created) and
+ Once we added the IntegerConstraint, constraints will be enabled on the table (once it is created) and 
  we will always check to make sure that the value is an String-encoded integer.
- <p>
+ <p> 
  However, suppose we also write our own constraint, <code>MyConstraint.java</code>.
- First, you need to make sure this class-files are in the classpath (in a jar) on the regionserver where
+ First, you need to make sure this class-files are in the classpath (in a jar) on the regionserver where 
  that constraint will be run (this could require a rolling restart on the region server - see <a href="#caveats">Caveats</a> above)
  <p>
- Suppose that MyConstraint also uses a Configuration (see <code>Configurable.getConf()</code>).
+ Suppose that MyConstraint also uses a Configuration (see <code>Configurable.getConf()</code>). 
  Then adding MyConstraint looks like this:
 
  <div style="background-color: #cccccc; padding: 2px">
@@ -312,7 +312,7 @@
  <i>will be run first</i>, followed by MyConstraint.
  <p>
  Suppose we realize that the <code>Configuration</code> for MyConstraint is actually wrong
- when it was added to the table. Note, when it is added to the table, it is <i>not</i> added by reference,
+ when it was added to the table. Note, when it is added to the table, it is <i>not</i> added by reference, 
  but is instead copied into the <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase"><code>HTableDescriptor</code></a>.
  Thus, to change the <code>Configuration</code> we are using for MyConstraint, we need to do this:
 
@@ -323,7 +323,7 @@
  Constraints.setConfiguration(desc, MyConstraint.class, conf);
  </pre></blockquote></div>
  <p>
- This will overwrite the previous configuration for MyConstraint, but <i>not</i> change the order of the
+ This will overwrite the previous configuration for MyConstraint, but <i>not</i> change the order of the 
  constraint nor if it is enabled/disabled.
  <p>
  Note that the same constraint class can be added multiple times to a table without repercussion.
@@ -337,7 +337,7 @@
  </pre></blockquote></div>
  <p>
  This just turns off MyConstraint, but retains the position and the configuration associated with MyConstraint.
- Now, if we want to re-enable the constraint, its just another one-liner:
+ Now, if we want to re-enable the constraint, its just another one-liner: 
  <div style="background-color: #cccccc">
  <blockquote><pre>
  Constraints.enable(desc, MyConstraint.class);

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.html b/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.html
index d3acee4..c4f557b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/AggregateImplementation.html
@@ -509,7 +509,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/Aggregate
  It is computed for the combination of column
  family and column qualifier(s) in the given row range as defined in the
  Scan object. In its current implementation, it takes one column family and
- two column qualifiers. The first qualifier is for values column and
+ two column qualifiers. The first qualifier is for values column and 
  the second qualifier (optional) is for weight column.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/AggregateProtocol.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/AggregateProtocol.html b/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/AggregateProtocol.html
index 494fbde..91432b3 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/AggregateProtocol.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/AggregateProtocol.html
@@ -372,7 +372,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ipc/CoprocessorProtocol.
  It is computed for the combination of column
  family and column qualifier(s) in the given row range as defined in the
  Scan object. In its current implementation, it takes one column family and
- two column qualifiers. The first qualifier is for values column and
+ two column qualifiers. The first qualifier is for values column and 
  the second qualifier (optional) is for weight column.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>ci</code> - </dd><dd><code>scan</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd>Pair</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteProtocol.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteProtocol.html b/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteProtocol.html
index b0c0691..d3c96cf 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteProtocol.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/example/BulkDeleteProtocol.html
@@ -104,7 +104,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/ipc/CoprocessorProtoc
  // set scan properties(rowkey range, filters, timerange etc).
  HTable ht = ...;
  long noOfDeletedRows = 0L;
- Batch.Call&lt;BulkDeleteProtocol, BulkDeleteResponse&gt; callable =
+ Batch.Call&lt;BulkDeleteProtocol, BulkDeleteResponse&gt; callable = 
      new Batch.Call&lt;BulkDeleteProtocol, BulkDeleteResponse&gt;() {
    public BulkDeleteResponse call(BulkDeleteProtocol instance) throws IOException {
      return instance.deleteRows(scan, BulkDeleteProtocol.DeleteType, timestamp, rowBatchSize);

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html b/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
index 06bcbf6..f9fb1d3 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.html
@@ -114,7 +114,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/BaseRegio
 
  This would be useful for an incremental backup tool, which would indicate the last
  time of a successful backup via ZK and instruct HBase to not delete data that was
- inserted since (based on wall clock time).
+ inserted since (based on wall clock time). 
 
  This implements org.apache.zookeeper.Watcher directly instead of using
  <a href="../../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper"><code>ZooKeeperWatcher</code></a>, because RegionObservers come and go and currently

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/errorhandling/ForeignExceptionSnare.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/errorhandling/ForeignExceptionSnare.html b/0.94/apidocs/org/apache/hadoop/hbase/errorhandling/ForeignExceptionSnare.html
index 827a719..0066af8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/errorhandling/ForeignExceptionSnare.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/errorhandling/ForeignExceptionSnare.html
@@ -106,7 +106,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/errorh
  <p>
  NOTE: This is very similar to the InterruptedException/interrupt/interrupted pattern.  There,
  the notification state is bound to a Thread.  Using this, applications receive Exceptions in
- the snare.  The snare is referenced and checked by multiple threads which enables exception
+ the snare.  The snare is referenced and checked by multiple threads which enables exception 
  notification in all the involved threads/processes.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/errorhandling/TimeoutException.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/errorhandling/TimeoutException.html b/0.94/apidocs/org/apache/hadoop/hbase/errorhandling/TimeoutException.html
index 54de9de..b28de4b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/errorhandling/TimeoutException.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/errorhandling/TimeoutException.html
@@ -114,7 +114,7 @@
 public class <a href="../../../../../src-html/org/apache/hadoop/hbase/errorhandling/TimeoutException.html#line.30">TimeoutException</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Exception for timeout of a task.</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/errorhandling/TimeoutExceptionInjector.html" title="class in org.apache.hadoop.hbase.errorhandling"><code>TimeoutExceptionInjector</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/errorhandling/TimeoutExceptionInjector.html" title="class in org.apache.hadoop.hbase.errorhandling"><code>TimeoutExceptionInjector</code></a>, 
 <a href="../../../../../serialized-form.html#org.apache.hadoop.hbase.errorhandling.TimeoutException">Serialized Form</a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/executor/EventHandler.EventType.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/executor/EventHandler.EventType.html b/0.94/apidocs/org/apache/hadoop/hbase/executor/EventHandler.EventType.html
index 059a0bf..041dcfe 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/executor/EventHandler.EventType.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/executor/EventHandler.EventType.html
@@ -543,7 +543,7 @@ for (EventHandler.EventType c : EventHandler.EventType.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/executor/EventHandler.EventType.html" title="enum in org.apache.hadoop.hbase.executor">EventHandler.EventType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/executor/EventHandler.EventType.html#line.87">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/executor/ExecutorService.ExecutorType.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/executor/ExecutorService.ExecutorType.html b/0.94/apidocs/org/apache/hadoop/hbase/executor/ExecutorService.ExecutorType.html
index 51921fb..fd3c81c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/executor/ExecutorService.ExecutorType.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/executor/ExecutorService.ExecutorType.html
@@ -364,7 +364,7 @@ for (ExecutorService.ExecutorType c : ExecutorService.ExecutorType.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.ExecutorType.html" title="enum in org.apache.hadoop.hbase.executor">ExecutorService.ExecutorType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/executor/ExecutorService.ExecutorType.html#line.25">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html
index bf3a275..507603d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html
@@ -264,7 +264,7 @@ for (BitComparator.BitwiseOp c : BitComparator.BitwiseOp.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter">BitComparator.BitwiseOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html#line.37">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
index 5251509..56e705a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
@@ -324,7 +324,7 @@ for (CompareFilter.CompareOp c : CompareFilter.CompareOp.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.167">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
index e9cc0e0..a1f975d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
@@ -114,7 +114,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <div class="block">A filter for adding inter-column timestamp matching
  Only cells with a correspondingly timestamped entry in
  the target column will be retained
- Not compatible with Scan.setBatch as operations need
+ Not compatible with Scan.setBatch as operations need 
  full rows for correct filtering</div>
 </li>
 </ul>
@@ -441,7 +441,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.87">DependentColumnFilter</a>(byte[]&nbsp;family,
                      byte[]&nbsp;qualifier)</pre>
 <div class="block">Constructor for DependentColumn filter.
- Keyvalues where a keyvalue from target column
+ Keyvalues where a keyvalue from target column 
  with the same timestamp do not exist will be dropped.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>family</code> - name of target column family</dd><dd><code>qualifier</code> - name of column qualifier</dd></dl>
 </li>
@@ -456,7 +456,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
                      byte[]&nbsp;qualifier,
                      boolean&nbsp;dropDependentColumn)</pre>
 <div class="block">Constructor for DependentColumn filter.
- Keyvalues where a keyvalue from target column
+ Keyvalues where a keyvalue from target column 
  with the same timestamp do not exist will be dropped.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>family</code> - name of dependent column family</dd><dd><code>qualifier</code> - name of dependent qualifier</dd><dd><code>dropDependentColumn</code> - whether the dependent columns keyvalues should be discarded</dd></dl>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/Filter.ReturnCode.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/Filter.ReturnCode.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/Filter.ReturnCode.html
index f4b971d..4dce715 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/Filter.ReturnCode.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/Filter.ReturnCode.html
@@ -310,7 +310,7 @@ for (Filter.ReturnCode c : Filter.ReturnCode.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Filter.ReturnCode.html#line.172">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/Filter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/Filter.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/Filter.html
index 0362104..5b8033c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/Filter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/Filter.html
@@ -304,7 +304,7 @@ extends org.apache.hadoop.io.Writable</pre>
  If the KeyValue is changed a new KeyValue object must be returned.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the KeyValue in question</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the changed KeyValue</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#shallowCopy()"><code>The transformed KeyValue is what is eventually returned to the
- client. Most filters will return the passed KeyValue unchanged.</code></a>,
+ client. Most filters will return the passed KeyValue unchanged.</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transform(org.apache.hadoop.hbase.KeyValue)"><code>for an example of a transformation.</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterBase.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterBase.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterBase.html
index ced8c16..250029d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterBase.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterBase.html
@@ -375,7 +375,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" t
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#transform(org.apache.hadoop.hbase.KeyValue)">transform</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="interface in org.apache.hadoop.hbase.filter">Filter</a></code></dd>
 <dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the KeyValue in question</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the changed KeyValue</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#shallowCopy()"><code>The transformed KeyValue is what is eventually returned to the
- client. Most filters will return the passed KeyValue unchanged.</code></a>,
+ client. Most filters will return the passed KeyValue unchanged.</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transform(org.apache.hadoop.hbase.KeyValue)"><code>for an example of a transformation.</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
index 38c85a7..25f1bd6 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
@@ -249,7 +249,7 @@ for (FilterList.Operator c : FilterList.Operator.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.55">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterList.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterList.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterList.html
index 23f3173..a1e5154 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterList.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/FilterList.html
@@ -503,7 +503,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" t
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#transform(org.apache.hadoop.hbase.KeyValue)">transform</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="interface in org.apache.hadoop.hbase.filter">Filter</a></code></dd>
 <dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the KeyValue in question</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the changed KeyValue</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#shallowCopy()"><code>The transformed KeyValue is what is eventually returned to the
- client. Most filters will return the passed KeyValue unchanged.</code></a>,
+ client. Most filters will return the passed KeyValue unchanged.</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transform(org.apache.hadoop.hbase.KeyValue)"><code>for an example of a transformation.</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
index 2463e18..468c62b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
@@ -253,7 +253,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#transform(org.apache.hadoop.hbase.KeyValue)">transform</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></code></dd>
 <dt><span class="strong">Parameters:</span></dt><dd><code>kv</code> - the KeyValue in question</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the changed KeyValue</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#shallowCopy()"><code>The transformed KeyValue is what is eventually returned to the
- client. Most filters will return the passed KeyValue unchanged.</code></a>,
+ client. Most filters will return the passed KeyValue unchanged.</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transform(org.apache.hadoop.hbase.KeyValue)"><code>for an example of a transformation.</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/SkipFilter.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
index 1119298..1839670 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
@@ -344,7 +344,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#transform(org.apache.hadoop.hbase.KeyValue)">transform</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></code></dd>
 <dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the KeyValue in question</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the changed KeyValue</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#shallowCopy()"><code>The transformed KeyValue is what is eventually returned to the
- client. Most filters will return the passed KeyValue unchanged.</code></a>,
+ client. Most filters will return the passed KeyValue unchanged.</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transform(org.apache.hadoop.hbase.KeyValue)"><code>for an example of a transformation.</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
index b59a8b7..c8b643c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
@@ -389,7 +389,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#transform(org.apache.hadoop.hbase.KeyValue)">transform</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></code></dd>
 <dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the KeyValue in question</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the changed KeyValue</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#shallowCopy()"><code>The transformed KeyValue is what is eventually returned to the
- client. Most filters will return the passed KeyValue unchanged.</code></a>,
+ client. Most filters will return the passed KeyValue unchanged.</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transform(org.apache.hadoop.hbase.KeyValue)"><code>for an example of a transformation.</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.html
index f8c5e1f..be29b30 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/CompareFilter.html
@@ -103,7 +103,7 @@
 <div class="block">A filter for adding inter-column timestamp matching
  Only cells with a correspondingly timestamped entry in
  the target column will be retained
- Not compatible with Scan.setBatch as operations need
+ Not compatible with Scan.setBatch as operations need 
  full rows for correct filtering</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.html
index f74a23c..f9f59de 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/Filter.html
@@ -228,7 +228,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility</div>
 <div class="block">A filter for adding inter-column timestamp matching
  Only cells with a correspondingly timestamped entry in
  the target column will be retained
- Not compatible with Scan.setBatch as operations need
+ Not compatible with Scan.setBatch as operations need 
  full rows for correct filtering</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/FilterBase.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/FilterBase.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/FilterBase.html
index d15ad40..e7bccdf 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/FilterBase.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/class-use/FilterBase.html
@@ -135,7 +135,7 @@
 <div class="block">A filter for adding inter-column timestamp matching
  Only cells with a correspondingly timestamped entry in
  the target column will be retained
- Not compatible with Scan.setBatch as operations need
+ Not compatible with Scan.setBatch as operations need 
  full rows for correct filtering</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/filter/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/filter/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/filter/package-summary.html
index 6086ea7..bdb3b0c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/filter/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/filter/package-summary.html
@@ -155,7 +155,7 @@
 <div class="block">A filter for adding inter-column timestamp matching
  Only cells with a correspondingly timestamped entry in
  the target column will be retained
- Not compatible with Scan.setBatch as operations need
+ Not compatible with Scan.setBatch as operations need 
  full rows for correct filtering</div>
 </td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/fs/HFileSystem.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/fs/HFileSystem.html b/0.94/apidocs/org/apache/hadoop/hbase/fs/HFileSystem.html
index c1b6dc9..cb6eb0b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/fs/HFileSystem.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/fs/HFileSystem.html
@@ -117,7 +117,7 @@
 <pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/fs/HFileSystem.html#line.44">HFileSystem</a>
 extends org.apache.hadoop.fs.FilterFileSystem</pre>
 <div class="block">An encapsulation for the FileSystem object that hbase uses to access
- data. This class allows the flexibility of using
+ data. This class allows the flexibility of using  
  separate filesystem objects for reading and writing hfiles and hlogs.
  In future, if we want to make hlogs be in a different filesystem,
  this is the place to make it happen.</div>
@@ -215,7 +215,7 @@ extends org.apache.hadoop.fs.FilterFileSystem</pre>
                                     short&nbsp;replication,
                                     long&nbsp;blockSize,
                                     org.apache.hadoop.util.Progressable&nbsp;progress)</code>
-<div class="block">The org.apache.hadoop.fs.FilterFileSystem does not yet support
+<div class="block">The org.apache.hadoop.fs.FilterFileSystem does not yet support 
  createNonRecursive.</div>
 </td>
 </tr>
@@ -240,7 +240,7 @@ extends org.apache.hadoop.fs.FilterFileSystem</pre>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.fs.FileSystem</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/fs/HFileSystem.html#getNoChecksumFs()">getNoChecksumFs</a></strong>()</code>
-<div class="block">Returns the filesystem that is specially setup for
+<div class="block">Returns the filesystem that is specially setup for 
  doing reads from storage.</div>
 </td>
 </tr>
@@ -318,7 +318,7 @@ extends org.apache.hadoop.fs.FilterFileSystem</pre>
 <h4>HFileSystem</h4>
 <pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/fs/HFileSystem.html#line.91">HFileSystem</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs)</pre>
 <div class="block">Wrap a FileSystem object within a HFileSystem. The noChecksumFs and
- writefs are both set to be the same specified fs.
+ writefs are both set to be the same specified fs. 
  Do not verify hbase-checksums while reading data from filesystem.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>fs</code> - Set the noChecksumFs and writeFs to this specified filesystem.</dd></dl>
 </li>
@@ -338,8 +338,8 @@ extends org.apache.hadoop.fs.FilterFileSystem</pre>
 <li class="blockList">
 <h4>getNoChecksumFs</h4>
 <pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/fs/HFileSystem.html#line.104">getNoChecksumFs</a>()</pre>
-<div class="block">Returns the filesystem that is specially setup for
- doing reads from storage. This object avoids doing
+<div class="block">Returns the filesystem that is specially setup for 
+ doing reads from storage. This object avoids doing 
  checksum verifications for reads.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The FileSystem object that can be used to read data
          from files.</dd></dl>
@@ -433,7 +433,7 @@ extends org.apache.hadoop.fs.FilterFileSystem</pre>
                                                          long&nbsp;blockSize,
                                                          org.apache.hadoop.util.Progressable&nbsp;progress)
                                                            throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">The org.apache.hadoop.fs.FilterFileSystem does not yet support
+<div class="block">The org.apache.hadoop.fs.FilterFileSystem does not yet support 
  createNonRecursive. This is a hadoop bug and when it is fixed in Hadoop,
  this definition will go away.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/io/Reference.Range.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/io/Reference.Range.html b/0.94/apidocs/org/apache/hadoop/hbase/io/Reference.Range.html
index 10ba7a6..6f5b692 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/io/Reference.Range.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/io/Reference.Range.html
@@ -250,7 +250,7 @@ for (Reference.Range c : Reference.Range.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/Reference.Range.html" title="enum in org.apache.hadoop.hbase.io">Reference.Range</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/io/Reference.Range.html#line.42">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>


[15/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
index f862b85..708ba7d 100644
--- a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
+++ b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
@@ -34,174 +34,177 @@
 <span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import org.apache.hadoop.io.RawComparator;<a name="line.27"></a>
 <span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>/**<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * Compress key by storing size of common prefix with previous KeyValue<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * and storing raw size of rest.<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * Format:<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * 1-5 bytes: compressed key length minus prefix (7-bit encoding)<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * 1-5 bytes: compressed value length (7-bit encoding)<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * 1-3 bytes: compressed length of common key prefix<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * ... bytes: rest of key (including timestamp)<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * ... bytes: value<a name="line.38"></a>
-<span class="sourceLineNo">039</span> *<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * In a worst case compressed KeyValue will be three bytes longer than original.<a name="line.40"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Compress key by storing size of common prefix with previous KeyValue<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * and storing raw size of rest.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Format:<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * 1-5 bytes: compressed key length minus prefix (7-bit encoding)<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * 1-5 bytes: compressed value length (7-bit encoding)<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * 1-3 bytes: compressed length of common key prefix<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * ... bytes: rest of key (including timestamp)<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * ... bytes: value<a name="line.40"></a>
 <span class="sourceLineNo">041</span> *<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>public class PrefixKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>  private int addKV(int prevKeyOffset, DataOutputStream out,<a name="line.45"></a>
-<span class="sourceLineNo">046</span>      ByteBuffer in, int prevKeyLength) throws IOException {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    int keyLength = in.getInt();<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    int valueLength = in.getInt();<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>    if (prevKeyOffset == -1) {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      // copy the key, there is no common prefix with none<a name="line.51"></a>
-<span class="sourceLineNo">052</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.52"></a>
-<span class="sourceLineNo">053</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.53"></a>
-<span class="sourceLineNo">054</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.54"></a>
-<span class="sourceLineNo">055</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    } else {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>      // find a common prefix and skip it<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      int common = ByteBufferUtils.findCommonPrefix(<a name="line.58"></a>
-<span class="sourceLineNo">059</span>          in, prevKeyOffset + KeyValue.ROW_OFFSET,<a name="line.59"></a>
-<span class="sourceLineNo">060</span>          in.position(),<a name="line.60"></a>
-<span class="sourceLineNo">061</span>          Math.min(prevKeyLength, keyLength));<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>      ByteBufferUtils.putCompressedInt(out, keyLength - common);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      ByteBufferUtils.putCompressedInt(out, common);<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>      ByteBufferUtils.skip(in, common);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength - common<a name="line.68"></a>
-<span class="sourceLineNo">069</span>          + valueLength);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>    return keyLength;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  }<a name="line.73"></a>
+<span class="sourceLineNo">042</span> * In a worst case compressed KeyValue will be three bytes longer than original.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *<a name="line.43"></a>
+<span class="sourceLineNo">044</span> */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>@InterfaceAudience.Private<a name="line.45"></a>
+<span class="sourceLineNo">046</span>public class PrefixKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  private int addKV(int prevKeyOffset, DataOutputStream out,<a name="line.48"></a>
+<span class="sourceLineNo">049</span>      ByteBuffer in, int prevKeyLength) throws IOException {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    int keyLength = in.getInt();<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    int valueLength = in.getInt();<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>    if (prevKeyOffset == -1) {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>      // copy the key, there is no common prefix with none<a name="line.54"></a>
+<span class="sourceLineNo">055</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.55"></a>
+<span class="sourceLineNo">056</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    } else {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      // find a common prefix and skip it<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      int common = ByteBufferUtils.findCommonPrefix(<a name="line.61"></a>
+<span class="sourceLineNo">062</span>          in, prevKeyOffset + KeyValue.ROW_OFFSET,<a name="line.62"></a>
+<span class="sourceLineNo">063</span>          in.position(),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>          Math.min(prevKeyLength, keyLength));<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>      ByteBufferUtils.putCompressedInt(out, keyLength - common);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      ByteBufferUtils.putCompressedInt(out, common);<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>      ByteBufferUtils.skip(in, common);<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength - common<a name="line.71"></a>
+<span class="sourceLineNo">072</span>          + valueLength);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
 <span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  @Override<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public void compressKeyValues(DataOutputStream writeHere,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    in.rewind();<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    ByteBufferUtils.putInt(writeHere, in.limit());<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    int prevOffset = -1;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int offset = 0;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    int keyLength = 0;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    while (in.hasRemaining()) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      offset = in.position();<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      keyLength = addKV(prevOffset, writeHere, in, keyLength);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      afterEncodingKeyValue(in, writeHere, includesMemstoreTS);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      prevOffset = offset;<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><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  @Override<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.93"></a>
-<span class="sourceLineNo">094</span>          throws IOException {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    int decompressedSize = source.readInt();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        allocHeaderLength);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    buffer.position(allocHeaderLength);<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    int prevKeyOffset = 0;<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>    while (source.available() &gt; skipLastBytes) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      prevKeyOffset = uncompressKeyValue(source, buffer, prevKeyOffset);<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>    if (source.available() != skipLastBytes) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      throw new IllegalStateException("Read too many bytes.");<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>    buffer.limit(buffer.position());<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    return buffer;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  private int uncompressKeyValue(DataInputStream source, ByteBuffer buffer,<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      int prevKeyOffset)<a name="line.115"></a>
-<span class="sourceLineNo">116</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    int keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    int valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    int keyOffset;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    keyLength += commonLength;<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        + KeyValue.ROW_OFFSET);<a name="line.124"></a>
+<span class="sourceLineNo">075</span>    return keyLength;<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>  @Override<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public void compressKeyValues(DataOutputStream writeHere,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    in.rewind();<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    ByteBufferUtils.putInt(writeHere, in.limit());<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    int prevOffset = -1;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    int offset = 0;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    int keyLength = 0;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    while (in.hasRemaining()) {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      offset = in.position();<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      keyLength = addKV(prevOffset, writeHere, in, keyLength);<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      afterEncodingKeyValue(in, writeHere, includesMemstoreTS);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      prevOffset = offset;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    }<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  @Override<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.96"></a>
+<span class="sourceLineNo">097</span>          throws IOException {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    int decompressedSize = source.readInt();<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        allocHeaderLength);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    buffer.position(allocHeaderLength);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    int prevKeyOffset = 0;<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>    while (source.available() &gt; skipLastBytes) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      prevKeyOffset = uncompressKeyValue(source, buffer, prevKeyOffset);<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<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>    if (source.available() != skipLastBytes) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      throw new IllegalStateException("Read too many bytes.");<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>    buffer.limit(buffer.position());<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    return buffer;<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>  private int uncompressKeyValue(DataInputStream source, ByteBuffer buffer,<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      int prevKeyOffset)<a name="line.118"></a>
+<span class="sourceLineNo">119</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    int keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    int valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    int keyOffset;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    keyLength += commonLength;<a name="line.124"></a>
 <span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>    buffer.putInt(keyLength);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    buffer.putInt(valueLength);<a name="line.127"></a>
+<span class="sourceLineNo">126</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        + KeyValue.ROW_OFFSET);<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>    // copy the prefix<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    if (commonLength &gt; 0) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      keyOffset = buffer.position();<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, prevKeyOffset,<a name="line.132"></a>
-<span class="sourceLineNo">133</span>          commonLength);<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    } else {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      keyOffset = buffer.position();<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>    // copy rest of the key and value<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    int len = keyLength - commonLength + valueLength;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, len);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    return keyOffset;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  @Override<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    block.mark();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    block.position(Bytes.SIZEOF_INT);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    ByteBufferUtils.readCompressedInt(block);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    int commonLength = ByteBufferUtils.readCompressedInt(block);<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    if (commonLength != 0) {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      throw new AssertionError("Nonzero common length in the first key in "<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          + "block: " + commonLength);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    int pos = block.position();<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    block.reset();<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public String toString() {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return PrefixKeyDeltaEncoder.class.getSimpleName();<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>  @Override<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      final boolean includesMemstoreTS) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return new BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      @Override<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      protected void decodeNext() {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        current.valueLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        current.lastCommonPrefix =<a name="line.173"></a>
-<span class="sourceLineNo">174</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        current.keyLength += current.lastCommonPrefix;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>        current.ensureSpaceForKey();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>        currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.177"></a>
-<span class="sourceLineNo">178</span>            current.keyLength - current.lastCommonPrefix);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>        current.valueOffset = currentBuffer.position();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        if (includesMemstoreTS) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        } else {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>          current.memstoreTS = 0;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        current.nextKvOffset = currentBuffer.position();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      }<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>      @Override<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      protected void decodeFirst() {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        decodeNext();<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>  }<a name="line.195"></a>
-<span class="sourceLineNo">196</span>}<a name="line.196"></a>
+<span class="sourceLineNo">129</span>    buffer.putInt(keyLength);<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    buffer.putInt(valueLength);<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>    // copy the prefix<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    if (commonLength &gt; 0) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      keyOffset = buffer.position();<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, prevKeyOffset,<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          commonLength);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    } else {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      keyOffset = buffer.position();<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span>    // copy rest of the key and value<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    int len = keyLength - commonLength + valueLength;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, len);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    return keyOffset;<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>  @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    block.mark();<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    block.position(Bytes.SIZEOF_INT);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    ByteBufferUtils.readCompressedInt(block);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    int commonLength = ByteBufferUtils.readCompressedInt(block);<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    if (commonLength != 0) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      throw new AssertionError("Nonzero common length in the first key in "<a name="line.155"></a>
+<span class="sourceLineNo">156</span>          + "block: " + commonLength);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    int pos = block.position();<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    block.reset();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>  @Override<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  public String toString() {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    return PrefixKeyDeltaEncoder.class.getSimpleName();<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>  @Override<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      final boolean includesMemstoreTS) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    return new BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      @Override<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      protected void decodeNext() {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        current.valueLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        current.lastCommonPrefix =<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        current.keyLength += current.lastCommonPrefix;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>        current.ensureSpaceForKey();<a name="line.179"></a>
+<span class="sourceLineNo">180</span>        currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.180"></a>
+<span class="sourceLineNo">181</span>            current.keyLength - current.lastCommonPrefix);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        current.valueOffset = currentBuffer.position();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        if (includesMemstoreTS) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        } else {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>          current.memstoreTS = 0;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        }<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        current.nextKvOffset = currentBuffer.position();<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>      @Override<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      protected void decodeFirst() {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        decodeNext();<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>
 
 
 


[22/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_result._Fields.html
index ed63cda..47781c5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_result._Fields.html
@@ -271,7 +271,7 @@ for (THBaseService.exists_result._Fields c : THBaseService.exists_result._Fields
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.exists_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.exists_result._Fields.html#line.2095">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_args._Fields.html
index d97f19e..98bac7b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_args._Fields.html
@@ -281,7 +281,7 @@ for (THBaseService.getMultiple_args._Fields c : THBaseService.getMultiple_args._
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.getMultiple_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_args._Fields.html#line.4070">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_result._Fields.html
index 0aedea7..f10a4c5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_result._Fields.html
@@ -271,7 +271,7 @@ for (THBaseService.getMultiple_result._Fields c : THBaseService.getMultiple_resu
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.getMultiple_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getMultiple_result._Fields.html#line.4070">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_args._Fields.html
index cca70d2..53ae2df 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_args._Fields.html
@@ -292,7 +292,7 @@ for (THBaseService.getScannerResults_args._Fields c : THBaseService.getScannerRe
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.getScannerResults_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_args._Fields.html#line.16543">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_result._Fields.html
index 300768a..ef7ef6e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_result._Fields.html
@@ -271,7 +271,7 @@ for (THBaseService.getScannerResults_result._Fields c : THBaseService.getScanner
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.getScannerResults_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerResults_result._Fields.html#line.16543">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_args._Fields.html
index 4bf7df5..f863bea 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_args._Fields.html
@@ -277,7 +277,7 @@ for (THBaseService.getScannerRows_args._Fields c : THBaseService.getScannerRows_
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.getScannerRows_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_args._Fields.html#line.13599">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_result._Fields.html
index ff76358..54f0772 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_result._Fields.html
@@ -286,7 +286,7 @@ for (THBaseService.getScannerRows_result._Fields c : THBaseService.getScannerRow
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.getScannerRows_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.getScannerRows_result._Fields.html#line.13599">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_args._Fields.html
index 8d9d0e3..06b2933 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_args._Fields.html
@@ -277,7 +277,7 @@ for (THBaseService.get_args._Fields c : THBaseService.get_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.get_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_args._Fields.html#line.3050">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_result._Fields.html
index b8bd9cb..3d9d3b0 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_result._Fields.html
@@ -271,7 +271,7 @@ for (THBaseService.get_result._Fields c : THBaseService.get_result._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.get_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.get_result._Fields.html#line.3050">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_args._Fields.html
index d94cbfe..ec36dfe 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_args._Fields.html
@@ -277,7 +277,7 @@ for (THBaseService.increment_args._Fields c : THBaseService.increment_args._Fiel
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.increment_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_args._Fields.html#line.11689">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_result._Fields.html
index 2b3cae6..7283566 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_result._Fields.html
@@ -271,7 +271,7 @@ for (THBaseService.increment_result._Fields c : THBaseService.increment_result._
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.increment_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.increment_result._Fields.html#line.11689">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_args._Fields.html
index 9201e11..6235e88 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_args._Fields.html
@@ -277,7 +277,7 @@ for (THBaseService.mutateRow_args._Fields c : THBaseService.mutateRow_args._Fiel
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.mutateRow_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_args._Fields.html#line.15567">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_result._Fields.html
index a422277..81ce2fa 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_result._Fields.html
@@ -259,7 +259,7 @@ for (THBaseService.mutateRow_result._Fields c : THBaseService.mutateRow_result._
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.mutateRow_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.mutateRow_result._Fields.html#line.15567">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_args._Fields.html
index 8098fa1..81ea941 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_args._Fields.html
@@ -277,7 +277,7 @@ for (THBaseService.openScanner_args._Fields c : THBaseService.openScanner_args._
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.openScanner_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_args._Fields.html#line.12649">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_result._Fields.html
index 004e639..029becb 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_result._Fields.html
@@ -271,7 +271,7 @@ for (THBaseService.openScanner_result._Fields c : THBaseService.openScanner_resu
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.openScanner_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.openScanner_result._Fields.html#line.12649">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_args._Fields.html
index bc57441..172893f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_args._Fields.html
@@ -277,7 +277,7 @@ for (THBaseService.putMultiple_args._Fields c : THBaseService.putMultiple_args._
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.putMultiple_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_args._Fields.html#line.7451">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_result._Fields.html
index ec4dbce..90b66a2 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_result._Fields.html
@@ -259,7 +259,7 @@ for (THBaseService.putMultiple_result._Fields c : THBaseService.putMultiple_resu
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.putMultiple_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.putMultiple_result._Fields.html#line.7451">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_args._Fields.html
index ce4e2eb..aadc9b6 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_args._Fields.html
@@ -277,7 +277,7 @@ for (THBaseService.put_args._Fields c : THBaseService.put_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.put_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_args._Fields.html#line.5080">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_result._Fields.html
index cb38fe9..d259964 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_result._Fields.html
@@ -259,7 +259,7 @@ for (THBaseService.put_result._Fields c : THBaseService.put_result._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">THBaseService.put_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/THBaseService.put_result._Fields.html#line.5080">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIOError._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIOError._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIOError._Fields.html
index b9315e7..4a00d88 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIOError._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIOError._Fields.html
@@ -259,7 +259,7 @@ for (TIOError._Fields c : TIOError._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TIOError._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TIOError._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TIOError._Fields.html#line.53">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument._Fields.html
index fed6801..153e635 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument._Fields.html
@@ -259,7 +259,7 @@ for (TIllegalArgument._Fields c : TIllegalArgument._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TIllegalArgument._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument._Fields.html#line.52">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIncrement._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIncrement._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIncrement._Fields.html
index 5963b06..d2ae692 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIncrement._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIncrement._Fields.html
@@ -283,7 +283,7 @@ for (TIncrement._Fields c : TIncrement._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TIncrement._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TIncrement._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TIncrement._Fields.html#line.47">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIncrement.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIncrement.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIncrement.html
index e02d4df..f2fb24e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIncrement.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TIncrement.html
@@ -103,7 +103,7 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.thrift.TBase&lt;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TIncrement.html" title="class in org.apache.hadoop.hbase.thrift2.generated">TIncrement</a>,<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TIncrement._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TIncrement._Fields</a>&gt;, <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></pre>
 <div class="block">Used to perform Increment operations for a single row.
-
+ 
  You can specify if this Increment should be written
  to the write-ahead Log (WAL) or not. It defaults to true.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../serialized-form.html#org.apache.hadoop.hbase.thrift2.generated.TIncrement">Serialized Form</a></dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TMutation._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TMutation._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TMutation._Fields.html
index a21f748..7cbb66d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TMutation._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TMutation._Fields.html
@@ -271,7 +271,7 @@ for (TMutation._Fields c : TMutation._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TMutation._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TMutation._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TMutation._Fields.html#line.40">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TPut._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TPut._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TPut._Fields.html
index f705903..e4ee27c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TPut._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TPut._Fields.html
@@ -320,7 +320,7 @@ for (TPut._Fields c : TPut._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TPut._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TPut._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TPut._Fields.html#line.48">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TPut.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TPut.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TPut.html
index f4dff0c..3540982 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TPut.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TPut.html
@@ -103,12 +103,12 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.thrift.TBase&lt;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TPut.html" title="class in org.apache.hadoop.hbase.thrift2.generated">TPut</a>,<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TPut._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TPut._Fields</a>&gt;, <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></pre>
 <div class="block">Used to perform Put operations for a single row.
-
+ 
  Add column values to this object and they'll be added.
  You can provide a default timestamp if the column values
  don't have one. If you don't provide a default timestamp
  the current time is inserted.
-
+ 
  You can also specify if this Put should be written
  to the write-ahead Log (WAL) or not. It defaults to true.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../serialized-form.html#org.apache.hadoop.hbase.thrift2.generated.TPut">Serialized Form</a></dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TResult._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TResult._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TResult._Fields.html
index 5835817..026684b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TResult._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TResult._Fields.html
@@ -271,7 +271,7 @@ for (TResult._Fields c : TResult._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TResult._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TResult._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TResult._Fields.html#line.50">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TRowMutations._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TRowMutations._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TRowMutations._Fields.html
index e1b3fa9..6256aa9 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TRowMutations._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TRowMutations._Fields.html
@@ -271,7 +271,7 @@ for (TRowMutations._Fields c : TRowMutations._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TRowMutations._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TRowMutations._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TRowMutations._Fields.html#line.40">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TScan._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TScan._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TScan._Fields.html
index 0c691cd..10add4d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TScan._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TScan._Fields.html
@@ -355,7 +355,7 @@ for (TScan._Fields c : TScan._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TScan._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TScan._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TScan._Fields.html#line.42">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TTimeRange._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TTimeRange._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TTimeRange._Fields.html
index a28b37a..4c52b16 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TTimeRange._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/generated/TTimeRange._Fields.html
@@ -271,7 +271,7 @@ for (TTimeRange._Fields c : TTimeRange._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift2/generated/TTimeRange._Fields.html" title="enum in org.apache.hadoop.hbase.thrift2.generated">TTimeRange._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift2/generated/TTimeRange._Fields.html#line.47">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift2/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/package-summary.html
index 1d3111e..c9722f7 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift2/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift2/package-summary.html
@@ -116,19 +116,19 @@ There are currently 2 thrift server implementations in HBase, the packages:
 <ul>
   <li>org.apache.hadoop.hbase.thrift: This may one day be marked as depreceated.</li>
   <li>org.apache.hadoop.hbase.thrift2: i.e. this package. This is intended to closely match to the HTable interface and
-  to one day supercede the older thrift (the old thrift mimics an API HBase no longer has).</li>
+  to one day supercede the older thrift (the old thrift mimics an API HBase no longer has).</li>  
 </ul>
 
 <h2><a name="whatisthrift">What is Thrift?</a></h2>
 
-
-<p>"Thrift is a software framework for scalable cross-language services
+  
+<p>"Thrift is a software framework for scalable cross-language services 
 development. It combines a software stack with a code generation engine to
 build services that work efficiently and seamlessly between C++, Java, Python,
 PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk,
 and OCaml. Originally developed at Facebook, Thrift was open sourced in April
 2007 and entered the Apache Incubator in May, 2008".
-From http://thrift.apache.org/</p>
+From http://thrift.apache.org/</p> 
 
 <h2><a name="description">Description</a></h2>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.Base64InputStream.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.Base64InputStream.html b/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.Base64InputStream.html
index 6f905a7..6c14a54 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.Base64InputStream.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.Base64InputStream.html
@@ -259,8 +259,8 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/io/FilterInputStr
  Example: <code>new Base64.Base64InputStream( in, Base64.DECODE )</code></div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - the <tt>InputStream</tt> from which to read data.</dd><dd><code>options</code> - Specified options</dd><dt><span class="strong">Since:</span></dt>
   <dd>2.0</dd>
-<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#ENCODE"><code>Base64.ENCODE</code></a>,
-<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DECODE"><code>Base64.DECODE</code></a>,
+<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#ENCODE"><code>Base64.ENCODE</code></a>, 
+<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DECODE"><code>Base64.DECODE</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DONT_BREAK_LINES"><code>Base64.DONT_BREAK_LINES</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.Base64OutputStream.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.Base64OutputStream.html b/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.Base64OutputStream.html
index d24bf9c..1d3dd8f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.Base64OutputStream.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.Base64OutputStream.html
@@ -283,8 +283,8 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/io/FilterOutputSt
  Example: <code>new Base64.Base64OutputStream( out, Base64.ENCODE )</code></div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>out</code> - the <tt>OutputStream</tt> to which data will be written.</dd><dd><code>options</code> - Specified options.</dd><dt><span class="strong">Since:</span></dt>
   <dd>1.3</dd>
-<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#ENCODE"><code>Base64.ENCODE</code></a>,
-<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DECODE"><code>Base64.DECODE</code></a>,
+<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#ENCODE"><code>Base64.ENCODE</code></a>, 
+<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DECODE"><code>Base64.DECODE</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DONT_BREAK_LINES"><code>Base64.DONT_BREAK_LINES</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.html b/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.html
index 12cffa1..4d7367a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/Base64.html
@@ -699,7 +699,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>serializableObject</code> - The object to encode</dd><dd><code>options</code> - Specified options</dd>
 <dt><span class="strong">Returns:</span></dt><dd>The Base64-encoded object</dd><dt><span class="strong">Since:</span></dt>
   <dd>2.0</dd>
-<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#GZIP"><code>GZIP</code></a>,
+<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#GZIP"><code>GZIP</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DONT_BREAK_LINES"><code>DONT_BREAK_LINES</code></a></dd></dl>
 </li>
 </ul>
@@ -741,9 +741,9 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>source</code> - The data to convert</dd><dd><code>options</code> - Specified options</dd>
 <dt><span class="strong">Returns:</span></dt><dd>encoded byte array</dd><dt><span class="strong">Since:</span></dt>
   <dd>2.0</dd>
-<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#GZIP"><code>GZIP</code></a>,
-<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DONT_BREAK_LINES"><code>DONT_BREAK_LINES</code></a>,
-<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#URL_SAFE"><code>URL_SAFE</code></a>,
+<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#GZIP"><code>GZIP</code></a>, 
+<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DONT_BREAK_LINES"><code>DONT_BREAK_LINES</code></a>, 
+<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#URL_SAFE"><code>URL_SAFE</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#ORDERED"><code>ORDERED</code></a></dd></dl>
 </li>
 </ul>
@@ -789,9 +789,9 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>source</code> - The data to convert</dd><dd><code>off</code> - Offset in array where conversion should begin</dd><dd><code>len</code> - Length of data to convert</dd><dd><code>options</code> - Specified options</dd>
 <dt><span class="strong">Returns:</span></dt><dd>encoded byte array</dd><dt><span class="strong">Since:</span></dt>
   <dd>2.0</dd>
-<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#GZIP"><code>GZIP</code></a>,
-<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DONT_BREAK_LINES"><code>DONT_BREAK_LINES</code></a>,
-<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#URL_SAFE"><code>URL_SAFE</code></a>,
+<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#GZIP"><code>GZIP</code></a>, 
+<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#DONT_BREAK_LINES"><code>DONT_BREAK_LINES</code></a>, 
+<a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#URL_SAFE"><code>URL_SAFE</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#ORDERED"><code>ORDERED</code></a></dd></dl>
 </li>
 </ul>
@@ -822,7 +822,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>source</code> - the array to convert</dd><dd><code>srcOffset</code> - the index where conversion begins</dd><dd><code>destination</code> - the array to hold the conversion</dd><dd><code>destOffset</code> - the index where output will be put</dd><dd><code>options</code> - options for getDecoabet</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the number of decoded bytes converted</dd><dt><span class="strong">Since:</span></dt>
   <dd>1.3</dd>
-<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#URL_SAFE"><code>URL_SAFE</code></a>,
+<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#URL_SAFE"><code>URL_SAFE</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#ORDERED"><code>ORDERED</code></a></dd></dl>
 </li>
 </ul>
@@ -842,7 +842,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>source</code> - The Base64 encoded data</dd><dd><code>off</code> - The offset of where to begin decoding</dd><dd><code>len</code> - The length of characters to decode</dd><dd><code>options</code> - options for getDecodabet</dd>
 <dt><span class="strong">Returns:</span></dt><dd>decoded data</dd><dt><span class="strong">Since:</span></dt>
   <dd>1.3</dd>
-<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#URL_SAFE"><code>URL_SAFE</code></a>,
+<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#URL_SAFE"><code>URL_SAFE</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#ORDERED"><code>ORDERED</code></a></dd></dl>
 </li>
 </ul>
@@ -873,7 +873,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>s</code> - the string to decode</dd><dd><code>options</code> - options for decode</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the decoded data</dd><dt><span class="strong">Since:</span></dt>
   <dd>1.4</dd>
-<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#URL_SAFE"><code>URL_SAFE</code></a>,
+<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#URL_SAFE"><code>URL_SAFE</code></a>, 
 <a href="../../../../../org/apache/hadoop/hbase/util/Base64.html#ORDERED"><code>ORDERED</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/ByteBloomFilter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/ByteBloomFilter.html b/0.94/apidocs/org/apache/hadoop/hbase/util/ByteBloomFilter.html
index 447535a..c6f64ae 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/ByteBloomFilter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/ByteBloomFilter.html
@@ -140,7 +140,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/util/BloomFilter.html
  bloom size m = -(n * ln(err) / (ln(2)^2) ~= n * ln(err) / ln(0.6185)
 
  The probability of false positives is minimized when k = m/n ln(2).</div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/BloomFilter.html" title="interface in org.apache.hadoop.hbase.util"><code>The general behavior of a filter</code></a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/BloomFilter.html" title="interface in org.apache.hadoop.hbase.util"><code>The general behavior of a filter</code></a>, 
 <a
       href="http://portal.acm.org/citation.cfm?id=362692&dl=ACM&coll=portal">
       Space/Time Trade-Offs in Hash Coding with Allowable Errors</a></dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/ChecksumFactory.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/ChecksumFactory.html b/0.94/apidocs/org/apache/hadoop/hbase/util/ChecksumFactory.html
index bb22aff..8ccc6f0 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/ChecksumFactory.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/ChecksumFactory.html
@@ -211,7 +211,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
                                      throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns a Constructor that can be used to create a Checksum object.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>theClass</code> - classname for which an constructor is created</dd>
-<dt><span class="strong">Returns:</span></dt><dd>The Constructor that can be used to create a
+<dt><span class="strong">Returns:</span></dt><dd>The Constructor that can be used to create a 
  new Checksum object.</dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/ChecksumType.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/ChecksumType.html b/0.94/apidocs/org/apache/hadoop/hbase/util/ChecksumType.html
index 5e03b72..5280006 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/ChecksumType.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/ChecksumType.html
@@ -108,7 +108,7 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util">ChecksumType</a>&gt;</pre>
 <div class="block">Checksum types. The Checksum type is a one byte number
  that stores a representation of the checksum algorithm
- used to encode a hfile. The ordinal of these cannot
+ used to encode a hfile. The ordinal of these cannot 
  change or else you risk breaking all existing HFiles out there.</div>
 </li>
 </ul>
@@ -318,7 +318,7 @@ for (ChecksumType c : ChecksumType.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util">ChecksumType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ChecksumType.html#line.180">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html b/0.94/apidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html
index cfca2cb..4bf8f5f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/FSTableDescriptors.html
@@ -106,7 +106,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html
  passed filesystem.  It expects descriptors to be in a file under the
  table's directory in FS.  Can be read-only -- i.e. does not modify
  the filesystem or can be read and write.
-
+ 
  <p>Also has utility for keeping up the table descriptors tableinfo file.
  The table schema file is kept under the table directory in the filesystem.
  It has a <a href="../../../../../org/apache/hadoop/hbase/util/FSTableDescriptors.html#TABLEINFO_NAME"><code>TABLEINFO_NAME</code></a> prefix and then a suffix that is the

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html b/0.94/apidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html
index 8f1ad54..79f12f9 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html
@@ -554,7 +554,7 @@ for (HBaseFsck.ErrorReporter.ERROR_CODE c : HBaseFsck.ErrorReporter.ERROR_CODE.v
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util">HBaseFsck.ErrorReporter.ERROR_CODE</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html#line.2949">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/HasThread.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/HasThread.html b/0.94/apidocs/org/apache/hadoop/hbase/util/HasThread.html
index ec93f1d..58c5726 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/HasThread.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/HasThread.html
@@ -108,7 +108,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 implements <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></pre>
 <div class="block">Abstract class which contains a Thread and delegates the common Thread
  methods to that instance.
-
+ 
  The purpose of this class is to workaround Sun JVM bug #6915621, in which
  something internal to the JDK uses Thread.currentThread() as a monitor
  lock. This can produce deadlocks like HBASE-4367, HBASE-4101, etc.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/Hash.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/Hash.html b/0.94/apidocs/org/apache/hadoop/hbase/util/Hash.html
index dae4530..e5e565a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/Hash.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/Hash.html
@@ -220,7 +220,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
         int&nbsp;offset,
         int&nbsp;length,
         int&nbsp;initval)</code>
-<div class="block">Calculate a hash using bytes from <code>offset</code> to <code>offset +
+<div class="block">Calculate a hash using bytes from <code>offset</code> to <code>offset + 
  length</code>, and the provided seed value.</div>
 </td>
 </tr>
@@ -415,7 +415,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
        int&nbsp;offset,
        int&nbsp;length,
        int&nbsp;initval)</pre>
-<div class="block">Calculate a hash using bytes from <code>offset</code> to <code>offset +
+<div class="block">Calculate a hash using bytes from <code>offset</code> to <code>offset + 
  length</code>, and the provided seed value.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>bytes</code> - input bytes</dd><dd><code>offset</code> - the offset into the array to start consideration</dd><dd><code>length</code> - length of the valid bytes after offset to consider</dd><dd><code>initval</code> - seed value</dd>
 <dt><span class="strong">Returns:</span></dt><dd>hash value</dd></dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/JenkinsHash.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/JenkinsHash.html b/0.94/apidocs/org/apache/hadoop/hbase/util/JenkinsHash.html
index 318873e..996e9a4 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/JenkinsHash.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/JenkinsHash.html
@@ -109,9 +109,9 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/Hash.html" title="c
  You can use this free for any purpose.  It's in the public domain.
  It has no warranty.
  </pre></div>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="http://burtleburtle.net/bob/c/lookup3.c">lookup3.c</a>,
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="http://burtleburtle.net/bob/c/lookup3.c">lookup3.c</a>, 
 <a href="http://www.ddj.com/184410284">Hash Functions (and how this
- function compares to others such as CRC, MD?, etc</a>,
+ function compares to others such as CRC, MD?, etc</a>, 
 <a href="http://burtleburtle.net/bob/hash/doobs.html">Has update on the
  Dr. Dobbs Article</a></dd></dl>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/Keying.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/Keying.html b/0.94/apidocs/org/apache/hadoop/hbase/util/Keying.html
index 5ab306d..02587a5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/Keying.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/Keying.html
@@ -213,7 +213,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
  (until we do more work).</p></div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>u</code> - URL to transform.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>An opaque URI of artificial 'r' scheme with host portion of URI
- authority reversed (if present).</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Keying.html#keyToUri(java.lang.String)"><code>keyToUri(String)</code></a>,
+ authority reversed (if present).</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/util/Keying.html#keyToUri(java.lang.String)"><code>keyToUri(String)</code></a>, 
 <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC2396</a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/MurmurHash.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/MurmurHash.html b/0.94/apidocs/org/apache/hadoop/hbase/util/MurmurHash.html
index f29a55f..277a7b5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/MurmurHash.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/MurmurHash.html
@@ -167,7 +167,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/Hash.html" title="c
         int&nbsp;offset,
         int&nbsp;length,
         int&nbsp;seed)</code>
-<div class="block">Calculate a hash using bytes from <code>offset</code> to <code>offset +
+<div class="block">Calculate a hash using bytes from <code>offset</code> to <code>offset + 
  length</code>, and the provided seed value.</div>
 </td>
 </tr>
@@ -237,7 +237,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/Hash.html" title="c
        int&nbsp;length,
        int&nbsp;seed)</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/Hash.html#hash(byte[],%20int,%20int,%20int)">Hash</a></code></strong></div>
-<div class="block">Calculate a hash using bytes from <code>offset</code> to <code>offset +
+<div class="block">Calculate a hash using bytes from <code>offset</code> to <code>offset + 
  length</code>, and the provided seed value.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/PoolMap.PoolType.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/PoolMap.PoolType.html b/0.94/apidocs/org/apache/hadoop/hbase/util/PoolMap.PoolType.html
index 80966af..40c25a4 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/PoolMap.PoolType.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/PoolMap.PoolType.html
@@ -268,7 +268,7 @@ for (PoolMap.PoolType c : PoolMap.PoolType.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util">PoolMap.PoolType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/PoolMap.PoolType.html#line.26">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/RegionSplitCalculator.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/RegionSplitCalculator.html b/0.94/apidocs/org/apache/hadoop/hbase/util/RegionSplitCalculator.html
index e064764..89f93fa 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/RegionSplitCalculator.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/RegionSplitCalculator.html
@@ -103,11 +103,11 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
  and rejects backwards ranges. Then one calls calcRegions to generate the
  multimap that has a start split key as a key and possibly multiple Ranges as
  members.
-
+ 
  To traverse, one normally would get the split set, and iterate through the
  calcRegions. Normal regions would have only one entry, holes would have zero,
  and any overlaps would have multiple entries.
-
+ 
  The interface is a bit cumbersome currently but is exposed this way so that
  clients can choose how to iterate through the region splits.</div>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/ShutdownHookManager.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/ShutdownHookManager.html b/0.94/apidocs/org/apache/hadoop/hbase/util/ShutdownHookManager.html
index 176abdf..6fa1bfe 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/ShutdownHookManager.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/ShutdownHookManager.html
@@ -99,7 +99,7 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">This class provides ShutdownHookManager shims for HBase to interact with the Hadoop 1.0.x and the
  Hadoop 2.0+ series.
-
+ 
  NOTE: No testing done against 0.22.x, or 0.21.x.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.html b/0.94/apidocs/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.html
index 403239b..f947368 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.html
@@ -101,10 +101,10 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
  are any problem detected, it will fail suggesting actions for the user to do
  to "fix" problems. If it succeeds, it will backup the previous .META. and
  -ROOT- dirs and write new tables in place.
-
+ 
  This is an advanced feature, so is only exposed for use if explicitly
  mentioned.
-
+ 
  hbase org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair ...</div>
 </li>
 </ul>


[18/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
index 014b293..da0f54b 100644
--- a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
+++ b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
@@ -34,527 +34,530 @@
 <span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import org.apache.hadoop.io.RawComparator;<a name="line.27"></a>
 <span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>/**<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * Compress using:<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * - store size of common prefix<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * - save column family once, it is same within HFile<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * - use bits to avoid duplication key length, value length<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *   and type if it same as previous<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * - store in 3 bits length of timestamp field<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * - allow diff in timestamp instead of actual value<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * Format:<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * - 1 byte:    flag<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * - 1-5 bytes: prefix length<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * - 1-8 bytes: timestamp or diff<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * - ... bytes: value<a name="line.48"></a>
-<span class="sourceLineNo">049</span> */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    long timestamp;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    byte[] familyNameWithSize;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @Override<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      timestamp = in.getLong();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @Override<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    void copyFrom(CompressionState state) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      super.copyFrom(state);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      timestamp = state2.timestamp;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      ByteBuffer in) throws IOException {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    byte flag = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    int kvPos = in.position();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int keyLength = in.getInt();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    int valueLength = in.getInt();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    long timestamp;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    long diffTimestamp = 0;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    int diffTimestampFitsInBytes = 0;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>    int commonPrefix;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    int timestampFitsInBytes;<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>    if (previousState.isFirst()) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      currentState.prevOffset = kvPos;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      timestamp = currentState.timestamp;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (timestamp &lt; 0) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        timestamp = -timestamp;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      commonPrefix = 0;<a name="line.103"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Compress using:<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * - store size of common prefix<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * - save column family once, it is same within HFile<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * - use bits to avoid duplication key length, value length<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *   and type if it same as previous<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * - store in 3 bits length of timestamp field<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * - allow diff in timestamp instead of actual value<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * Format:<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * - 1 byte:    flag<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * - 1-5 bytes: prefix length<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * - 1-8 bytes: timestamp or diff<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * - ... bytes: value<a name="line.50"></a>
+<span class="sourceLineNo">051</span> */<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@InterfaceAudience.Private<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    long timestamp;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    byte[] familyNameWithSize;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @Override<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      timestamp = in.getLong();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    void copyFrom(CompressionState state) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      super.copyFrom(state);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      timestamp = state2.timestamp;<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><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      ByteBuffer in) throws IOException {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    byte flag = 0;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    int kvPos = in.position();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    int keyLength = in.getInt();<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    int valueLength = in.getInt();<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>    long timestamp;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    long diffTimestamp = 0;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    int diffTimestampFitsInBytes = 0;<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>    int commonPrefix;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>    int timestampFitsInBytes;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>    if (previousState.isFirst()) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      currentState.prevOffset = kvPos;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      timestamp = currentState.timestamp;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      if (timestamp &lt; 0) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        timestamp = -timestamp;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.103"></a>
 <span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // put column family<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      in.mark();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.109"></a>
-<span class="sourceLineNo">110</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      in.reset();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    } else {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      // find a common prefix and skip it<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      commonPrefix =<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.115"></a>
-<span class="sourceLineNo">116</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.116"></a>
-<span class="sourceLineNo">117</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      // don't compress timestamp and type using prefix<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          commonPrefix, previousState);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      currentState.prevOffset = kvPos;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      timestamp = currentState.timestamp;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      if (negativeTimestamp) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>        timestamp = -timestamp;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (keyLength == previousState.keyLength) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      if (valueLength == previousState.valueLength) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.134"></a>
+<span class="sourceLineNo">105</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      commonPrefix = 0;<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>      // put column family<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      in.mark();<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.110"></a>
+<span class="sourceLineNo">111</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      in.reset();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    } else {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      // find a common prefix and skip it<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      commonPrefix =<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.118"></a>
+<span class="sourceLineNo">119</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.119"></a>
+<span class="sourceLineNo">120</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      // don't compress timestamp and type using prefix<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.123"></a>
+<span class="sourceLineNo">124</span>          commonPrefix, previousState);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      currentState.prevOffset = kvPos;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      timestamp = currentState.timestamp;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      if (negativeTimestamp) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        timestamp = -timestamp;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>      if (keyLength == previousState.keyLength) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.134"></a>
 <span class="sourceLineNo">135</span>      }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      if (currentState.type == previousState.type) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_TYPE;<a name="line.137"></a>
+<span class="sourceLineNo">136</span>      if (valueLength == previousState.valueLength) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>      }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>      // encode timestamp<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      if (minusDiffTimestamp) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        diffTimestamp = -diffTimestamp;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        if (minusDiffTimestamp) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      } else {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        if (negativeTimestamp) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>    out.write(flag);<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.167"></a>
+<span class="sourceLineNo">139</span>      if (currentState.type == previousState.type) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        flag |= FLAG_SAME_TYPE;<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>      // encode timestamp<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      if (minusDiffTimestamp) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        diffTimestamp = -diffTimestamp;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        if (minusDiffTimestamp) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      } else {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        if (negativeTimestamp) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>    out.write(flag);<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.171"></a>
+<span class="sourceLineNo">169</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<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>    if (previousState.isFirst() ||<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      int restRowLength =<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.178"></a>
-<span class="sourceLineNo">179</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    } else {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.182"></a>
-<span class="sourceLineNo">183</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    } else {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      out.write(currentState.type);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">173</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>    if (previousState.isFirst() ||<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      int restRowLength =<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    } else {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.185"></a>
+<span class="sourceLineNo">186</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    } else {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      out.write(currentState.type);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      ByteBuffer buffer,<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      DiffCompressionState state)<a name="line.202"></a>
-<span class="sourceLineNo">203</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // read the column family at the beginning<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (state.isFirst()) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      state.familyLength = source.readByte();<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      state.familyNameWithSize =<a name="line.207"></a>
-<span class="sourceLineNo">208</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>          state.familyLength);<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // read flag<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    byte flag = source.readByte();<a name="line.215"></a>
+<span class="sourceLineNo">200</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      ByteBuffer buffer,<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      DiffCompressionState state)<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    // read the column family at the beginning<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    if (state.isFirst()) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      state.familyLength = source.readByte();<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      state.familyNameWithSize =<a name="line.210"></a>
+<span class="sourceLineNo">211</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          state.familyLength);<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>    // read key/value/common lengths<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    int keyLength;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    int valueLength;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      keyLength = state.keyLength;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      valueLength = state.valueLength;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    } else {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // create KeyValue buffer and fill it prefix<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    int keyOffset = buffer.position();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.234"></a>
-<span class="sourceLineNo">235</span>        + KeyValue.ROW_OFFSET);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    buffer.putInt(keyLength);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    buffer.putInt(valueLength);<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // copy common from previous key<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    if (commonPrefix &gt; 0) {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // copy the rest of the key from the buffer<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    int keyRestLength;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      // omit the family part of the key, it is always the same<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      short rowLength;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      int rowRestLength;<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>      // check length of row<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        // not yet copied, do it now<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        rowLength = buffer.getShort();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        rowRestLength = rowLength;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        // already in buffer, just read it<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>      // copy the rest of row<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      state.rowLength = rowLength;<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>      // copy the column family<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      buffer.put(state.familyNameWithSize);<a name="line.272"></a>
+<span class="sourceLineNo">217</span>    // read flag<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    byte flag = source.readByte();<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // read key/value/common lengths<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    int keyLength;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    int valueLength;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      keyLength = state.keyLength;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    } else {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      valueLength = state.valueLength;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    } else {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>    // create KeyValue buffer and fill it prefix<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    int keyOffset = buffer.position();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        + KeyValue.ROW_OFFSET);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    buffer.putInt(keyLength);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    buffer.putInt(valueLength);<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>    // copy common from previous key<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    if (commonPrefix &gt; 0) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.244"></a>
+<span class="sourceLineNo">245</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>    // copy the rest of the key from the buffer<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    int keyRestLength;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      // omit the family part of the key, it is always the same<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      short rowLength;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      int rowRestLength;<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>      // check length of row<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        // not yet copied, do it now<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.259"></a>
+<span class="sourceLineNo">260</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        rowLength = buffer.getShort();<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        rowRestLength = rowLength;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      } else {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        // already in buffer, just read it<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<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>      // copy the rest of row<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      state.rowLength = rowLength;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>      keyRestLength = keyLength - rowLength -<a name="line.274"></a>
-<span class="sourceLineNo">275</span>          state.familyNameWithSize.length -<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>    // handle timestamp<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    int timestampFitsInBytes =<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      timestamp = -timestamp;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      timestamp = state.timestamp - timestamp;<a name="line.292"></a>
+<span class="sourceLineNo">274</span>      // copy the column family<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      buffer.put(state.familyNameWithSize);<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>      keyRestLength = keyLength - rowLength -<a name="line.277"></a>
+<span class="sourceLineNo">278</span>          state.familyNameWithSize.length -<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    } else {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    // handle timestamp<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    int timestampFitsInBytes =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      timestamp = -timestamp;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    }<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    buffer.putLong(timestamp);<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    // copy the type field<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    byte type;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      type = state.type;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    } else {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      type = source.readByte();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    buffer.put(type);<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>    // copy value part<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.306"></a>
+<span class="sourceLineNo">294</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      timestamp = state.timestamp - timestamp;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    }<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    buffer.putLong(timestamp);<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>    // copy the type field<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    byte type;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      type = state.type;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    } else {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      type = source.readByte();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    buffer.put(type);<a name="line.306"></a>
 <span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    state.keyLength = keyLength;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    state.valueLength = valueLength;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    state.prevOffset = keyOffset;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    state.timestamp = timestamp;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    state.type = type;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    // state.qualifier is unused<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public void compressKeyValues(DataOutputStream out,<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    in.rewind();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    while (in.hasRemaining()) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      compressSingleKeyValue(previousState, currentState,<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          out, in);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>      // swap previousState &lt;-&gt; currentState<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      DiffCompressionState tmp = previousState;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      previousState = currentState;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      currentState = tmp;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      throws IOException {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    int decompressedSize = source.readInt();<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        allocHeaderLength);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    buffer.position(allocHeaderLength);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    while (source.available() &gt; skipLastBytes) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    if (source.available() != skipLastBytes) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return buffer;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>  }<a name="line.354"></a>
+<span class="sourceLineNo">308</span>    // copy value part<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    state.keyLength = keyLength;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    state.valueLength = valueLength;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    state.prevOffset = keyOffset;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    state.timestamp = timestamp;<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    state.type = type;<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    // state.qualifier is unused<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>  @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public void compressKeyValues(DataOutputStream out,<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    in.rewind();<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    while (in.hasRemaining()) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      compressSingleKeyValue(previousState, currentState,<a name="line.327"></a>
+<span class="sourceLineNo">328</span>          out, in);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>      // swap previousState &lt;-&gt; currentState<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      DiffCompressionState tmp = previousState;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      previousState = currentState;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      currentState = tmp;<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  }<a name="line.336"></a>
+<span class="sourceLineNo">337</span><a name="line.337"></a>
+<span class="sourceLineNo">338</span>  @Override<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      throws IOException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    int decompressedSize = source.readInt();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        allocHeaderLength);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    buffer.position(allocHeaderLength);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    while (source.available() &gt; skipLastBytes) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (source.available() != skipLastBytes) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
 <span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>  @Override<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    block.mark();<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    block.position(Bytes.SIZEOF_INT);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    byte familyLength = block.get();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    byte flag = block.get();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>    // copy row<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    int pos = result.arrayOffset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    short rowLength = result.getShort();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    block.get(result.array(), pos, rowLength);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    pos += rowLength;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    // copy family<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    int savePosition = block.position();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    block.position(Bytes.SIZEOF_INT);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.380"></a>
-<span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // copy qualifier<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    block.position(savePosition);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    int qualifierLength =<a name="line.384"></a>
-<span class="sourceLineNo">385</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    block.get(result.array(), pos, qualifierLength);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    pos += qualifierLength;<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // copy the timestamp and type<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    int timestampFitInBytes =<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      timestamp = -timestamp;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    result.putLong(pos, timestamp);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    pos += Bytes.SIZEOF_LONG;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>    block.reset();<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return result;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  @Override<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public String toString() {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>  protected static class DiffSeekerState extends SeekerState {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    private int rowLengthWithSize;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    private long timestamp;<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>    @Override<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    protected void copyFromNext(SeekerState that) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      super.copyFromNext(that);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      timestamp = other.timestamp;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @Override<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      final boolean includesMemstoreTS) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      private byte[] familyNameWithSize;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.427"></a>
-<span class="sourceLineNo">428</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>      private void decode(boolean isFirst) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        byte flag = currentBuffer.get();<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        byte type = 0;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          if (!isFirst) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          current.valueLength =<a name="line.440"></a>
-<span class="sourceLineNo">441</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        }<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        current.lastCommonPrefix =<a name="line.443"></a>
-<span class="sourceLineNo">444</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>        current.ensureSpaceForKey();<a name="line.446"></a>
-<span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          // length of row is different, copy everything except family<a name="line.449"></a>
+<span class="sourceLineNo">356</span>    return buffer;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    block.mark();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    block.position(Bytes.SIZEOF_INT);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    byte familyLength = block.get();<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    byte flag = block.get();<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    // copy row<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    int pos = result.arrayOffset();<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    short rowLength = result.getShort();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    block.get(result.array(), pos, rowLength);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    pos += rowLength;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    // copy family<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    int savePosition = block.position();<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    block.position(Bytes.SIZEOF_INT);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.383"></a>
+<span class="sourceLineNo">384</span><a name="line.384"></a>
+<span class="sourceLineNo">385</span>    // copy qualifier<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    block.position(savePosition);<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    int qualifierLength =<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    block.get(result.array(), pos, qualifierLength);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    pos += qualifierLength;<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    // copy the timestamp and type<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    int timestampFitInBytes =<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      timestamp = -timestamp;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    result.putLong(pos, timestamp);<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    pos += Bytes.SIZEOF_LONG;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>    block.reset();<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    return result;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  @Override<a name="line.407"></a>
+<span class="sourceLineNo">408</span>  public String toString() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<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>  protected static class DiffSeekerState extends SeekerState {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    private int rowLengthWithSize;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    private long timestamp;<a name="line.414"></a>
+<span class="sourceLineNo">415</span><a name="line.415"></a>
+<span class="sourceLineNo">416</span>    @Override<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    protected void copyFromNext(SeekerState that) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      super.copyFromNext(that);<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      timestamp = other.timestamp;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  @Override<a name="line.425"></a>
+<span class="sourceLineNo">426</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      final boolean includesMemstoreTS) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      private byte[] familyNameWithSize;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.430"></a>
+<span class="sourceLineNo">431</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>      private void decode(boolean isFirst) {<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        byte flag = currentBuffer.get();<a name="line.434"></a>
+<span class="sourceLineNo">435</span>        byte type = 0;<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>          if (!isFirst) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          }<a name="line.439"></a>
+<span class="sourceLineNo">440</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>          current.valueLength =<a name="line.443"></a>
+<span class="sourceLineNo">444</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>        }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        current.lastCommonPrefix =<a name="line.446"></a>
+<span class="sourceLineNo">447</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.447"></a>
+<span class="sourceLineNo">448</span><a name="line.448"></a>
+<span class="sourceLineNo">449</span>        current.ensureSpaceForKey();<a name="line.449"></a>
 <span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>          // copy the row size<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.454"></a>
-<span class="sourceLineNo">455</span>              Bytes.SIZEOF_SHORT;<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span>          // copy the rest of row<a name="line.457"></a>
-<span class="sourceLineNo">458</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.458"></a>
-<span class="sourceLineNo">459</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.459"></a>
-<span class="sourceLineNo">460</span><a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // copy the column family<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          System.arraycopy(familyNameWithSize, 0, current.keyBuffer,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>              current.rowLengthWithSize, familyNameWithSize.length);<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>          // copy the qualifier<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          currentBuffer.get(current.keyBuffer,<a name="line.466"></a>
-<span class="sourceLineNo">467</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.467"></a>
-<span class="sourceLineNo">468</span>              current.keyLength - current.rowLengthWithSize -<a name="line.468"></a>
-<span class="sourceLineNo">469</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        } else if (current.lastCommonPrefix &lt; current.rowLengthWithSize) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>          // we have to copy part of row and qualifier,<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          // but column family is in right place<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>          // before column family (rest of row)<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>              current.rowLengthWithSize - current.lastCommonPrefix);<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>          // after column family (qualifier)<a name="line.478"></a>
-<span class="sourceLineNo">479</span>          currentBuffer.get(current.keyBuffer,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.480"></a>
-<span class="sourceLineNo">481</span>              current.keyLength - current.rowLengthWithSize -<a name="line.481"></a>
-<span class="sourceLineNo">482</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>        } else {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>          // copy just the ending<a name="line.484"></a>
-<span class="sourceLineNo">485</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH -<a name="line.486"></a>
-<span class="sourceLineNo">487</span>              current.lastCommonPrefix);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        }<a name="line.488"></a>
-<span class="sourceLineNo">489</span><a name="line.489"></a>
-<span class="sourceLineNo">490</span>        // timestamp<a name="line.490"></a>
-<span class="sourceLineNo">491</span>        int pos = current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        int timestampFitInBytes = 1 +<a name="line.492"></a>
-<span class="sourceLineNo">493</span>            ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        long timestampOrDiff =<a name="line.494"></a>
-<span class="sourceLineNo">495</span>            ByteBufferUtils.readLong(currentBuffer, timestampFitInBytes);<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>          timestampOrDiff = -timestampOrDiff;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) { // it is timestamp<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          current.timestamp = timestampOrDiff;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        } else { // it is diff<a name="line.501"></a>
-<span class="sourceLineNo">502</span>          current.timestamp = current.timestamp - timestampOrDiff;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        }<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        Bytes.putLong(current.keyBuffer, pos, current.timestamp);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        pos += Bytes.SIZEOF_LONG;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>        // type<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          currentBuffer.get(current.keyBuffer, pos, Bytes.SIZEOF_BYTE);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        } else if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          current.keyBuffer[pos] = type;<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>        current.valueOffset = currentBuffer.position();<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.515"></a>
+<span class="sourceLineNo">451</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          // length of row is different, copy everything except family<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>          // copy the row size<a name="line.454"></a>
+<span class="sourceLineNo">455</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.455"></a>
+<span class="sourceLineNo">456</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.457"></a>
+<span class="sourceLineNo">458</span>              Bytes.SIZEOF_SHORT;<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span>          // copy the rest of row<a name="line.460"></a>
+<span class="sourceLineNo">461</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.461"></a>
+<span class="sourceLineNo">462</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.462"></a>
+<span class="sourceLineNo">463</span><a name="line.463"></a>
+<span class="sourceLineNo">464</span>          // copy the column family<a name="line.464"></a>
+<span class="sourceLineNo">465</span>          System.ar

<TRUNCATED>

[06/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
index f862b85..708ba7d 100644
--- a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
+++ b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/PrefixKeyDeltaEncoder.html
@@ -34,174 +34,177 @@
 <span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import org.apache.hadoop.io.RawComparator;<a name="line.27"></a>
 <span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>/**<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * Compress key by storing size of common prefix with previous KeyValue<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * and storing raw size of rest.<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * Format:<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * 1-5 bytes: compressed key length minus prefix (7-bit encoding)<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * 1-5 bytes: compressed value length (7-bit encoding)<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * 1-3 bytes: compressed length of common key prefix<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * ... bytes: rest of key (including timestamp)<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * ... bytes: value<a name="line.38"></a>
-<span class="sourceLineNo">039</span> *<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * In a worst case compressed KeyValue will be three bytes longer than original.<a name="line.40"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Compress key by storing size of common prefix with previous KeyValue<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * and storing raw size of rest.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Format:<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * 1-5 bytes: compressed key length minus prefix (7-bit encoding)<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * 1-5 bytes: compressed value length (7-bit encoding)<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * 1-3 bytes: compressed length of common key prefix<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * ... bytes: rest of key (including timestamp)<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * ... bytes: value<a name="line.40"></a>
 <span class="sourceLineNo">041</span> *<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>public class PrefixKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>  private int addKV(int prevKeyOffset, DataOutputStream out,<a name="line.45"></a>
-<span class="sourceLineNo">046</span>      ByteBuffer in, int prevKeyLength) throws IOException {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    int keyLength = in.getInt();<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    int valueLength = in.getInt();<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>    if (prevKeyOffset == -1) {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      // copy the key, there is no common prefix with none<a name="line.51"></a>
-<span class="sourceLineNo">052</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.52"></a>
-<span class="sourceLineNo">053</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.53"></a>
-<span class="sourceLineNo">054</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.54"></a>
-<span class="sourceLineNo">055</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    } else {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>      // find a common prefix and skip it<a name="line.57"></a>
-<span class="sourceLineNo">058</span>      int common = ByteBufferUtils.findCommonPrefix(<a name="line.58"></a>
-<span class="sourceLineNo">059</span>          in, prevKeyOffset + KeyValue.ROW_OFFSET,<a name="line.59"></a>
-<span class="sourceLineNo">060</span>          in.position(),<a name="line.60"></a>
-<span class="sourceLineNo">061</span>          Math.min(prevKeyLength, keyLength));<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>      ByteBufferUtils.putCompressedInt(out, keyLength - common);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      ByteBufferUtils.putCompressedInt(out, common);<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>      ByteBufferUtils.skip(in, common);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength - common<a name="line.68"></a>
-<span class="sourceLineNo">069</span>          + valueLength);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>    return keyLength;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  }<a name="line.73"></a>
+<span class="sourceLineNo">042</span> * In a worst case compressed KeyValue will be three bytes longer than original.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *<a name="line.43"></a>
+<span class="sourceLineNo">044</span> */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>@InterfaceAudience.Private<a name="line.45"></a>
+<span class="sourceLineNo">046</span>public class PrefixKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  private int addKV(int prevKeyOffset, DataOutputStream out,<a name="line.48"></a>
+<span class="sourceLineNo">049</span>      ByteBuffer in, int prevKeyLength) throws IOException {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    int keyLength = in.getInt();<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    int valueLength = in.getInt();<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>    if (prevKeyOffset == -1) {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>      // copy the key, there is no common prefix with none<a name="line.54"></a>
+<span class="sourceLineNo">055</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.55"></a>
+<span class="sourceLineNo">056</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    } else {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      // find a common prefix and skip it<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      int common = ByteBufferUtils.findCommonPrefix(<a name="line.61"></a>
+<span class="sourceLineNo">062</span>          in, prevKeyOffset + KeyValue.ROW_OFFSET,<a name="line.62"></a>
+<span class="sourceLineNo">063</span>          in.position(),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>          Math.min(prevKeyLength, keyLength));<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>      ByteBufferUtils.putCompressedInt(out, keyLength - common);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      ByteBufferUtils.putCompressedInt(out, common);<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>      ByteBufferUtils.skip(in, common);<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength - common<a name="line.71"></a>
+<span class="sourceLineNo">072</span>          + valueLength);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
 <span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  @Override<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public void compressKeyValues(DataOutputStream writeHere,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    in.rewind();<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    ByteBufferUtils.putInt(writeHere, in.limit());<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    int prevOffset = -1;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int offset = 0;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    int keyLength = 0;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    while (in.hasRemaining()) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      offset = in.position();<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      keyLength = addKV(prevOffset, writeHere, in, keyLength);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      afterEncodingKeyValue(in, writeHere, includesMemstoreTS);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      prevOffset = offset;<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><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  @Override<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.93"></a>
-<span class="sourceLineNo">094</span>          throws IOException {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    int decompressedSize = source.readInt();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        allocHeaderLength);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    buffer.position(allocHeaderLength);<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    int prevKeyOffset = 0;<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>    while (source.available() &gt; skipLastBytes) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      prevKeyOffset = uncompressKeyValue(source, buffer, prevKeyOffset);<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>    if (source.available() != skipLastBytes) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      throw new IllegalStateException("Read too many bytes.");<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>    buffer.limit(buffer.position());<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    return buffer;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  private int uncompressKeyValue(DataInputStream source, ByteBuffer buffer,<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      int prevKeyOffset)<a name="line.115"></a>
-<span class="sourceLineNo">116</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    int keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    int valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    int keyOffset;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    keyLength += commonLength;<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        + KeyValue.ROW_OFFSET);<a name="line.124"></a>
+<span class="sourceLineNo">075</span>    return keyLength;<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>  @Override<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public void compressKeyValues(DataOutputStream writeHere,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    in.rewind();<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    ByteBufferUtils.putInt(writeHere, in.limit());<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    int prevOffset = -1;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    int offset = 0;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    int keyLength = 0;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    while (in.hasRemaining()) {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      offset = in.position();<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      keyLength = addKV(prevOffset, writeHere, in, keyLength);<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      afterEncodingKeyValue(in, writeHere, includesMemstoreTS);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      prevOffset = offset;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    }<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  @Override<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.96"></a>
+<span class="sourceLineNo">097</span>          throws IOException {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    int decompressedSize = source.readInt();<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        allocHeaderLength);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    buffer.position(allocHeaderLength);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    int prevKeyOffset = 0;<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>    while (source.available() &gt; skipLastBytes) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      prevKeyOffset = uncompressKeyValue(source, buffer, prevKeyOffset);<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<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>    if (source.available() != skipLastBytes) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      throw new IllegalStateException("Read too many bytes.");<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>    buffer.limit(buffer.position());<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    return buffer;<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>  private int uncompressKeyValue(DataInputStream source, ByteBuffer buffer,<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      int prevKeyOffset)<a name="line.118"></a>
+<span class="sourceLineNo">119</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    int keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    int valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    int keyOffset;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    keyLength += commonLength;<a name="line.124"></a>
 <span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>    buffer.putInt(keyLength);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    buffer.putInt(valueLength);<a name="line.127"></a>
+<span class="sourceLineNo">126</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.126"></a>
+<span class="sourceLineNo">127</span>        + KeyValue.ROW_OFFSET);<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>    // copy the prefix<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    if (commonLength &gt; 0) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      keyOffset = buffer.position();<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, prevKeyOffset,<a name="line.132"></a>
-<span class="sourceLineNo">133</span>          commonLength);<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    } else {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      keyOffset = buffer.position();<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>    // copy rest of the key and value<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    int len = keyLength - commonLength + valueLength;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, len);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    return keyOffset;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  @Override<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    block.mark();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    block.position(Bytes.SIZEOF_INT);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    ByteBufferUtils.readCompressedInt(block);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    int commonLength = ByteBufferUtils.readCompressedInt(block);<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    if (commonLength != 0) {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      throw new AssertionError("Nonzero common length in the first key in "<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          + "block: " + commonLength);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    int pos = block.position();<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    block.reset();<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public String toString() {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return PrefixKeyDeltaEncoder.class.getSimpleName();<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>  @Override<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      final boolean includesMemstoreTS) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return new BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      @Override<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      protected void decodeNext() {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        current.valueLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        current.lastCommonPrefix =<a name="line.173"></a>
-<span class="sourceLineNo">174</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        current.keyLength += current.lastCommonPrefix;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>        current.ensureSpaceForKey();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>        currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.177"></a>
-<span class="sourceLineNo">178</span>            current.keyLength - current.lastCommonPrefix);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>        current.valueOffset = currentBuffer.position();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        if (includesMemstoreTS) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        } else {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>          current.memstoreTS = 0;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        current.nextKvOffset = currentBuffer.position();<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      }<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>      @Override<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      protected void decodeFirst() {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        decodeNext();<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>  }<a name="line.195"></a>
-<span class="sourceLineNo">196</span>}<a name="line.196"></a>
+<span class="sourceLineNo">129</span>    buffer.putInt(keyLength);<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    buffer.putInt(valueLength);<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>    // copy the prefix<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    if (commonLength &gt; 0) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      keyOffset = buffer.position();<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, prevKeyOffset,<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          commonLength);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    } else {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      keyOffset = buffer.position();<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span>    // copy rest of the key and value<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    int len = keyLength - commonLength + valueLength;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, len);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    return keyOffset;<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>  @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    block.mark();<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    block.position(Bytes.SIZEOF_INT);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    ByteBufferUtils.readCompressedInt(block);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    int commonLength = ByteBufferUtils.readCompressedInt(block);<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    if (commonLength != 0) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      throw new AssertionError("Nonzero common length in the first key in "<a name="line.155"></a>
+<span class="sourceLineNo">156</span>          + "block: " + commonLength);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    int pos = block.position();<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    block.reset();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>  @Override<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  public String toString() {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    return PrefixKeyDeltaEncoder.class.getSimpleName();<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>  @Override<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      final boolean includesMemstoreTS) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    return new BufferedEncodedSeeker&lt;SeekerState&gt;(comparator) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      @Override<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      protected void decodeNext() {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        current.valueLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        current.lastCommonPrefix =<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        current.keyLength += current.lastCommonPrefix;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>        current.ensureSpaceForKey();<a name="line.179"></a>
+<span class="sourceLineNo">180</span>        currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.180"></a>
+<span class="sourceLineNo">181</span>            current.keyLength - current.lastCommonPrefix);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        current.valueOffset = currentBuffer.position();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        if (includesMemstoreTS) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        } else {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>          current.memstoreTS = 0;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        }<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        current.nextKvOffset = currentBuffer.position();<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>      @Override<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      protected void decodeFirst() {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        decodeNext();<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      }<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    };<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span>}<a name="line.199"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/failsafe-report.html
----------------------------------------------------------------------
diff --git a/0.94/failsafe-report.html b/0.94/failsafe-report.html
index 82e15ff..09d09fe 100644
--- a/0.94/failsafe-report.html
+++ b/0.94/failsafe-report.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -189,7 +189,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/index.html
----------------------------------------------------------------------
diff --git a/0.94/index.html b/0.94/index.html
index 1d93155..ae93da0 100644
--- a/0.94/index.html
+++ b/0.94/index.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -13,7 +13,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -277,7 +277,7 @@ Apache HBase is an open-source, distributed, versioned, column-oriented store mo
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/integration.html
----------------------------------------------------------------------
diff --git a/0.94/integration.html b/0.94/integration.html
index 716db1c..ce80da3 100644
--- a/0.94/integration.html
+++ b/0.94/integration.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -180,7 +180,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/issue-tracking.html
----------------------------------------------------------------------
diff --git a/0.94/issue-tracking.html b/0.94/issue-tracking.html
index c3694fe..d88c6e7 100644
--- a/0.94/issue-tracking.html
+++ b/0.94/issue-tracking.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -177,7 +177,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/license.html
----------------------------------------------------------------------
diff --git a/0.94/license.html b/0.94/license.html
index f539aa1..ac8c4ea 100644
--- a/0.94/license.html
+++ b/0.94/license.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -380,7 +380,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/mail-lists.html
----------------------------------------------------------------------
diff --git a/0.94/mail-lists.html b/0.94/mail-lists.html
index cb10d53..7c8668d 100644
--- a/0.94/mail-lists.html
+++ b/0.94/mail-lists.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -236,7 +236,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/metrics.html
----------------------------------------------------------------------
diff --git a/0.94/metrics.html b/0.94/metrics.html
index 344c865..f0f2ced 100644
--- a/0.94/metrics.html
+++ b/0.94/metrics.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -15,7 +15,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -347,7 +347,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/old_news.html
----------------------------------------------------------------------
diff --git a/0.94/old_news.html b/0.94/old_news.html
index b0e8e46..d45a201 100644
--- a/0.94/old_news.html
+++ b/0.94/old_news.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -15,7 +15,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -260,7 +260,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/project-info.html
----------------------------------------------------------------------
diff --git a/0.94/project-info.html b/0.94/project-info.html
index 12a80ac..50641e2 100644
--- a/0.94/project-info.html
+++ b/0.94/project-info.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -202,7 +202,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/project-reports.html
----------------------------------------------------------------------
diff --git a/0.94/project-reports.html b/0.94/project-reports.html
index 3ec93dd..bf8880f 100644
--- a/0.94/project-reports.html
+++ b/0.94/project-reports.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -202,7 +202,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/0.94/pseudo-distributed.html b/0.94/pseudo-distributed.html
index f60e1ea..274d714 100644
--- a/0.94/pseudo-distributed.html
+++ b/0.94/pseudo-distributed.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -15,7 +15,7 @@ Running Apache HBase (TM) in pseudo-distributed mode
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -192,7 +192,7 @@ Running Apache HBase (TM) in pseudo-distributed mode
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>


[08/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
index fbb011a..c9f897a 100644
--- a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
+++ b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
@@ -35,523 +35,526 @@
 <span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.27"></a>
 <span class="sourceLineNo">028</span>import org.apache.hadoop.io.RawComparator;<a name="line.28"></a>
 <span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * Encoder similar to {@link DiffKeyDeltaEncoder} but supposedly faster.<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * Compress using:<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * - store size of common prefix<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * - save column family once in the first KeyValue<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * - use bits to avoid duplication key length, value length<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *   and type if it same as previous<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * - store in 3 bits length of prefix timestamp<a name="line.39"></a>
-<span class="sourceLineNo">040</span> *    with previous KeyValue's timestamp<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * - one bit which allow to omit value if it is the same<a name="line.41"></a>
-<span class="sourceLineNo">042</span> *<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Format:<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * - 1 byte:    flag<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * - 1-5 bytes: prefix length<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * - 1-8 bytes: timestamp suffix<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * - ... bytes: value (only if FLAG_SAME_VALUE is not set in the flag)<a name="line.52"></a>
-<span class="sourceLineNo">053</span> *<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class FastDiffDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 0) | (1 &lt;&lt; 1) | (1 &lt;&lt; 2);<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  final int SHIFT_TIMESTAMP_LENGTH = 0;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  final int FLAG_SAME_KEY_LENGTH = 1 &lt;&lt; 3;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 4;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  final int FLAG_SAME_TYPE = 1 &lt;&lt; 5;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  final int FLAG_SAME_VALUE = 1 &lt;&lt; 6;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private static class FastDiffCompressionState extends CompressionState {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    byte[] timestamp = new byte[KeyValue.TIMESTAMP_SIZE];<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    int prevTimestampOffset;<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @Override<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      in.get(timestamp);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>    @Override<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    void copyFrom(CompressionState state) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      super.copyFrom(state);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      FastDiffCompressionState state2 = (FastDiffCompressionState) state;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      System.arraycopy(state2.timestamp, 0, timestamp, 0,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>          KeyValue.TIMESTAMP_SIZE);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      prevTimestampOffset = state2.prevTimestampOffset;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>    /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>     * Copies the first key/value from the given stream, and initializes<a name="line.82"></a>
-<span class="sourceLineNo">083</span>     * decompression state based on it. Assumes that we have already read key<a name="line.83"></a>
-<span class="sourceLineNo">084</span>     * and value lengths. Does not set {@link #qualifierLength} (not used by<a name="line.84"></a>
-<span class="sourceLineNo">085</span>     * decompression) or {@link #prevOffset} (set by the calle afterwards).<a name="line.85"></a>
-<span class="sourceLineNo">086</span>     */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    private void decompressFirstKV(ByteBuffer out, DataInputStream in)<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        throws IOException {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      int kvPos = out.position();<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      out.putInt(keyLength);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      out.putInt(valueLength);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      prevTimestampOffset = out.position() + keyLength -<a name="line.92"></a>
-<span class="sourceLineNo">093</span>          KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      ByteBufferUtils.copyFromStreamToBuffer(out, in, keyLength + valueLength);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      rowLength = out.getShort(kvPos + KeyValue.ROW_OFFSET);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      familyLength = out.get(kvPos + KeyValue.ROW_OFFSET +<a name="line.96"></a>
-<span class="sourceLineNo">097</span>          KeyValue.ROW_LENGTH_SIZE + rowLength);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      type = out.get(prevTimestampOffset + KeyValue.TIMESTAMP_SIZE);<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><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private void compressSingleKeyValue(<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        FastDiffCompressionState previousState,<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        FastDiffCompressionState currentState,<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        OutputStream out, ByteBuffer in) throws IOException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    currentState.prevOffset = in.position();<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int keyLength = in.getInt();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    int valueOffset =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        currentState.prevOffset + keyLength + KeyValue.ROW_OFFSET;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    int valueLength = in.getInt();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    byte flag = 0;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>    if (previousState.isFirst()) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      // copy the key, there is no common prefix with none<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      out.write(flag);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    } else {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      // find a common prefix and skip it<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      int commonPrefix = ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.126"></a>
-<span class="sourceLineNo">127</span>          previousState.prevOffset + KeyValue.ROW_OFFSET,<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          Math.min(keyLength, previousState.keyLength) -<a name="line.128"></a>
-<span class="sourceLineNo">129</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          commonPrefix, previousState);<a name="line.132"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * Encoder similar to {@link DiffKeyDeltaEncoder} but supposedly faster.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Compress using:<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * - store size of common prefix<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * - save column family once in the first KeyValue<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * - use bits to avoid duplication key length, value length<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *   and type if it same as previous<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * - store in 3 bits length of prefix timestamp<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *    with previous KeyValue's timestamp<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * - one bit which allow to omit value if it is the same<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Format:<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * - 1 byte:    flag<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * - 1-5 bytes: prefix length<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * - 1-8 bytes: timestamp suffix<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * - ... bytes: value (only if FLAG_SAME_VALUE is not set in the flag)<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *<a name="line.55"></a>
+<span class="sourceLineNo">056</span> */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>@InterfaceAudience.Private<a name="line.57"></a>
+<span class="sourceLineNo">058</span>public class FastDiffDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 0) | (1 &lt;&lt; 1) | (1 &lt;&lt; 2);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  final int SHIFT_TIMESTAMP_LENGTH = 0;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  final int FLAG_SAME_KEY_LENGTH = 1 &lt;&lt; 3;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 4;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  final int FLAG_SAME_TYPE = 1 &lt;&lt; 5;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  final int FLAG_SAME_VALUE = 1 &lt;&lt; 6;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private static class FastDiffCompressionState extends CompressionState {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    byte[] timestamp = new byte[KeyValue.TIMESTAMP_SIZE];<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    int prevTimestampOffset;<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @Override<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      in.get(timestamp);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>    @Override<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    void copyFrom(CompressionState state) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      super.copyFrom(state);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      FastDiffCompressionState state2 = (FastDiffCompressionState) state;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      System.arraycopy(state2.timestamp, 0, timestamp, 0,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>          KeyValue.TIMESTAMP_SIZE);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      prevTimestampOffset = state2.prevTimestampOffset;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>    /**<a name="line.84"></a>
+<span class="sourceLineNo">085</span>     * Copies the first key/value from the given stream, and initializes<a name="line.85"></a>
+<span class="sourceLineNo">086</span>     * decompression state based on it. Assumes that we have already read key<a name="line.86"></a>
+<span class="sourceLineNo">087</span>     * and value lengths. Does not set {@link #qualifierLength} (not used by<a name="line.87"></a>
+<span class="sourceLineNo">088</span>     * decompression) or {@link #prevOffset} (set by the calle afterwards).<a name="line.88"></a>
+<span class="sourceLineNo">089</span>     */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    private void decompressFirstKV(ByteBuffer out, DataInputStream in)<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        throws IOException {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      int kvPos = out.position();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      out.putInt(keyLength);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      out.putInt(valueLength);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      prevTimestampOffset = out.position() + keyLength -<a name="line.95"></a>
+<span class="sourceLineNo">096</span>          KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      ByteBufferUtils.copyFromStreamToBuffer(out, in, keyLength + valueLength);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      rowLength = out.getShort(kvPos + KeyValue.ROW_OFFSET);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      familyLength = out.get(kvPos + KeyValue.ROW_OFFSET +<a name="line.99"></a>
+<span class="sourceLineNo">100</span>          KeyValue.ROW_LENGTH_SIZE + rowLength);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      type = out.get(prevTimestampOffset + KeyValue.TIMESTAMP_SIZE);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  private void compressSingleKeyValue(<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        FastDiffCompressionState previousState,<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        FastDiffCompressionState currentState,<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        OutputStream out, ByteBuffer in) throws IOException {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    currentState.prevOffset = in.position();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    int keyLength = in.getInt();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    int valueOffset =<a name="line.112"></a>
+<span class="sourceLineNo">113</span>        currentState.prevOffset + keyLength + KeyValue.ROW_OFFSET;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    int valueLength = in.getInt();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    byte flag = 0;<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (previousState.isFirst()) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      // copy the key, there is no common prefix with none<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      out.write(flag);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    } else {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      // find a common prefix and skip it<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      int commonPrefix = ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.129"></a>
+<span class="sourceLineNo">130</span>          previousState.prevOffset + KeyValue.ROW_OFFSET,<a name="line.130"></a>
+<span class="sourceLineNo">131</span>          Math.min(keyLength, previousState.keyLength) -<a name="line.131"></a>
+<span class="sourceLineNo">132</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.132"></a>
 <span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>      if (keyLength == previousState.keyLength) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      if (valueLength == previousState.valueLength) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.138"></a>
+<span class="sourceLineNo">134</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.134"></a>
+<span class="sourceLineNo">135</span>          commonPrefix, previousState);<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>      if (keyLength == previousState.keyLength) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.138"></a>
 <span class="sourceLineNo">139</span>      }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      if (currentState.type == previousState.type) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        flag |= FLAG_SAME_TYPE;<a name="line.141"></a>
+<span class="sourceLineNo">140</span>      if (valueLength == previousState.valueLength) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        flag |= FLAG_SAME_VALUE_LENGTH;<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>      int commonTimestampPrefix = findCommonTimestampPrefix(<a name="line.144"></a>
-<span class="sourceLineNo">145</span>          currentState, previousState);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      flag |= commonTimestampPrefix &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // Check if current and previous values are the same. Compare value<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      // length first as an optimization.<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      if (valueLength == previousState.valueLength) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        int previousValueOffset = previousState.prevOffset<a name="line.151"></a>
-<span class="sourceLineNo">152</span>            + previousState.keyLength + KeyValue.ROW_OFFSET;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        if (ByteBufferUtils.arePartsEqual(in,<a name="line.153"></a>
-<span class="sourceLineNo">154</span>                previousValueOffset, previousState.valueLength,<a name="line.154"></a>
-<span class="sourceLineNo">155</span>                valueOffset, valueLength)) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          flag |= FLAG_SAME_VALUE;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>      out.write(flag);<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.165"></a>
+<span class="sourceLineNo">143</span>      if (currentState.type == previousState.type) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        flag |= FLAG_SAME_TYPE;<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>      int commonTimestampPrefix = findCommonTimestampPrefix(<a name="line.147"></a>
+<span class="sourceLineNo">148</span>          currentState, previousState);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      flag |= commonTimestampPrefix &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>      // Check if current and previous values are the same. Compare value<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      // length first as an optimization.<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      if (valueLength == previousState.valueLength) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        int previousValueOffset = previousState.prevOffset<a name="line.154"></a>
+<span class="sourceLineNo">155</span>            + previousState.keyLength + KeyValue.ROW_OFFSET;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        if (ByteBufferUtils.arePartsEqual(in,<a name="line.156"></a>
+<span class="sourceLineNo">157</span>                previousValueOffset, previousState.valueLength,<a name="line.157"></a>
+<span class="sourceLineNo">158</span>                valueOffset, valueLength)) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          flag |= FLAG_SAME_VALUE;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>      out.write(flag);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.165"></a>
 <span class="sourceLineNo">166</span>      }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>      ByteBufferUtils.skip(in, commonPrefix);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      if (commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        // Previous and current rows are different. Copy the differing part of<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        // the row, skip the column family, and copy the qualifier.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>            currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.175"></a>
-<span class="sourceLineNo">176</span>            KeyValue.FAMILY_LENGTH_SIZE);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.177"></a>
-<span class="sourceLineNo">178</span>            currentState.qualifierLength);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      } else {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        // The common part includes the whole row. As the column family is the<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // same across the whole file, it will automatically be included in the<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        // common prefix, so we need not special-case it here.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        int restKeyLength = keyLength - commonPrefix -<a name="line.183"></a>
-<span class="sourceLineNo">184</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        ByteBufferUtils.moveBufferToStream(out, in, restKeyLength);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      ByteBufferUtils.skip(in, commonTimestampPrefix);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          KeyValue.TIMESTAMP_SIZE - commonTimestampPrefix);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>      // Write the type if it is not the same as before.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        out.write(currentState.type);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>      // Write the value if it is not the same as before.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        ByteBufferUtils.copyBufferToStream(out, in, valueOffset, valueLength);<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>      // Skip key type and value in the input buffer.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      ByteBufferUtils.skip(in, KeyValue.TYPE_SIZE + currentState.valueLength);<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><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  private int findCommonTimestampPrefix(FastDiffCompressionState left,<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      FastDiffCompressionState right) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    int prefixTimestamp = 0;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    while (prefixTimestamp &lt; (KeyValue.TIMESTAMP_SIZE - 1) &amp;&amp;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        left.timestamp[prefixTimestamp]<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            == right.timestamp[prefixTimestamp]) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      prefixTimestamp++;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    return prefixTimestamp; // has to be at most 7 bytes<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>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      ByteBuffer out, FastDiffCompressionState state)<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte flag = source.readByte();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    int prevKeyLength = state.keyLength;<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      state.keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      state.valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.227"></a>
+<span class="sourceLineNo">167</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>      ByteBufferUtils.skip(in, commonPrefix);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      if (commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        // Previous and current rows are different. Copy the differing part of<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // the row, skip the column family, and copy the qualifier.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.178"></a>
+<span class="sourceLineNo">179</span>            KeyValue.FAMILY_LENGTH_SIZE);<a name="line.179"></a>
+<span class="sourceLineNo">180</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.180"></a>
+<span class="sourceLineNo">181</span>            currentState.qualifierLength);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      } else {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>        // The common part includes the whole row. As the column family is the<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        // same across the whole file, it will automatically be included in the<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        // common prefix, so we need not special-case it here.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        int restKeyLength = keyLength - commonPrefix -<a name="line.186"></a>
+<span class="sourceLineNo">187</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        ByteBufferUtils.moveBufferToStream(out, in, restKeyLength);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      }<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      ByteBufferUtils.skip(in, commonTimestampPrefix);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.191"></a>
+<span class="sourceLineNo">192</span>          KeyValue.TIMESTAMP_SIZE - commonTimestampPrefix);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>      // Write the type if it is not the same as before.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>        out.write(currentState.type);<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>      // Write the value if it is not the same as before.<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        ByteBufferUtils.copyBufferToStream(out, in, valueOffset, valueLength);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      }<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>      // Skip key type and value in the input buffer.<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      ByteBufferUtils.skip(in, KeyValue.TYPE_SIZE + currentState.valueLength);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int findCommonTimestampPrefix(FastDiffCompressionState left,<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      FastDiffCompressionState right) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    int prefixTimestamp = 0;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    while (prefixTimestamp &lt; (KeyValue.TIMESTAMP_SIZE - 1) &amp;&amp;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        left.timestamp[prefixTimestamp]<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            == right.timestamp[prefixTimestamp]) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      prefixTimestamp++;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    return prefixTimestamp; // has to be at most 7 bytes<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      ByteBuffer out, FastDiffCompressionState state)<a name="line.221"></a>
+<span class="sourceLineNo">222</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    byte flag = source.readByte();<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    int prevKeyLength = state.keyLength;<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      state.keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    ByteBufferUtils.ensureSpace(out, state.keyLength + state.valueLength +<a name="line.231"></a>
-<span class="sourceLineNo">232</span>        KeyValue.ROW_OFFSET);<a name="line.232"></a>
+<span class="sourceLineNo">229</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      state.valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.232"></a>
 <span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>    int kvPos = out.position();<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    if (!state.isFirst()) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      // copy the prefix<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      int common;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      int prevOffset;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        out.putInt(state.keyLength);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        out.putInt(state.valueLength);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        prevOffset = state.prevOffset + KeyValue.ROW_OFFSET;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        common = commonLength;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      } else {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>          prevOffset = state.prevOffset;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>          common = commonLength + KeyValue.ROW_OFFSET;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        } else {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>          out.putInt(state.keyLength);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          prevOffset = state.prevOffset + KeyValue.KEY_LENGTH_SIZE;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          common = commonLength + KeyValue.KEY_LENGTH_SIZE;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>        }<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      }<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out, prevOffset, common);<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>      // copy the rest of the key from the buffer<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      int keyRestLength;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      if (commonLength &lt; state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        // omit the family part of the key, it is always the same<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        int rowWithSizeLength;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        int rowRestLength;<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>        // check length of row<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (commonLength &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          // not yet copied, do it now<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              KeyValue.ROW_LENGTH_SIZE - commonLength);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>          rowWithSizeLength = out.getShort(out.position() -<a name="line.272"></a>
-<span class="sourceLineNo">273</span>              KeyValue.ROW_LENGTH_SIZE) + KeyValue.ROW_LENGTH_SIZE;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          rowRestLength = rowWithSizeLength - KeyValue.ROW_LENGTH_SIZE;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        } else {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          // already in kvBuffer, just read it<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          rowWithSizeLength = out.getShort(kvPos + KeyValue.ROW_OFFSET) +<a name="line.277"></a>
-<span class="sourceLineNo">278</span>              KeyValue.ROW_LENGTH_SIZE;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          rowRestLength = rowWithSizeLength - commonLength;<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>        // copy the rest of row<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        ByteBufferUtils.copyFromStreamToBuffer(out, source, rowRestLength);<a name="line.283"></a>
+<span class="sourceLineNo">234</span>    ByteBufferUtils.ensureSpace(out, state.keyLength + state.valueLength +<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        KeyValue.ROW_OFFSET);<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>    int kvPos = out.position();<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>    if (!state.isFirst()) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      // copy the prefix<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      int common;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      int prevOffset;<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        out.putInt(state.keyLength);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        out.putInt(state.valueLength);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        prevOffset = state.prevOffset + KeyValue.ROW_OFFSET;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>        common = commonLength;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      } else {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>          prevOffset = state.prevOffset;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>          common = commonLength + KeyValue.ROW_OFFSET;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        } else {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          out.putInt(state.keyLength);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>          prevOffset = state.prevOffset + KeyValue.KEY_LENGTH_SIZE;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>          common = commonLength + KeyValue.KEY_LENGTH_SIZE;<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><a name="line.259"></a>
+<span class="sourceLineNo">260</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out, prevOffset, common);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>      // copy the rest of the key from the buffer<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      int keyRestLength;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      if (commonLength &lt; state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        // omit the family part of the key, it is always the same<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        int rowWithSizeLength;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        int rowRestLength;<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>        // check length of row<a name="line.269"></a>
+<span class="sourceLineNo">270</span>        if (commonLength &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>          // not yet copied, do it now<a name="line.271"></a>
+<span class="sourceLineNo">272</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.272"></a>
+<span class="sourceLineNo">273</span>              KeyValue.ROW_LENGTH_SIZE - commonLength);<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>          rowWithSizeLength = out.getShort(out.position() -<a name="line.275"></a>
+<span class="sourceLineNo">276</span>              KeyValue.ROW_LENGTH_SIZE) + KeyValue.ROW_LENGTH_SIZE;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>          rowRestLength = rowWithSizeLength - KeyValue.ROW_LENGTH_SIZE;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>        } else {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          // already in kvBuffer, just read it<a name="line.279"></a>
+<span class="sourceLineNo">280</span>          rowWithSizeLength = out.getShort(kvPos + KeyValue.ROW_OFFSET) +<a name="line.280"></a>
+<span class="sourceLineNo">281</span>              KeyValue.ROW_LENGTH_SIZE;<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          rowRestLength = rowWithSizeLength - commonLength;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
 <span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>        // copy the column family<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.286"></a>
-<span class="sourceLineNo">287</span>            state.prevOffset + KeyValue.ROW_OFFSET + KeyValue.ROW_LENGTH_SIZE<a name="line.287"></a>
-<span class="sourceLineNo">288</span>                + state.rowLength, state.familyLength<a name="line.288"></a>
-<span class="sourceLineNo">289</span>                + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        state.rowLength = (short) (rowWithSizeLength -<a name="line.290"></a>
-<span class="sourceLineNo">291</span>            KeyValue.ROW_LENGTH_SIZE);<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>        keyRestLength = state.keyLength - rowWithSizeLength -<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            state.familyLength -<a name="line.294"></a>
-<span class="sourceLineNo">295</span>            (KeyValue.FAMILY_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      } else {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        // prevRowWithSizeLength is the same as on previous row<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        keyRestLength = state.keyLength - commonLength -<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      }<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      // copy the rest of the key, after column family == column qualifier<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source, keyRestLength);<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>      // copy timestamp<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      int prefixTimestamp =<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.307"></a>
-<span class="sourceLineNo">308</span>          state.prevTimestampOffset, prefixTimestamp);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      state.prevTimestampOffset = out.position() - prefixTimestamp;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          KeyValue.TIMESTAMP_SIZE - prefixTimestamp);<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>      // copy the type and value<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        out.put(state.type);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.317"></a>
-<span class="sourceLineNo">318</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        } else {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>              state.valueLength);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        }<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      } else {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.325"></a>
-<span class="sourceLineNo">326</span>              KeyValue.TYPE_SIZE);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.327"></a>
-<span class="sourceLineNo">328</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        } else {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.330"></a>
-<span class="sourceLineNo">331</span>              state.valueLength + KeyValue.TYPE_SIZE);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        state.type = out.get(state.prevTimestampOffset +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            KeyValue.TIMESTAMP_SIZE);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    } else { // this is the first element<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      state.decompressFirstKV(out, source);<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>
-<span class="sourceLineNo">340</span>    state.prevOffset = kvPos;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
+<span class="sourceLineNo">285</span>        // copy the rest of row<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        ByteBufferUtils.copyFromStreamToBuffer(out, source, rowRestLength);<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>        // copy the column family<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.289"></a>
+<span class="sourceLineNo">290</span>            state.prevOffset + KeyValue.ROW_OFFSET + KeyValue.ROW_LENGTH_SIZE<a name="line.290"></a>
+<span class="sourceLineNo">291</span>                + state.rowLength, state.familyLength<a name="line.291"></a>
+<span class="sourceLineNo">292</span>                + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        state.rowLength = (short) (rowWithSizeLength -<a name="line.293"></a>
+<span class="sourceLineNo">294</span>            KeyValue.ROW_LENGTH_SIZE);<a name="line.294"></a>
+<span class="sourceLineNo">295</span><a name="line.295"></a>
+<span class="sourceLineNo">296</span>        keyRestLength = state.keyLength - rowWithSizeLength -<a name="line.296"></a>
+<span class="sourceLineNo">297</span>            state.familyLength -<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            (KeyValue.FAMILY_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      } else {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>        // prevRowWithSizeLength is the same as on previous row<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        keyRestLength = state.keyLength - commonLength -<a name="line.301"></a>
+<span class="sourceLineNo">302</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      // copy the rest of the key, after column family == column qualifier<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source, keyRestLength);<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>      // copy timestamp<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      int prefixTimestamp =<a name="line.308"></a>
+<span class="sourceLineNo">309</span>          (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          state.prevTimestampOffset, prefixTimestamp);<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      state.prevTimestampOffset = out.position() - prefixTimestamp;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          KeyValue.TIMESTAMP_SIZE - prefixTimestamp);<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      // copy the type and value<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        out.put(state.type);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.320"></a>
+<span class="sourceLineNo">321</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        } else {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              state.valueLength);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      } else {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.328"></a>
+<span class="sourceLineNo">329</span>              KeyValue.TYPE_SIZE);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.330"></a>
+<span class="sourceLineNo">331</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        } else {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.333"></a>
+<span class="sourceLineNo">334</span>              state.valueLength + KeyValue.TYPE_SIZE);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>        }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        state.type = out.get(state.prevTimestampOffset +<a name="line.336"></a>
+<span class="sourceLineNo">337</span>            KeyValue.TIMESTAMP_SIZE);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>      }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    } else { // this is the first element<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      state.decompressFirstKV(out, source);<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 void compressKeyValues(DataOutputStream out,<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    in.rewind();<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    FastDiffCompressionState previousState = new FastDiffCompressionState();<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    FastDiffCompressionState currentState = new FastDiffCompressionState();<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    while (in.hasRemaining()) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      compressSingleKeyValue(previousState, currentState,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>          out, in);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>      // swap previousState &lt;-&gt; currentState<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      FastDiffCompressionState tmp = previousState;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      previousState = currentState;<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      currentState = tmp;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  @Override<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    int decompressedSize = source.readInt();<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        allocHeaderLength);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    buffer.position(allocHeaderLength);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    FastDiffCompressionState state = new FastDiffCompressionState();<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    while (source.available() &gt; skipLastBytes) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (source.available() != skipLastBytes) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      throw new IllegalStateException("Read too much bytes.");<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>    return buffer;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">343</span>    state.prevOffset = kvPos;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  }<a name="line.344"></a>
+<span class="sourceLineNo">345</span><a name="line.345"></a>
+<span class="sourceLineNo">346</span>  @Override<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  public void compressKeyValues(DataOutputStream out,<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    in.rewind();<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    FastDiffCompressionState previousState = new FastDiffCompressionState();<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    FastDiffCompressionState currentState = new FastDiffCompressionState();<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    while (in.hasRemaining()) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      compressSingleKeyValue(previousState, currentState,<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          out, in);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>      // swap previousState &lt;-&gt; currentState<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      FastDiffCompressionState tmp = previousState;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      previousState = currentState;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      currentState = tmp;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>  }<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>  @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.366"></a>
+<span class="sourceLineNo">367</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.367"></a>
+<span class="sourceLineNo">368</span>          throws IOException {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    int decompressedSize = source.readInt();<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        allocHeaderLength);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    buffer.position(allocHeaderLength);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    FastDiffCompressionState state = new FastDiffCompressionState();<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    while (source.available() &gt; skipLastBytes) {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (source.available() != skipLastBytes) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      throw new IllegalStateException("Read too much bytes.");<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>  @Override<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    block.mark();<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    block.position(Bytes.SIZEOF_INT + Bytes.SIZEOF_BYTE);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    int pos = block.position();<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    block.reset();<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<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>  @Override<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  public String toString() {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return FastDiffDeltaEncoder.class.getSimpleName();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  }<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  protected static class FastDiffSeekerState extends SeekerState {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private byte[] prevTimestampAndType =<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        new byte[KeyValue.TIMESTAMP_TYPE_SIZE];<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    private int rowLengthWithSize;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private int familyLengthWithSize;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    @Override<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    protected void copyFromNext(SeekerState that) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      super.copyFromNext(that);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      FastDiffSeekerState other = (FastDiffSeekerState) that;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      System.arraycopy(other.prevTimestampAndType, 0,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          prevTimestampAndType, 0,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      familyLengthWithSize = other.familyLengthWithSize;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    }<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>  @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      final boolean includesMemstoreTS) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return new BufferedEncodedSeeker&lt;FastDiffSeekerState&gt;(comparator) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      private void decode(boolean isFirst) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        byte flag = currentBuffer.get();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          if (!isFirst) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>            System.arraycopy(current.keyBuffer,<a name="line.426"></a>
-<span class="sourceLineNo">427</span>                current.keyLength - current.prevTimestampAndType.length,<a name="line.427"></a>
-<span class="sourceLineNo">428</span>                current.prevTimestampAndType, 0,<a name="line.428"></a>
-<span class="sourceLineNo">429</span>                current.prevTimestampAndType.length);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        }<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          current.valueLength =<a name="line.434"></a>
-<span class="sourceLineNo">435</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        current.lastCommonPrefix =<a name="line.437"></a>
-<span class="sourceLineNo">438</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        current.ensureSpaceForKey();<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span>        if (isFirst) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          // copy everything<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>              current.keyLength - current.prevTimestampAndType.length);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.446"></a>
-<span class="sourceLineNo">447</span>              Bytes.SIZEOF_SHORT;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>          current.familyLengthWithSize =<a name="line.448"></a>
-<span class="sourceLineNo">449</span>              current.keyBuffer[current.rowLengthWithSize] + Bytes.SIZEOF_BYTE;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        } else if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>          // length of row is different, copy everything except family<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>          // copy the row size<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          int oldRowLengthWithSize = current.rowLengthWithSize;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.455"></a>
-<span class="sourceLineNo">456</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.456"></a>
-<span class="sourceLineNo">457</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.457"></a>
-<span class="sourceLineNo">458</span>              Bytes.SIZEOF_SHORT;<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>          // move the column family<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          System.arraycopy(current.keyBuffer, oldRowLengthWithSize,<a name="line.461"></a>
-<span class="sourceLineNo">462</span>              current.keyBuffer, current.rowLengthWithSize,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>              current.familyLengthWithSize);<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>          // copy the rest of row<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.466"></a>
-<span class="sourceLineNo">467</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.467"></a>
-<span class="sourceLineNo">468</span><a name="line.468"></a>
-<span class="sourceLineNo">469</span>          // copy the qualifier<a name="line.469"></a>
-<span class="sourceLineNo">470</span>          currentBuffer.get(current.keyBuffer, current.rowLengthWithSize<a name="line.470"></a>
-<span class="sourceLineNo">471</span>              + current.familyLengthWithSize, current.keyLength<a name="line.471"></a>
-<span class="sourceLineNo">472</span>              - current.rowLengthWithSize - current.familyLengthWithSize<a name="line.472"></a>
-<span class="sourceLineNo">473</span>              - current.prevTimestampAndType.length);<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        } else if (current.lastCommonPrefix &lt; current.rowLengthWithSize) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          // We have to copy part of row and qualifier, but the column family<a name="line.475"></a>
-<span class="sourceLineNo">476</span>          // is in the right place.<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>          // before column family (rest of row)<a name="line.478"></a>
-<span class="sourceLineNo">479</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>              current.rowLengthWithSize - current.lastCommonPrefix);<a name="line.480"></a>
-<span class="sourceLineNo">481</span><a name="line.481"></a>
-<span class="sourceLineNo">482</span>          // after column family (qualifier)<a name="line.482"></a>
-<span class="sourceLineNo">483</span>          currentBuffer.get(current.keyBuffer, current.rowLengthWithSize<a name="line.483"></a>
-<span class="sourceLineNo">484</span>              + current.familyLengthWithSize, current.keyLength<a name="line.484"></a>
-<span class="sourceLineNo">485</span>              - current.rowLengthWithSize - current.familyLengthWithSize<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              - current.prevTimestampAndType.length);<a name="line.486"></a>
-<span class="sourceLineNo">487</span>        } else {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          // copy just the ending<a name="line.488"></a>
-<span class="sourceLineNo">489</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.489"></a>
-<span class="sourceLineNo">490</span>              current.keyLength - current.prevTimestampAndType.length<a name="line.490"></a>
-<span class="sourceLineNo">491</span>                  - current.lastCommonPrefix);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        }<a name="line.492"></a>
-<span class="sourceLineNo">493</span><a name="line.493"></a>
-<span class="sourceLineNo">494</span>        // timestamp<a name="line.494"></a>
-<span class="sourceLineNo">495</span>        int pos = current.keyLength - current.prevTimestampAndType.length;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        int commonTimestampPrefix = (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>          SHIFT_TIMESTAMP_LENGTH;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>          System.arraycopy(current.prevTimestampAndType, 0, current.keyBuffer,<a name="line.499"></a>
-<span class="sourceLineNo">500</span>              pos, commonTimestampPrefix);<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        pos += commonTimestampPrefix;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        currentBuffer.get(current.keyBuffer, pos,<a name="line.503"></a>
-<span class="sourceLineNo">504</span>            Bytes.SIZEOF_LONG - commonTimestampPrefix);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        pos += Bytes.SIZEOF_LONG - commonTimestampPrefix;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>        // type<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          currentBuffer.get(current.keyBuffer, pos, Bytes.SIZEOF_BYTE);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        } else if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          current.keyBuffer[pos] =<a name="line.511"></a>
-<span class="sourceLineNo">512</span>              current.prevTimestampAndType[Bytes.SIZEOF_LONG];<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>
-<span class="sourceLineNo">515</span>        // handle value<a name="line.515"></a>
-<span class="sourceLineNo">516</span>        if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          current.valueOffset = currentBuffer.position();<a name="line.517"></a>
-<span class="sourceLineNo">518</span>          ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>        if (includesMemstoreTS) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>        } else {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>          current.memstoreTS = 0;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        }<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        current.nextKvOffset = currentBuffer.position();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>      @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      protected void decodeFirst() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>        decode(true);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>      @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      protected void decodeNext() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>        decode(false);<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      }<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>      @Override<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      protected FastDiffSeekerState createSeekerState() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return new FastDiffSeekerState();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    };<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>}<a name="line.546"></a>
+<span class="sourceLineNo">383</span>    return buffer;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  @Override<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    block.mark();<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    block.position(Bytes.SIZEOF_INT + Bytes.SIZEOF_BYTE);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    int pos = block.position();<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    block.reset();<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<a name="line.395"></a>
+<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
+<span class="sourceLineNo">397</span><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  public String toString() {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    return FastDiffDeltaEncoder.class.getSimpleName();<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
+<span class="sourceLineNo

<TRUNCATED>

[25/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/replication/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/replication/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/replication/package-summary.html
index e88c7ed..261dc4d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/replication/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/replication/package-summary.html
@@ -235,7 +235,7 @@ hbase(main):001:0> stop_replication</pre>
 
 Replication of already queued edits will still happen after you
 issued that command but new entries won't be. To start it back, simply replace
-"false" with "true" in the command.
+"false" with "true" in the command. 
 
 <p>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.html b/0.94/apidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.html
index a459aa3..ca42dc6 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/replication/regionserver/Replication.html
@@ -355,7 +355,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/W
 <h4>getWALActionsListener</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/Replication.html#line.113">getWALActionsListener</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html#getWALActionsListener()">ReplicationSourceService</a></code></strong></div>
-<div class="block">Returns a WALObserver for the service. This is needed to
+<div class="block">Returns a WALObserver for the service. This is needed to 
  observe log rolls and log archival events.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html b/0.94/apidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html
index 0050ad0..75ba78b 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html
@@ -484,7 +484,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/replication/region
 <pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.html#line.733">shipEdits</a>(boolean&nbsp;currentWALisBeingWrittenTo,
              <a href="http://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/HLog.Entry.html" title="class in org.apache.hadoop.hbase.regionserver.wal">HLog.Entry</a>&gt;&nbsp;entries)</pre>
 <div class="block">Do the shipping logic</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>currentWALisBeingWrittenTo</code> - was the current WAL being (seemingly)
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>currentWALisBeingWrittenTo</code> - was the current WAL being (seemingly) 
  written to when this method was called</dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/client/Client.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/client/Client.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/client/Client.html
index c113ccc..48b4eb5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/client/Client.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/client/Client.html
@@ -683,7 +683,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
            org.apache.commons.httpclient.Header[]&nbsp;headers)
              throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Send a GET request</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>path</code> - the path or URI</dd><dd><code>headers</code> - the HTTP headers to include in the request,
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>path</code> - the path or URI</dd><dd><code>headers</code> - the HTTP headers to include in the request, 
  <tt>Accept</tt> must be supplied</dd>
 <dt><span class="strong">Returns:</span></dt><dd>a Response object with response detail</dd>
 <dt><span class="strong">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/client/RemoteHTable.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
index a34e585..d0043bb 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/client/RemoteHTable.html
@@ -979,7 +979,7 @@ public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/cli
 <dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - The row to lock.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>A <a href="../../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a> containing the row and lock id.</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/client/HTableInterface.html#unlockRow(org.apache.hadoop.hbase.client.RowLock)"><code>HTableInterface.unlockRow(org.apache.hadoop.hbase.client.RowLock)</code></a></dd></dl>
 </li>
 </ul>
@@ -999,7 +999,7 @@ public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/cli
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/client/HTableInterface.html#unlockRow(org.apache.hadoop.hbase.client.RowLock)">unlockRow</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/client/HTableInterface.html" title="interface in org.apache.hadoop.hbase.client">HTableInterface</a></code></dd>
 <dt><span class="strong">Parameters:</span></dt><dd><code>rl</code> - The row lock to release.</dd>
 <dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>,
+<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if a remote or network exception occurs.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/client/RowLock.html" title="class in org.apache.hadoop.hbase.client"><code>RowLock</code></a>, 
 <a href="../../../../../../org/apache/hadoop/hbase/client/HTableInterface.html#unlockRow(org.apache.hadoop.hbase.client.RowLock)"><code>HTableInterface.unlockRow(org.apache.hadoop.hbase.client.RowLock)</code></a></dd></dl>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/model/CellSetModel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/CellSetModel.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/CellSetModel.html
index f9142a3..1775353 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/CellSetModel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/CellSetModel.html
@@ -104,19 +104,19 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/hadoop/hbase/rest/ProtobufMessageHandler.html" title="interface in org.apache.hadoop.hbase.rest">ProtobufMessageHandler</a></pre>
 <div class="block">Representation of a grouping of cells. May contain cells from more than
  one row. Encapsulates RowModel and CellModel models.
-
+ 
  <pre>
  &lt;complexType name="CellSet"&gt;
    &lt;sequence&gt;
-     &lt;element name="row" type="tns:Row" maxOccurs="unbounded"
+     &lt;element name="row" type="tns:Row" maxOccurs="unbounded" 
        minOccurs="1"&gt;&lt;/element&gt;
    &lt;/sequence&gt;
  &lt;/complexType&gt;
-
+ 
  &lt;complexType name="Row"&gt;
    &lt;sequence&gt;
      &lt;element name="key" type="base64Binary"&gt;&lt;/element&gt;
-     &lt;element name="cell" type="tns:Cell"
+     &lt;element name="cell" type="tns:Cell" 
        maxOccurs="unbounded" minOccurs="1"&gt;&lt;/element&gt;
    &lt;/sequence&gt;
  &lt;/complexType&gt;

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/model/ColumnSchemaModel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/ColumnSchemaModel.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/ColumnSchemaModel.html
index fbe4466..b7696a1 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/ColumnSchemaModel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/ColumnSchemaModel.html
@@ -103,7 +103,7 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Representation of a column family schema.
-
+ 
  <pre>
  &lt;complexType name="ColumnSchema"&gt;
    &lt;attribute name="name" type="string"&gt;&lt;/attribute&gt;

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/model/RowModel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/RowModel.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/RowModel.html
index aa414e5..3a34327 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/RowModel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/RowModel.html
@@ -105,12 +105,12 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/rest/ProtobufMessa
 <div class="block">Representation of a row. A row is a related set of cells, grouped by common
  row key. RowModels do not appear in results by themselves. They are always
  encapsulated within CellSetModels.
-
+ 
  <pre>
  &lt;complexType name="Row"&gt;
    &lt;sequence&gt;
      &lt;element name="key" type="base64Binary"&gt;&lt;/element&gt;
-     &lt;element name="cell" type="tns:Cell"
+     &lt;element name="cell" type="tns:Cell" 
        maxOccurs="unbounded" minOccurs="1"&gt;&lt;/element&gt;
    &lt;/sequence&gt;
  &lt;/complexType&gt;

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/model/ScannerModel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/ScannerModel.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/ScannerModel.html
index d786bc7..5dce5bf 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/ScannerModel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/ScannerModel.html
@@ -103,7 +103,7 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/hadoop/hbase/rest/ProtobufMessageHandler.html" title="interface in org.apache.hadoop.hbase.rest">ProtobufMessageHandler</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">A representation of Scanner parameters.
-
+ 
  <pre>
  &lt;complexType name="Scanner"&gt;
    &lt;sequence>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.html
index feccb1a..48e718c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.html
@@ -112,7 +112,7 @@ implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializabl
  <li>liveNodes: detailed status of the live region servers</li>
  <li>deadNodes: the names of region servers declared dead</li>
  </ul>
-
+ 
  <pre>
  &lt;complexType name="StorageClusterStatus"&gt;
    &lt;sequence&gt;
@@ -130,7 +130,7 @@ implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializabl
 
  &lt;complexType name="Node"&gt;
    &lt;sequence&gt;
-     &lt;element name="region" type="tns:Region"
+     &lt;element name="region" type="tns:Region" 
        maxOccurs="unbounded" minOccurs="0"&gt;&lt;/element&gt;
    &lt;/sequence&gt;
    &lt;attribute name="name" type="string"&gt;&lt;/attribute&gt;

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/model/StorageClusterVersionModel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/StorageClusterVersionModel.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/StorageClusterVersionModel.html
index 12f593f..67c12fb 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/StorageClusterVersionModel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/StorageClusterVersionModel.html
@@ -103,7 +103,7 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Simple representation of the version of the storage cluster
-
+ 
  <pre>
  &lt;complexType name="StorageClusterVersion"&gt;
    &lt;attribute name="version" type="string"&gt;&lt;/attribute&gt;

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableInfoModel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableInfoModel.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableInfoModel.html
index b6c7f64..e67b13f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableInfoModel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableInfoModel.html
@@ -102,12 +102,12 @@
 <pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/model/TableInfoModel.html#line.51">TableInfoModel</a>
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/hadoop/hbase/rest/ProtobufMessageHandler.html" title="interface in org.apache.hadoop.hbase.rest">ProtobufMessageHandler</a></pre>
-<div class="block">Representation of a list of table regions.
-
+<div class="block">Representation of a list of table regions. 
+ 
  <pre>
  &lt;complexType name="TableInfo"&gt;
    &lt;sequence&gt;
-     &lt;element name="region" type="tns:TableRegion"
+     &lt;element name="region" type="tns:TableRegion" 
        maxOccurs="unbounded" minOccurs="1"&gt;&lt;/element&gt;
    &lt;/sequence&gt;
    &lt;attribute name="name" type="string"&gt;&lt;/attribute&gt;

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableModel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableModel.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableModel.html
index ee32727..792f403 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableModel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableModel.html
@@ -103,7 +103,7 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Simple representation of a table name.
-
+ 
  <pre>
  &lt;complexType name="Table"&gt;
    &lt;sequence&gt;

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableRegionModel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableRegionModel.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableRegionModel.html
index f415021..596650a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableRegionModel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableRegionModel.html
@@ -104,7 +104,7 @@ extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?
 implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Representation of a region of a table and its current location on the
  storage cluster.
-
+ 
  <pre>
  &lt;complexType name="TableRegion"&gt;
    &lt;attribute name="name" type="string"&gt;&lt;/attribute&gt;

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableSchemaModel.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableSchemaModel.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableSchemaModel.html
index 7f321c5..6818a14 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableSchemaModel.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/model/TableSchemaModel.html
@@ -103,11 +103,11 @@
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/hadoop/hbase/rest/ProtobufMessageHandler.html" title="interface in org.apache.hadoop.hbase.rest">ProtobufMessageHandler</a></pre>
 <div class="block">A representation of HBase table descriptors.
-
+ 
  <pre>
  &lt;complexType name="TableSchema"&gt;
    &lt;sequence&gt;
-     &lt;element name="column" type="tns:ColumnSchema"
+     &lt;element name="column" type="tns:ColumnSchema" 
        maxOccurs="unbounded" minOccurs="1"&gt;&lt;/element&gt;
    &lt;/sequence&gt;
    &lt;attribute name="name" type="string"&gt;&lt;/attribute&gt;

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/package-summary.html
index 590d710..61bd7ed 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/package-summary.html
@@ -260,7 +260,7 @@ and deploys the servlet into it.
   </blockquote>
   <p>
   where &lt;<i>port</i>&gt; is optional, and is the port the connector should
-  listen on. (Default is 8080.)
+  listen on. (Default is 8080.) 
   </p>
   </li>
   </ul>
@@ -274,10 +274,10 @@ and deploys the servlet into it.
 <p>
 
 The terms "representational state transfer" and "REST" were introduced in 2000
-in the
+in the 
 <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm">
 doctoral dissertation of Roy Fielding</a>, one of the principal authors of the
-Hypertext Transfer Protocol (HTTP) specification.
+Hypertext Transfer Protocol (HTTP) specification. 
 <p>
 A GET to an identifier requests a copy of the information in the supplied
 content type.
@@ -307,7 +307,7 @@ DELETE eliminates information.
 <h2>Resource Identifiers</h2>
 </a>
 <p>
-<a href="http://www.rfc-editor.org/rfc/rfc3968.txt">RFC 3968</a> defines URL
+<a href="http://www.rfc-editor.org/rfc/rfc3968.txt">RFC 3968</a> defines URL 
 syntax:
 <p>
 <pre>
@@ -374,7 +374,7 @@ Address with table, row, column (and optional qualifier), and optional timestamp
 <h3>Addressing for row, column, or cell DELETE</h3>
 <p>
 <pre>
-    path := '/' &lt;table&gt;
+    path := '/' &lt;table&gt; 
             '/' &lt;row&gt;
             ( '/' &lt;column&gt; ( ':' &lt;qualifier&gt; )?
               ( '/' &lt;timestamp&gt; )? )?
@@ -788,9 +788,9 @@ PUT /&lt;table&gt;/schema
 POST /&lt;table&gt;/schema
 </pre>
 <p>
-Uploads table schema.
-PUT or POST creates table as necessary.
-PUT fully replaces schema.
+Uploads table schema. 
+PUT or POST creates table as necessary. 
+PUT fully replaces schema. 
 POST modifies schema (add or modify column family).
 Supply the full table schema for PUT or a well formed schema fragment for POST
 in the desired encoding.
@@ -940,7 +940,7 @@ Set Accept header to <tt>application/octet-stream</tt> for binary.
 If not successful, returns appropriate HTTP error status code.
 If successful, returns HTTP 200 status and cell data in the response body in
 the requested encoding. If the encoding is binary, returns row, column, and
-timestamp in X headers: <tt>X-Row</tt>, <tt>X-Column</tt>, and
+timestamp in X headers: <tt>X-Row</tt>, <tt>X-Column</tt>, and 
 <tt>X-Timestamp</tt>, respectively. Depending on the precision of the resource
 specification, some of the X-headers may be elided as redundant.
 <p>
@@ -1024,9 +1024,9 @@ Set Accept header to <tt>application/json</tt> for JSON reply.
 Set Accept header to <tt>application/x-protobuf</tt> for protobufs.
 Set Accept header to <tt>application/octet-stream</tt> for binary.
 If not successful, returns appropriate HTTP error status code.
-If successful, returns row results in the requested encoding.
+If successful, returns row results in the requested encoding. 
 <p>
-NOTE: If binary encoding is requested, only one cell can be returned, the
+NOTE: If binary encoding is requested, only one cell can be returned, the 
 first to match the resource specification. The row, column, and timestamp
 associated with the cell will be transmitted in X headers: <tt>X-Row</tt>,
 <tt>X-Column</tt>, and <tt>X-Timestamp</tt>, respectively. Depending on the
@@ -1126,7 +1126,7 @@ Content-Length: 692<br>
 Cache-Control: max-age=14400<br>
 Content-Type: application/x-protobuf<br>
 <br>
-000000 0a b1 05 0a 20 30 30 30 31 32 36 31 34 66 37 64<br>
+000000 0a b1 05 0a 20 30 30 30 31 32 36 31 34 66 37 64<br> 
 000010 34 33 64 66 36 34 31 38 35 32 33 34 34 35 61 36<br>
 000020 37 38 37 64 36 12 85 02 12 0b 63 6f 6e 74 65 6e<br>
 000030 74 3a 72 61 77 18 8a e3 8c c5 9d 24 22 ee 01 3c<br>
@@ -1156,7 +1156,7 @@ When using binary encoding, optionally, set X-Timestamp header to the desired
 timestamp.
 <p>
 PUT and POST operations are equivalent here: Specified addresses without
-existing data will create new values. Specified addresses with existing data
+existing data will create new values. Specified addresses with existing data 
 will create new versions, overwriting an existing version if all of { row,
 column:qualifer, timestamp } match that of the existing value.
 <p>
@@ -1190,10 +1190,10 @@ multiple values to a table in batch. If not successful, returns appropriate
 HTTP error status code. If successful, returns HTTP 200 status.
 Set Content-Type to <tt>text/xml</tt> for XML encoding.
 Set Content-Type header to <tt>application/x-protobuf</tt> for protobufs encoding.
-Supply commit data in the PUT or POST body.
+Supply commit data in the PUT or POST body. 
 <p>
 PUT and POST operations are equivalent here: Specified addresses without
-existing data will create new values. Specified addresses with existing data
+existing data will create new values. Specified addresses with existing data 
 will create new versions, overwriting an existing version if all of { row,
 column:qualifer, timestamp } match that of the existing value.
 <p>
@@ -1206,7 +1206,7 @@ See "Cell or Row Query (Multiple Values)" for encoding examples.
 <p>
 <pre>
 DELETE /&lt;table>/&lt;row&gt;
-  ( / ( &lt;column&gt; ( : &lt;qualifier&gt; )?
+  ( / ( &lt;column&gt; ( : &lt;qualifier&gt; )? 
     ( / &lt;timestamp&gt; )? )?
 </pre>
 <p>
@@ -1269,9 +1269,9 @@ If result is successful but the scanner is exhausted, returns HTTP 204 status (n
 Otherwise, returns HTTP 200 status and row and cell data in the response body.
 See examples from the "Cell or Row Query (Multiple Values)" section.
 <p>
-NOTE: The binary encoding option returns only one cell regardless of the
+NOTE: The binary encoding option returns only one cell regardless of the 
 batching parameter supplied during scanner creation. The row, column, and
-timestamp associated with the cell are transmitted as X-headers:
+timestamp associated with the cell are transmitted as X-headers: 
 <tt>X-Row</tt>, <tt>X-Column</tt>, and <tt>X-Timestamp</tt> respectively.
 <p>
 Examples:
@@ -1344,7 +1344,7 @@ Content-Type: application/octet-stream<br>
 DELETE /&lt;table&gt;/scanner/&lt;scanner-id&gt;
 </pre>
 <p>
-Deletes resources associated with the scanner. This is an optional action.
+Deletes resources associated with the scanner. This is an optional action. 
 Scanners will expire after some globally configurable interval has elapsed
 with no activity on the scanner. If not successful, returns appropriate HTTP
 error status code. If successful, returns HTTP status 200.
@@ -1368,11 +1368,11 @@ Content-Length: 0<br>
 </a>
 <p>
 <pre>
-&lt;schema targetNamespace="StargateSchema" elementFormDefault="qualified"
+&lt;schema targetNamespace="StargateSchema" elementFormDefault="qualified" 
 xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="StargateSchema"&gt;
 
     &lt;element name="CellSet" type="tns:CellSet"&gt;&lt;/element&gt;
-
+    
     &lt;complexType name="CellSet"&gt;
       &lt;sequence&gt;
         &lt;element name="row" type="tns:Row" maxOccurs="unbounded" minOccurs="1"&gt;&lt;/element&gt;
@@ -1395,7 +1395,7 @@ xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="StargateSchema"&gt;
     &lt;/complexType&gt;
 
     &lt;element name="Version" type="tns:Version"&gt;&lt;/element&gt;
-
+    
     &lt;complexType name="Version"&gt;
       &lt;attribute name="Stargate" type="string"&gt;&lt;/attribute&gt;
       &lt;attribute name="JVM" type="string"&gt;&lt;/attribute&gt;
@@ -1406,7 +1406,7 @@ xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="StargateSchema"&gt;
 
 
     &lt;element name="TableList" type="tns:TableList"&gt;&lt;/element&gt;
-
+    
     &lt;complexType name="TableList"&gt;
       &lt;sequence&gt;
         &lt;element name="table" type="tns:Table" maxOccurs="unbounded" minOccurs="1"&gt;&lt;/element&gt;
@@ -1420,7 +1420,7 @@ xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="StargateSchema"&gt;
     &lt;/complexType&gt;
 
     &lt;element name="TableInfo" type="tns:TableInfo"&gt;&lt;/element&gt;
-
+    
     &lt;complexType name="TableInfo"&gt;
       &lt;sequence&gt;
         &lt;element name="region" type="tns:TableRegion" maxOccurs="unbounded" minOccurs="1"&gt;&lt;/element&gt;
@@ -1437,7 +1437,7 @@ xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="StargateSchema"&gt;
     &lt;/complexType&gt;
 
     &lt;element name="TableSchema" type="tns:TableSchema"&gt;&lt;/element&gt;
-
+    
     &lt;complexType name="TableSchema"&gt;
       &lt;sequence&gt;
         &lt;element name="column" type="tns:ColumnSchema" maxOccurs="unbounded" minOccurs="1"&gt;&lt;/element&gt;
@@ -1452,7 +1452,7 @@ xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="StargateSchema"&gt;
     &lt;/complexType&gt;
 
     &lt;element name="Scanner" type="tns:Scanner"&gt;&lt;/element&gt;
-
+    
     &lt;complexType name="Scanner"&gt;
       &lt;attribute name="startRow" type="base64Binary"&gt;&lt;/attribute&gt;
       &lt;attribute name="endRow" type="base64Binary"&gt;&lt;/attribute&gt;
@@ -1465,7 +1465,7 @@ xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="StargateSchema"&gt;
     &lt;element name="StorageClusterVersion"
       type="tns:StorageClusterVersion"&gt;
     &lt;/element&gt;
-
+    
     &lt;complexType name="StorageClusterVersion"&gt;
       &lt;attribute name="version" type="string"&gt;&lt;/attribute&gt;
     &lt;/complexType&gt;
@@ -1473,7 +1473,7 @@ xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="StargateSchema"&gt;
     &lt;element name="StorageClusterStatus"
       type="tns:StorageClusterStatus"&gt;
     &lt;/element&gt;
-
+    
     &lt;complexType name="StorageClusterStatus"&gt;
       &lt;sequence&gt;
         &lt;element name="liveNode" type="tns:Node"
@@ -1545,8 +1545,8 @@ message StorageClusterStatus {
   repeated Node liveNodes = 1;
   repeated string deadNodes = 2;
   // summary statistics
-  optional int32 regions = 3;
-  optional int32 requests = 4;
+  optional int32 regions = 3; 
+  optional int32 requests = 4; 
   optional double averageLoad = 5;
 }
 
@@ -1571,7 +1571,7 @@ message TableSchema {
   message Attribute {
     required string name = 1;
     required string value = 2;
-  }
+  }  
   repeated Attribute attrs = 2;
   repeated ColumnSchema columns = 3;
   // optional helpful encodings of commonly used attributes

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/provider/JAXBContextResolver.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/provider/JAXBContextResolver.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/provider/JAXBContextResolver.html
index cf0cbb1..38a7178 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/provider/JAXBContextResolver.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/provider/JAXBContextResolver.html
@@ -104,7 +104,7 @@ public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/rest/pr
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements javax.ws.rs.ext.ContextResolver&lt;<a href="http://docs.oracle.com/javase/6/docs/api/javax/xml/bind/JAXBContext.html?is-external=true" title="class or interface in javax.xml.bind">JAXBContext</a>&gt;</pre>
 <div class="block">Plumbing for hooking up Jersey's JSON entity body encoding and decoding
- support to JAXB. Modify how the context is created (by using e.g. a
+ support to JAXB. Modify how the context is created (by using e.g. a 
  different configuration builder) to control how JSON is processed and
  created.</div>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/rest/provider/producer/PlainTextMessageBodyProducer.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/rest/provider/producer/PlainTextMessageBodyProducer.html b/0.94/apidocs/org/apache/hadoop/hbase/rest/provider/producer/PlainTextMessageBodyProducer.html
index 1a76cb4..ff02d98 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/rest/provider/producer/PlainTextMessageBodyProducer.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/rest/provider/producer/PlainTextMessageBodyProducer.html
@@ -104,7 +104,7 @@ public class <a href="../../../../../../../src-html/org/apache/hadoop/hbase/rest
 extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements javax.ws.rs.ext.MessageBodyWriter&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</pre>
 <div class="block">An adapter between Jersey and Object.toString(). Hooks up plain text output
- to the Jersey content handling framework.
+ to the Jersey content handling framework. 
  Jersey will first call getSize() to learn the number of bytes that will be
  sent, then writeTo to perform the actual I/O.</div>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/snapshot/ExportSnapshot.Counter.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/snapshot/ExportSnapshot.Counter.html b/0.94/apidocs/org/apache/hadoop/hbase/snapshot/ExportSnapshot.Counter.html
index 7a6539a..f364864 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/snapshot/ExportSnapshot.Counter.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/snapshot/ExportSnapshot.Counter.html
@@ -278,7 +278,7 @@ for (ExportSnapshot.Counter c : ExportSnapshot.Counter.values())
 <pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/snapshot/ExportSnapshot.Counter.html" title="enum in org.apache.hadoop.hbase.snapshot">ExportSnapshot.Counter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/snapshot/ExportSnapshot.Counter.html#line.99">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html b/0.94/apidocs/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
index 55a3116..bbca5fa 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/snapshot/SnapshotInfo.html
@@ -138,7 +138,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a></strong></code>
 <div class="block">Statistics about the snapshot
-
+ 
   How many store files and logs are in the archive
   How many store files and logs are shared with the table
   Total store files and logs size and shared amount

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/snapshot/package-summary.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/snapshot/package-summary.html b/0.94/apidocs/org/apache/hadoop/hbase/snapshot/package-summary.html
index 70f7c36..a51a868 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/snapshot/package-summary.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/snapshot/package-summary.html
@@ -154,7 +154,7 @@
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a></td>
 <td class="colLast">
 <div class="block">Statistics about the snapshot
-
+ 
   How many store files and logs are in the archive
   How many store files and logs are shared with the table
   Total store files and logs size and shared amount

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/snapshot/package-use.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/snapshot/package-use.html b/0.94/apidocs/org/apache/hadoop/hbase/snapshot/package-use.html
index f23ebd7..e701b2c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/snapshot/package-use.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/snapshot/package-use.html
@@ -234,7 +234,7 @@
 <tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/snapshot/class-use/SnapshotInfo.SnapshotStats.html#org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a>
 <div class="block">Statistics about the snapshot
-
+ 
   How many store files and logs are in the archive
   How many store files and logs are shared with the table
   Total store files and logs size and shared amount

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/AlreadyExists._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/AlreadyExists._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/AlreadyExists._Fields.html
index 48a380b..b1f1a80 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/AlreadyExists._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/AlreadyExists._Fields.html
@@ -259,7 +259,7 @@ for (AlreadyExists._Fields c : AlreadyExists._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/AlreadyExists._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">AlreadyExists._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/AlreadyExists._Fields.html#line.52">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/BatchMutation._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/BatchMutation._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/BatchMutation._Fields.html
index 9e4fc65..a6dec33 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/BatchMutation._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/BatchMutation._Fields.html
@@ -271,7 +271,7 @@ for (BatchMutation._Fields c : BatchMutation._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/BatchMutation._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">BatchMutation._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/BatchMutation._Fields.html#line.49">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor._Fields.html
index afd8972..391916e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor._Fields.html
@@ -355,7 +355,7 @@ for (ColumnDescriptor._Fields c : ColumnDescriptor._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">ColumnDescriptor._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor._Fields.html#line.42">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_args._Fields.html
index 5ef5a15..43f846f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.atomicIncrement_args._Fields c : Hbase.atomicIncrement_args._Fields.v
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.atomicIncrement_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_args._Fields.html#line.34152">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_result._Fields.html
index 18941e8..c2074ea 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_result._Fields.html
@@ -283,7 +283,7 @@ for (Hbase.atomicIncrement_result._Fields c : Hbase.atomicIncrement_result._Fiel
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.atomicIncrement_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.atomicIncrement_result._Fields.html#line.34152">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_args._Fields.html
index 9786d6e..87ea6f3 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_args._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.compact_args._Fields c : Hbase.compact_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.compact_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.compact_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_args._Fields.html#line.7238">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_result._Fields.html
index a024bf5..8a0bc45 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.compact_result._Fields c : Hbase.compact_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.compact_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.compact_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.compact_result._Fields.html#line.7238">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_args._Fields.html
index b7abf13..674e06a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_args._Fields.html
@@ -277,7 +277,7 @@ for (Hbase.createTable_args._Fields c : Hbase.createTable_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.createTable_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_args._Fields.html#line.11472">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_result._Fields.html
index 52515f5..c344805 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_result._Fields.html
@@ -283,7 +283,7 @@ for (Hbase.createTable_result._Fields c : Hbase.createTable_result._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.createTable_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.createTable_result._Fields.html#line.11472">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_args._Fields.html
index e0f0c50..e3b6b1f 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.deleteAllRowTs_args._Fields c : Hbase.deleteAllRowTs_args._Fields.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.deleteAllRowTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_args._Fields.html#line.40571">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_result._Fields.html
index 07861ca..f1d93ff 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.deleteAllRowTs_result._Fields c : Hbase.deleteAllRowTs_result._Fields
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.deleteAllRowTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRowTs_result._Fields.html#line.40571">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_args._Fields.html
index 30666f7..5b2aff3 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_args._Fields.html
@@ -292,7 +292,7 @@ for (Hbase.deleteAllRow_args._Fields c : Hbase.deleteAllRow_args._Fields.values(
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.deleteAllRow_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_args._Fields.html#line.37880">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_result._Fields.html
index aea403f..b09c5f7 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.deleteAllRow_result._Fields c : Hbase.deleteAllRow_result._Fields.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.deleteAllRow_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllRow_result._Fields.html#line.37880">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_args._Fields.html
index b38cefc..343873c 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_args._Fields.html
@@ -322,7 +322,7 @@ for (Hbase.deleteAllTs_args._Fields c : Hbase.deleteAllTs_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.deleteAllTs_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_args._Fields.html#line.36829">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_result._Fields.html
index 371f2c3..0524f4e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.deleteAllTs_result._Fields c : Hbase.deleteAllTs_result._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.deleteAllTs_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAllTs_result._Fields.html#line.36829">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_args._Fields.html
index eb0cc07..70ff87a 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_args._Fields.html
@@ -307,7 +307,7 @@ for (Hbase.deleteAll_args._Fields c : Hbase.deleteAll_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.deleteAll_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_args._Fields.html#line.35535">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_result._Fields.html
index f47f829..7f8757d 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.deleteAll_result._Fields c : Hbase.deleteAll_result._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.deleteAll_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteAll_result._Fields.html#line.35535">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_args._Fields.html
index ddb9029..a471972 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.deleteTable_args._Fields c : Hbase.deleteTable_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.deleteTable_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_args._Fields.html#line.12426">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_result._Fields.html
index 208f690..20f6a60 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.deleteTable_result._Fields c : Hbase.deleteTable_result._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.deleteTable_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.deleteTable_result._Fields.html#line.12426">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_args._Fields.html
index c797867..14348c5 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.disableTable_args._Fields c : Hbase.disableTable_args._Fields.values(
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.disableTable_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_args._Fields.html#line.5660">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_result._Fields.html
index 4717a77..86ff5b8 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.disableTable_result._Fields c : Hbase.disableTable_result._Fields.val
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.disableTable_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.disableTable_result._Fields.html#line.5660">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_args._Fields.html
index 3a17a9b..b5c903e 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.enableTable_args._Fields c : Hbase.enableTable_args._Fields.values())
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.enableTable_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_args._Fields.html#line.4916">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_result._Fields.html
index a630745..18402a0 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_result._Fields.html
@@ -259,7 +259,7 @@ for (Hbase.enableTable_result._Fields c : Hbase.enableTable_result._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.enableTable_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.enableTable_result._Fields.html#line.4916">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_args._Fields.html
index ed99928..4c4e224 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.getColumnDescriptors_args._Fields c : Hbase.getColumnDescriptors_args
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getColumnDescriptors_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_args._Fields.html#line.9482">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_result._Fields.html
index 2fcc211..6c8b644 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getColumnDescriptors_result._Fields c : Hbase.getColumnDescriptors_re
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getColumnDescriptors_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getColumnDescriptors_result._Fields.html#line.9482">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_args._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_args._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_args._Fields.html
index c3effe1..48857be 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_args._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_args._Fields.html
@@ -262,7 +262,7 @@ for (Hbase.getRegionInfo_args._Fields c : Hbase.getRegionInfo_args._Fields.value
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_args._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRegionInfo_args._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_args._Fields.html#line.53718">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_result._Fields.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_result._Fields.html b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_result._Fields.html
index 7369923..7405ed2 100644
--- a/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_result._Fields.html
+++ b/0.94/apidocs/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_result._Fields.html
@@ -271,7 +271,7 @@ for (Hbase.getRegionInfo_result._Fields c : Hbase.getRegionInfo_result._Fields.v
 <pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_result._Fields.html" title="enum in org.apache.hadoop.hbase.thrift.generated">Hbase.getRegionInfo_result._Fields</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/thrift/generated/Hbase.getRegionInfo_result._Fields.html#line.53718">valueOf</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are
+enum constant in this type.  (Extraneous whitespace characters are 
 not permitted.)</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>


[14/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/book.html
----------------------------------------------------------------------
diff --git a/0.94/book.html b/0.94/book.html
index ee5df9e..bf28251 100644
--- a/0.94/book.html
+++ b/0.94/book.html
@@ -7,38 +7,38 @@
        </a>
     </h2></div><div><p class="copyright">Copyright &copy; 2012 Apache Software Foundation.
         All Rights Reserved.  Apache Hadoop, Hadoop, MapReduce, HDFS, Zookeeper, HBase, and the HBase project logo are trademarks of the Apache Software Foundation.
-        </p></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision
+        </p></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 
           0.94.27
         </td><td align="left">
-          2015-11-03T11:44
+          2015-12-16T16:51
         </td></tr></table></div></div><div><div class="abstract" title="Abstract"><p class="title"><b>Abstract</b></p><p>This is the official reference guide of
     <a class="link" href="http://www.hbase.org" target="_top">Apache HBase (TM)</a>,
     a distributed, versioned, column-oriented database built on top of
     <a class="link" href="http://hadoop.apache.org/" target="_top">Apache Hadoop</a> and
     <a class="link" href="http://zookeeper.apache.org/" target="_top">Apache ZooKeeper</a>.
-      </p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="#preface">Preface</a></span></dt><dt><span class="chapter"><a href="#getting_started">1. Getting Started</a></span></dt><dd><dl><dt><span class="section"><a href="#d1984e77">1.1. Introduction</a></span></dt><dt><span class="section"><a href="#quickstart">1.2. Quick Start</a></span></dt></dl></dd><dt><span class="chapter"><a href="#configuration">2. Apache HBase (TM) Configuration</a></span></dt><dd><dl><dt><span class="section"><a href="#basic.prerequisites">2.1. Basic Prerequisites</a></span></dt><dt><span class="section"><a href="#standalone_dist">2.2. HBase run modes: Standalone and Distributed</a></span></dt><dt><span class="section"><a href="#config.files">2.3. Configuration Files</a></span></dt><dt><span class="section"><a href="#example_config">2.4. Example Configurations</a></span></dt><dt><span class="section"><a href="#important_configurations">2.5. 
 The Important Configurations</a></span></dt></dl></dd><dt><span class="chapter"><a href="#upgrading">3. Upgrading</a></span></dt><dd><dl><dt><span class="section"><a href="#upgrade0.96">3.1. Upgrading from 0.94.x to 0.96.x</a></span></dt><dt><span class="section"><a href="#upgrade0.94">3.2. Upgrading from 0.92.x to 0.94.x</a></span></dt><dt><span class="section"><a href="#upgrade0.92">3.3. Upgrading from 0.90.x to 0.92.x</a></span></dt><dt><span class="section"><a href="#upgrade0.90">3.4. Upgrading to HBase 0.90.x from 0.20.x or 0.89.x</a></span></dt></dl></dd><dt><span class="chapter"><a href="#shell">4. The Apache HBase Shell</a></span></dt><dd><dl><dt><span class="section"><a href="#scripting">4.1. Scripting</a></span></dt><dt><span class="section"><a href="#shell_tricks">4.2. Shell Tricks</a></span></dt></dl></dd><dt><span class="chapter"><a href="#datamodel">5. Data Model</a></span></dt><dd><dl><dt><span class="section"><a href="#conceptual.view">5.1. Conceptual View</a></span>
 </dt><dt><span class="section"><a href="#physical.view">5.2. Physical View</a></span></dt><dt><span class="section"><a href="#table">5.3. Table</a></span></dt><dt><span class="section"><a href="#row">5.4. Row</a></span></dt><dt><span class="section"><a href="#columnfamily">5.5. Column Family</a></span></dt><dt><span class="section"><a href="#cells">5.6. Cells</a></span></dt><dt><span class="section"><a href="#data_model_operations">5.7. Data Model Operations</a></span></dt><dt><span class="section"><a href="#versions">5.8. Versions</a></span></dt><dt><span class="section"><a href="#dm.sort">5.9. Sort Order</a></span></dt><dt><span class="section"><a href="#dm.column.metadata">5.10. Column Metadata</a></span></dt><dt><span class="section"><a href="#joins">5.11. Joins</a></span></dt><dt><span class="section"><a href="#acid">5.12. ACID</a></span></dt></dl></dd><dt><span class="chapter"><a href="#schema">6. HBase and Schema Design</a></span></dt><dd><dl><dt><span class="section"><a href
 ="#schema.creation">6.1.
+      </p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="#preface">Preface</a></span></dt><dt><span class="chapter"><a href="#getting_started">1. Getting Started</a></span></dt><dd><dl><dt><span class="section"><a href="#d1984e77">1.1. Introduction</a></span></dt><dt><span class="section"><a href="#quickstart">1.2. Quick Start</a></span></dt></dl></dd><dt><span class="chapter"><a href="#configuration">2. Apache HBase (TM) Configuration</a></span></dt><dd><dl><dt><span class="section"><a href="#basic.prerequisites">2.1. Basic Prerequisites</a></span></dt><dt><span class="section"><a href="#standalone_dist">2.2. HBase run modes: Standalone and Distributed</a></span></dt><dt><span class="section"><a href="#config.files">2.3. Configuration Files</a></span></dt><dt><span class="section"><a href="#example_config">2.4. Example Configurations</a></span></dt><dt><span class="section"><a href="#important_configurations">2.5. 
 The Important Configurations</a></span></dt></dl></dd><dt><span class="chapter"><a href="#upgrading">3. Upgrading</a></span></dt><dd><dl><dt><span class="section"><a href="#upgrade0.96">3.1. Upgrading from 0.94.x to 0.96.x</a></span></dt><dt><span class="section"><a href="#upgrade0.94">3.2. Upgrading from 0.92.x to 0.94.x</a></span></dt><dt><span class="section"><a href="#upgrade0.92">3.3. Upgrading from 0.90.x to 0.92.x</a></span></dt><dt><span class="section"><a href="#upgrade0.90">3.4. Upgrading to HBase 0.90.x from 0.20.x or 0.89.x</a></span></dt></dl></dd><dt><span class="chapter"><a href="#shell">4. The Apache HBase Shell</a></span></dt><dd><dl><dt><span class="section"><a href="#scripting">4.1. Scripting</a></span></dt><dt><span class="section"><a href="#shell_tricks">4.2. Shell Tricks</a></span></dt></dl></dd><dt><span class="chapter"><a href="#datamodel">5. Data Model</a></span></dt><dd><dl><dt><span class="section"><a href="#conceptual.view">5.1. Conceptual View</a></span>
 </dt><dt><span class="section"><a href="#physical.view">5.2. Physical View</a></span></dt><dt><span class="section"><a href="#table">5.3. Table</a></span></dt><dt><span class="section"><a href="#row">5.4. Row</a></span></dt><dt><span class="section"><a href="#columnfamily">5.5. Column Family</a></span></dt><dt><span class="section"><a href="#cells">5.6. Cells</a></span></dt><dt><span class="section"><a href="#data_model_operations">5.7. Data Model Operations</a></span></dt><dt><span class="section"><a href="#versions">5.8. Versions</a></span></dt><dt><span class="section"><a href="#dm.sort">5.9. Sort Order</a></span></dt><dt><span class="section"><a href="#dm.column.metadata">5.10. Column Metadata</a></span></dt><dt><span class="section"><a href="#joins">5.11. Joins</a></span></dt><dt><span class="section"><a href="#acid">5.12. ACID</a></span></dt></dl></dd><dt><span class="chapter"><a href="#schema">6. HBase and Schema Design</a></span></dt><dd><dl><dt><span class="section"><a href
 ="#schema.creation">6.1. 
       Schema Creation
-  </a></span></dt><dt><span class="section"><a href="#number.of.cfs">6.2.
+  </a></span></dt><dt><span class="section"><a href="#number.of.cfs">6.2. 
       On the number of column families
-  </a></span></dt><dt><span class="section"><a href="#rowkey.design">6.3. Rowkey Design</a></span></dt><dt><span class="section"><a href="#schema.versions">6.4.
+  </a></span></dt><dt><span class="section"><a href="#rowkey.design">6.3. Rowkey Design</a></span></dt><dt><span class="section"><a href="#schema.versions">6.4. 
   Number of Versions
-  </a></span></dt><dt><span class="section"><a href="#supported.datatypes">6.5.
+  </a></span></dt><dt><span class="section"><a href="#supported.datatypes">6.5. 
   Supported Datatypes
-  </a></span></dt><dt><span class="section"><a href="#schema.joins">6.6. Joins</a></span></dt><dt><span class="section"><a href="#ttl">6.7. Time To Live (TTL)</a></span></dt><dt><span class="section"><a href="#cf.keep.deleted">6.8.
+  </a></span></dt><dt><span class="section"><a href="#schema.joins">6.6. Joins</a></span></dt><dt><span class="section"><a href="#ttl">6.7. Time To Live (TTL)</a></span></dt><dt><span class="section"><a href="#cf.keep.deleted">6.8. 
   Keeping Deleted Cells
-  </a></span></dt><dt><span class="section"><a href="#secondary.indexes">6.9.
+  </a></span></dt><dt><span class="section"><a href="#secondary.indexes">6.9. 
   Secondary Indexes and Alternate Query Paths
-  </a></span></dt><dt><span class="section"><a href="#schema.smackdown">6.10. Schema Design Smackdown</a></span></dt><dt><span class="section"><a href="#schema.ops">6.11. Operational and Performance Configuration Options</a></span></dt><dt><span class="section"><a href="#constraints">6.12. Constraints</a></span></dt></dl></dd><dt><span class="chapter"><a href="#mapreduce">7. HBase and MapReduce</a></span></dt><dd><dl><dt><span class="section"><a href="#splitter">7.1. Map-Task Spitting</a></span></dt><dt><span class="section"><a href="#mapreduce.example">7.2. HBase MapReduce Examples</a></span></dt><dt><span class="section"><a href="#mapreduce.htable.access">7.3. Accessing Other HBase Tables in a MapReduce Job</a></span></dt><dt><span class="section"><a href="#mapreduce.specex">7.4. Speculative Execution</a></span></dt></dl></dd><dt><span class="chapter"><a href="#security">8. Secure Apache HBase (TM)</a></span></dt><dd><dl><dt><span class="section"><a href="#hbase.secure.configurati
 on">8.1. Secure Client Access to Apache HBase</a></span></dt><dt><span class="section"><a href="#hbase.accesscontrol.configuration">8.2. Access Control</a></span></dt><dt><span class="section"><a href="#hbase.secure.bulkload">8.3. Secure Bulk Load</a></span></dt></dl></dd><dt><span class="chapter"><a href="#architecture">9. Architecture</a></span></dt><dd><dl><dt><span class="section"><a href="#arch.overview">9.1. Overview</a></span></dt><dt><span class="section"><a href="#arch.catalog">9.2. Catalog Tables</a></span></dt><dt><span class="section"><a href="#client">9.3. Client</a></span></dt><dt><span class="section"><a href="#client.filter">9.4. Client Request Filters</a></span></dt><dt><span class="section"><a href="#master">9.5. Master</a></span></dt><dt><span class="section"><a href="#regionserver.arch">9.6. RegionServer</a></span></dt><dt><span class="section"><a href="#regions.arch">9.7. Regions</a></span></dt><dt><span class="section"><a href="#arch.bulk.load">9.8. Bulk Loadin
 g</a></span></dt><dt><span class="section"><a href="#arch.hdfs">9.9. HDFS</a></span></dt></dl></dd><dt><span class="chapter"><a href="#external_apis">10. Apache HBase (TM) External APIs</a></span></dt><dd><dl><dt><span class="section"><a href="#nonjava.jvm">10.1. Non-Java Languages Talking to the JVM</a></span></dt><dt><span class="section"><a href="#rest">10.2. REST</a></span></dt><dt><span class="section"><a href="#thrift">10.3. Thrift</a></span></dt><dt><span class="section"><a href="#c">10.4. C/C++ Apache HBase Client</a></span></dt></dl></dd><dt><span class="chapter"><a href="#performance">11. Apache HBase (TM) Performance Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.os">11.1. Operating System</a></span></dt><dt><span class="section"><a href="#perf.network">11.2. Network</a></span></dt><dt><span class="section"><a href="#jvm">11.3. Java</a></span></dt><dt><span class="section"><a href="#perf.configurations">11.4. HBase Configurations</a></span></dt><dt
 ><span class="section"><a href="#perf.zookeeper">11.5. ZooKeeper</a></span></dt><dt><span class="section"><a href="#perf.schema">11.6. Schema Design</a></span></dt><dt><span class="section"><a href="#perf.writing">11.7. Writing to HBase</a></span></dt><dt><span class="section"><a href="#perf.reading">11.8. Reading from HBase</a></span></dt><dt><span class="section"><a href="#perf.deleting">11.9. Deleting from HBase</a></span></dt><dt><span class="section"><a href="#perf.hdfs">11.10. HDFS</a></span></dt><dt><span class="section"><a href="#perf.ec2">11.11. Amazon EC2</a></span></dt><dt><span class="section"><a href="#perf.casestudy">11.12. Case Studies</a></span></dt></dl></dd><dt><span class="chapter"><a href="#trouble">12. Troubleshooting and Debugging Apache HBase (TM)</a></span></dt><dd><dl><dt><span class="section"><a href="#trouble.general">12.1. General Guidelines</a></span></dt><dt><span class="section"><a href="#trouble.log">12.2. Logs</a></span></dt><dt><span class="section"
 ><a href="#trouble.resources">12.3. Resources</a></span></dt><dt><span class="section"><a href="#trouble.tools">12.4. Tools</a></span></dt><dt><span class="section"><a href="#trouble.client">12.5. Client</a></span></dt><dt><span class="section"><a href="#trouble.mapreduce">12.6. MapReduce</a></span></dt><dt><span class="section"><a href="#trouble.namenode">12.7. NameNode</a></span></dt><dt><span class="section"><a href="#trouble.network">12.8. Network</a></span></dt><dt><span class="section"><a href="#trouble.rs">12.9. RegionServer</a></span></dt><dt><span class="section"><a href="#trouble.master">12.10. Master</a></span></dt><dt><span class="section"><a href="#trouble.zookeeper">12.11. ZooKeeper</a></span></dt><dt><span class="section"><a href="#trouble.ec2">12.12. Amazon EC2</a></span></dt><dt><span class="section"><a href="#trouble.versions">12.13. HBase and Hadoop version issues</a></span></dt><dt><span class="section"><a href="#trouble.casestudy">12.14. Case Studies</a></span><
 /dt></dl></dd><dt><span class="chapter"><a href="#casestudies">13. Apache HBase (TM) Case Studies</a></span></dt><dd><dl><dt><span class="section"><a href="#casestudies.overview">13.1. Overview</a></span></dt><dt><span class="section"><a href="#casestudies.schema">13.2. Schema Design</a></span></dt><dt><span class="section"><a href="#casestudies.perftroub">13.3. Performance/Troubleshooting</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ops_mgt">14. Apache HBase (TM) Operational Management</a></span></dt><dd><dl><dt><span class="section"><a href="#tools">14.1. HBase Tools and Utilities</a></span></dt><dt><span class="section"><a href="#ops.regionmgt">14.2. Region Management</a></span></dt><dt><span class="section"><a href="#node.management">14.3. Node Management</a></span></dt><dt><span class="section"><a href="#hbase_metrics">14.4. HBase Metrics</a></span></dt><dt><span class="section"><a href="#ops.monitoring">14.5. HBase Monitoring</a></span></dt><dt><span class="sec
 tion"><a href="#cluster_replication">14.6. Cluster Replication</a></span></dt><dt><span class="section"><a href="#ops.backup">14.7. HBase Backup</a></span></dt><dt><span class="section"><a href="#ops.snapshots">14.8. HBase Snapshots</a></span></dt><dt><span class="section"><a href="#ops.capacity">14.9. Capacity Planning</a></span></dt></dl></dd><dt><span class="chapter"><a href="#developer">15. Building and Developing Apache HBase (TM)</a></span></dt><dd><dl><dt><span class="section"><a href="#repos">15.1. Apache HBase Repositories</a></span></dt><dt><span class="section"><a href="#ides">15.2. IDEs</a></span></dt><dt><span class="section"><a href="#build">15.3. Building Apache HBase</a></span></dt><dt><span class="section"><a href="#mvn_repo">15.4. Adding an Apache HBase release to Apache's Maven Repository</a></span></dt><dt><span class="section"><a href="#documentation">15.5. Generating the HBase Reference Guide</a></span></dt><dt><span class="section"><a href="#hbase.org">15.6. U
 pdating hbase.apache.org</a></span></dt><dt><span class="section"><a href="#hbase.tests">15.7. Tests</a></span></dt><dt><span class="section"><a href="#maven.build.commands">15.8. Maven Build Commands</a></span></dt><dt><span class="section"><a href="#getting.involved">15.9. Getting Involved</a></span></dt><dt><span class="section"><a href="#developing">15.10. Developing</a></span></dt><dt><span class="section"><a href="#submitting.patches">15.11. Submitting Patches</a></span></dt></dl></dd><dt><span class="chapter"><a href="#zookeeper">16. ZooKeeper</a></span></dt><dd><dl><dt><span class="section"><a href="#d1984e11388">16.1. Using existing ZooKeeper ensemble</a></span></dt><dt><span class="section"><a href="#zk.sasl.auth">16.2. SASL Authentication with ZooKeeper</a></span></dt></dl></dd><dt><span class="chapter"><a href="#community">17. Community</a></span></dt><dd><dl><dt><span class="section"><a href="#decisions">17.1. Decisions</a></span></dt><dt><span class="section"><a href="
 #community.roles">17.2. Community Roles</a></span></dt></dl></dd><dt><span class="appendix"><a href="#faq">A. FAQ</a></span></dt><dt><span class="appendix"><a href="#hbck.in.depth">B. hbck In Depth</a></span></dt><dd><dl><dt><span class="section"><a href="#d1984e12015">B.1. Running hbck to identify inconsistencies</a></span></dt><dt><span class="section"><a href="#d1984e12031">B.2. Inconsistencies</a></span></dt><dt><span class="section"><a href="#d1984e12050">B.3. Localized repairs</a></span></dt><dt><span class="section"><a href="#d1984e12088">B.4. Region Overlap Repairs</a></span></dt></dl></dd><dt><span class="appendix"><a href="#compression">C. Compression In HBase</a></span></dt><dd><dl><dt><span class="section"><a href="#compression.test">C.1. CompressionTest Tool</a></span></dt><dt><span class="section"><a href="#hbase.regionserver.codecs">C.2.
+  </a></span></dt><dt><span class="section"><a href="#schema.smackdown">6.10. Schema Design Smackdown</a></span></dt><dt><span class="section"><a href="#schema.ops">6.11. Operational and Performance Configuration Options</a></span></dt><dt><span class="section"><a href="#constraints">6.12. Constraints</a></span></dt></dl></dd><dt><span class="chapter"><a href="#mapreduce">7. HBase and MapReduce</a></span></dt><dd><dl><dt><span class="section"><a href="#splitter">7.1. Map-Task Spitting</a></span></dt><dt><span class="section"><a href="#mapreduce.example">7.2. HBase MapReduce Examples</a></span></dt><dt><span class="section"><a href="#mapreduce.htable.access">7.3. Accessing Other HBase Tables in a MapReduce Job</a></span></dt><dt><span class="section"><a href="#mapreduce.specex">7.4. Speculative Execution</a></span></dt></dl></dd><dt><span class="chapter"><a href="#security">8. Secure Apache HBase (TM)</a></span></dt><dd><dl><dt><span class="section"><a href="#hbase.secure.configurati
 on">8.1. Secure Client Access to Apache HBase</a></span></dt><dt><span class="section"><a href="#hbase.accesscontrol.configuration">8.2. Access Control</a></span></dt><dt><span class="section"><a href="#hbase.secure.bulkload">8.3. Secure Bulk Load</a></span></dt></dl></dd><dt><span class="chapter"><a href="#architecture">9. Architecture</a></span></dt><dd><dl><dt><span class="section"><a href="#arch.overview">9.1. Overview</a></span></dt><dt><span class="section"><a href="#arch.catalog">9.2. Catalog Tables</a></span></dt><dt><span class="section"><a href="#client">9.3. Client</a></span></dt><dt><span class="section"><a href="#client.filter">9.4. Client Request Filters</a></span></dt><dt><span class="section"><a href="#master">9.5. Master</a></span></dt><dt><span class="section"><a href="#regionserver.arch">9.6. RegionServer</a></span></dt><dt><span class="section"><a href="#regions.arch">9.7. Regions</a></span></dt><dt><span class="section"><a href="#arch.bulk.load">9.8. Bulk Loadin
 g</a></span></dt><dt><span class="section"><a href="#arch.hdfs">9.9. HDFS</a></span></dt></dl></dd><dt><span class="chapter"><a href="#external_apis">10. Apache HBase (TM) External APIs</a></span></dt><dd><dl><dt><span class="section"><a href="#nonjava.jvm">10.1. Non-Java Languages Talking to the JVM</a></span></dt><dt><span class="section"><a href="#rest">10.2. REST</a></span></dt><dt><span class="section"><a href="#thrift">10.3. Thrift</a></span></dt><dt><span class="section"><a href="#c">10.4. C/C++ Apache HBase Client</a></span></dt></dl></dd><dt><span class="chapter"><a href="#performance">11. Apache HBase (TM) Performance Tuning</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.os">11.1. Operating System</a></span></dt><dt><span class="section"><a href="#perf.network">11.2. Network</a></span></dt><dt><span class="section"><a href="#jvm">11.3. Java</a></span></dt><dt><span class="section"><a href="#perf.configurations">11.4. HBase Configurations</a></span></dt><dt
 ><span class="section"><a href="#perf.zookeeper">11.5. ZooKeeper</a></span></dt><dt><span class="section"><a href="#perf.schema">11.6. Schema Design</a></span></dt><dt><span class="section"><a href="#perf.writing">11.7. Writing to HBase</a></span></dt><dt><span class="section"><a href="#perf.reading">11.8. Reading from HBase</a></span></dt><dt><span class="section"><a href="#perf.deleting">11.9. Deleting from HBase</a></span></dt><dt><span class="section"><a href="#perf.hdfs">11.10. HDFS</a></span></dt><dt><span class="section"><a href="#perf.ec2">11.11. Amazon EC2</a></span></dt><dt><span class="section"><a href="#perf.casestudy">11.12. Case Studies</a></span></dt></dl></dd><dt><span class="chapter"><a href="#trouble">12. Troubleshooting and Debugging Apache HBase (TM)</a></span></dt><dd><dl><dt><span class="section"><a href="#trouble.general">12.1. General Guidelines</a></span></dt><dt><span class="section"><a href="#trouble.log">12.2. Logs</a></span></dt><dt><span class="section"
 ><a href="#trouble.resources">12.3. Resources</a></span></dt><dt><span class="section"><a href="#trouble.tools">12.4. Tools</a></span></dt><dt><span class="section"><a href="#trouble.client">12.5. Client</a></span></dt><dt><span class="section"><a href="#trouble.mapreduce">12.6. MapReduce</a></span></dt><dt><span class="section"><a href="#trouble.namenode">12.7. NameNode</a></span></dt><dt><span class="section"><a href="#trouble.network">12.8. Network</a></span></dt><dt><span class="section"><a href="#trouble.rs">12.9. RegionServer</a></span></dt><dt><span class="section"><a href="#trouble.master">12.10. Master</a></span></dt><dt><span class="section"><a href="#trouble.zookeeper">12.11. ZooKeeper</a></span></dt><dt><span class="section"><a href="#trouble.ec2">12.12. Amazon EC2</a></span></dt><dt><span class="section"><a href="#trouble.versions">12.13. HBase and Hadoop version issues</a></span></dt><dt><span class="section"><a href="#trouble.casestudy">12.14. Case Studies</a></span><
 /dt></dl></dd><dt><span class="chapter"><a href="#casestudies">13. Apache HBase (TM) Case Studies</a></span></dt><dd><dl><dt><span class="section"><a href="#casestudies.overview">13.1. Overview</a></span></dt><dt><span class="section"><a href="#casestudies.schema">13.2. Schema Design</a></span></dt><dt><span class="section"><a href="#casestudies.perftroub">13.3. Performance/Troubleshooting</a></span></dt></dl></dd><dt><span class="chapter"><a href="#ops_mgt">14. Apache HBase (TM) Operational Management</a></span></dt><dd><dl><dt><span class="section"><a href="#tools">14.1. HBase Tools and Utilities</a></span></dt><dt><span class="section"><a href="#ops.regionmgt">14.2. Region Management</a></span></dt><dt><span class="section"><a href="#node.management">14.3. Node Management</a></span></dt><dt><span class="section"><a href="#hbase_metrics">14.4. HBase Metrics</a></span></dt><dt><span class="section"><a href="#ops.monitoring">14.5. HBase Monitoring</a></span></dt><dt><span class="sec
 tion"><a href="#cluster_replication">14.6. Cluster Replication</a></span></dt><dt><span class="section"><a href="#ops.backup">14.7. HBase Backup</a></span></dt><dt><span class="section"><a href="#ops.snapshots">14.8. HBase Snapshots</a></span></dt><dt><span class="section"><a href="#ops.capacity">14.9. Capacity Planning</a></span></dt></dl></dd><dt><span class="chapter"><a href="#developer">15. Building and Developing Apache HBase (TM)</a></span></dt><dd><dl><dt><span class="section"><a href="#repos">15.1. Apache HBase Repositories</a></span></dt><dt><span class="section"><a href="#ides">15.2. IDEs</a></span></dt><dt><span class="section"><a href="#build">15.3. Building Apache HBase</a></span></dt><dt><span class="section"><a href="#mvn_repo">15.4. Adding an Apache HBase release to Apache's Maven Repository</a></span></dt><dt><span class="section"><a href="#documentation">15.5. Generating the HBase Reference Guide</a></span></dt><dt><span class="section"><a href="#hbase.org">15.6. U
 pdating hbase.apache.org</a></span></dt><dt><span class="section"><a href="#hbase.tests">15.7. Tests</a></span></dt><dt><span class="section"><a href="#maven.build.commands">15.8. Maven Build Commands</a></span></dt><dt><span class="section"><a href="#getting.involved">15.9. Getting Involved</a></span></dt><dt><span class="section"><a href="#developing">15.10. Developing</a></span></dt><dt><span class="section"><a href="#submitting.patches">15.11. Submitting Patches</a></span></dt></dl></dd><dt><span class="chapter"><a href="#zookeeper">16. ZooKeeper</a></span></dt><dd><dl><dt><span class="section"><a href="#d1984e11388">16.1. Using existing ZooKeeper ensemble</a></span></dt><dt><span class="section"><a href="#zk.sasl.auth">16.2. SASL Authentication with ZooKeeper</a></span></dt></dl></dd><dt><span class="chapter"><a href="#community">17. Community</a></span></dt><dd><dl><dt><span class="section"><a href="#decisions">17.1. Decisions</a></span></dt><dt><span class="section"><a href="
 #community.roles">17.2. Community Roles</a></span></dt></dl></dd><dt><span class="appendix"><a href="#faq">A. FAQ</a></span></dt><dt><span class="appendix"><a href="#hbck.in.depth">B. hbck In Depth</a></span></dt><dd><dl><dt><span class="section"><a href="#d1984e12015">B.1. Running hbck to identify inconsistencies</a></span></dt><dt><span class="section"><a href="#d1984e12031">B.2. Inconsistencies</a></span></dt><dt><span class="section"><a href="#d1984e12050">B.3. Localized repairs</a></span></dt><dt><span class="section"><a href="#d1984e12088">B.4. Region Overlap Repairs</a></span></dt></dl></dd><dt><span class="appendix"><a href="#compression">C. Compression In HBase</a></span></dt><dd><dl><dt><span class="section"><a href="#compression.test">C.1. CompressionTest Tool</a></span></dt><dt><span class="section"><a href="#hbase.regionserver.codecs">C.2. 
     <code class="varname">
     hbase.regionserver.codecs
     </code>
-    </a></span></dt><dt><span class="section"><a href="#lzo.compression">C.3.
+    </a></span></dt><dt><span class="section"><a href="#lzo.compression">C.3. 
     LZO
-    </a></span></dt><dt><span class="section"><a href="#gzip.compression">C.4.
+    </a></span></dt><dt><span class="section"><a href="#gzip.compression">C.4. 
     GZIP
-    </a></span></dt><dt><span class="section"><a href="#snappy.compression">C.5.
+    </a></span></dt><dt><span class="section"><a href="#snappy.compression">C.5. 
     SNAPPY
-    </a></span></dt><dt><span class="section"><a href="#changing.compression">C.6. Changing Compression Schemes</a></span></dt></dl></dd><dt><span class="appendix"><a href="#d1984e12294">D. YCSB: The Yahoo! Cloud Serving Benchmark and HBase</a></span></dt><dt><span class="appendix"><a href="#hfilev2">E. HFile format version 2</a></span></dt><dd><dl><dt><span class="section"><a href="#d1984e12311">E.1. Motivation </a></span></dt><dt><span class="section"><a href="#d1984e12324">E.2. HFile format version 1 overview </a></span></dt><dt><span class="section"><a href="#d1984e12370">E.3.
+    </a></span></dt><dt><span class="section"><a href="#changing.compression">C.6. Changing Compression Schemes</a></span></dt></dl></dd><dt><span class="appendix"><a href="#d1984e12294">D. YCSB: The Yahoo! Cloud Serving Benchmark and HBase</a></span></dt><dt><span class="appendix"><a href="#hfilev2">E. HFile format version 2</a></span></dt><dd><dl><dt><span class="section"><a href="#d1984e12311">E.1. Motivation </a></span></dt><dt><span class="section"><a href="#d1984e12324">E.2. HFile format version 1 overview </a></span></dt><dt><span class="section"><a href="#d1984e12370">E.3. 
       HBase file format with inline blocks (version 2)
       </a></span></dt></dl></dd><dt><span class="appendix"><a href="#other.info">F. Other Information About HBase</a></span></dt><dd><dl><dt><span class="section"><a href="#other.info.videos">F.1. HBase Videos</a></span></dt><dt><span class="section"><a href="#other.info.pres">F.2. HBase Presentations (Slides)</a></span></dt><dt><span class="section"><a href="#other.info.papers">F.3. HBase Papers</a></span></dt><dt><span class="section"><a href="#other.info.sites">F.4. HBase Sites</a></span></dt><dt><span class="section"><a href="#other.info.books">F.5. HBase Books</a></span></dt><dt><span class="section"><a href="#other.info.books.hadoop">F.6. Hadoop Books</a></span></dt></dl></dd><dt><span class="appendix"><a href="#hbase.history">G. HBase History</a></span></dt><dt><span class="appendix"><a href="#asf">H. HBase and the Apache Software Foundation</a></span></dt><dd><dl><dt><span class="section"><a href="#asf.devprocess">H.1. ASF Development Process</a></span></dt><dt><span class="
 section"><a href="#asf.reporting">H.2. ASF Board Reporting</a></span></dt></dl></dd><dt><span class="appendix"><a href="#tracing">I. Enabling Dapper-like Tracing in HBase</a></span></dt><dd><dl><dt><span class="section"><a href="#tracing.spanreceivers">I.1. SpanReceivers</a></span></dt><dt><span class="section"><a href="#tracing.client.modifications">I.2. Client Modifications</a></span></dt></dl></dd><dt><span class="index"><a href="#book_index">Index</a></span></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>2.1. <a href="#d1984e486">Hadoop version support matrix</a></dt><dt>5.1. <a href="#d1984e3253">Table <code class="varname">webtable</code></a></dt><dt>5.2. <a href="#d1984e3337">ColumnFamily <code class="varname">anchor</code></a></dt><dt>5.3. <a href="#d1984e3376">ColumnFamily <code class="varname">contents</code></a></dt><dt>8.1. <a href="#d1984e4606">Operation To Permission Mapping</a></dt></dl></div><div class="preface" title="Preface"><div cl
 ass="titlepage"><div><div><h2 class="title"><a name="preface"></a>Preface</h2></div></div></div><p>This is the official reference guide for the <a class="link" href="http://hbase.apache.org/" target="_top">HBase</a> version it ships with.
   This document describes HBase version <span class="emphasis"><em>0.94.27</em></span>.
@@ -514,7 +514,7 @@ stopping hbase...............</pre><p> Shutdown can take a moment to
   <span style="color: red">&lt;property&gt;
     <span style="color: red">&lt;name&gt;hbase.local.dir&lt;/name&gt;</span>
     <span style="color: red">&lt;value&gt;${hbase.tmp.dir}/local/&lt;/value&gt;</span>
-    <span style="color: red">&lt;description&gt;Directory on the local filesystem to be used
+    <span style="color: red">&lt;description&gt;Directory on the local filesystem to be used 
     as a local storage.
     &lt;/description&gt;</span>
   &lt;/property&gt;</span>
@@ -591,7 +591,7 @@ stopping hbase...............</pre><p> Shutdown can take a moment to
     server, getting a cell's value, starting a row update, etc.
     Default: 14.
     &lt;/description&gt;</span>
-  &lt;/property&gt;</span>
+  &lt;/property&gt;</span> 
   <span style="color: red">&lt;property&gt;
     <span style="color: red">&lt;name&gt;hbase.bulkload.retries.number&lt;/name&gt;</span>
     <span style="color: red">&lt;value&gt;0&lt;/value&gt;</span>
@@ -1023,12 +1023,12 @@ stopping hbase...............</pre><p> Shutdown can take a moment to
     <span style="color: red">&lt;value&gt;org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy&lt;/value&gt;</span>
     <span style="color: red">&lt;description&gt;
       A split policy determines when a region should be split. The various other split policies that
-      are available currently are ConstantSizeRegionSplitPolicy, DisabledRegionSplitPolicy,
-      DelimitedKeyPrefixRegionSplitPolicy, KeyPrefixRegionSplitPolicy etc.
+      are available currently are ConstantSizeRegionSplitPolicy, DisabledRegionSplitPolicy, 
+      DelimitedKeyPrefixRegionSplitPolicy, KeyPrefixRegionSplitPolicy etc.  
     &lt;/description&gt;</span>
   &lt;/property&gt;</span>
 
-
+  
   <span style="color: red">&lt;property&gt;
     <span style="color: red">&lt;name&gt;hbase.master.keytab.file&lt;/name&gt;</span>
     <span style="color: red">&lt;value&gt;&lt;/value&gt;</span>
@@ -1065,7 +1065,7 @@ stopping hbase...............</pre><p> Shutdown can take a moment to
     &lt;/description&gt;</span>
   &lt;/property&gt;</span>
 
-
+  
   <span style="color: red">&lt;property&gt;
     <span style="color: red">&lt;name&gt;hadoop.policy.file&lt;/name&gt;</span>
     <span style="color: red">&lt;value&gt;hbase-policy.xml&lt;/value&gt;</span>
@@ -1085,7 +1085,7 @@ stopping hbase...............</pre><p> Shutdown can take a moment to
   <span style="color: red">&lt;property&gt;
     <span style="color: red">&lt;name&gt;hbase.auth.key.update.interval&lt;/name&gt;</span>
     <span style="color: red">&lt;value&gt;86400000&lt;/value&gt;</span>
-    <span style="color: red">&lt;description&gt;The update interval for master key for authentication tokens
+    <span style="color: red">&lt;description&gt;The update interval for master key for authentication tokens 
     in servers in milliseconds.  Only used when HBase security is enabled.
     &lt;/description&gt;</span>
   &lt;/property&gt;</span>
@@ -1147,7 +1147,7 @@ stopping hbase...............</pre><p> Shutdown can take a moment to
     <span style="color: red">&lt;value&gt;acl&lt;/value&gt;</span>
     <span style="color: red">&lt;description&gt;Root ZNode for access control lists.&lt;/description&gt;</span>
   &lt;/property&gt;</span>
-
+  
   <span style="color: red">&lt;property&gt;
     <span style="color: red">&lt;name&gt;hbase.coprocessor.region.classes&lt;/name&gt;</span>
     <span style="color: red">&lt;value&gt;&lt;/value&gt;</span>
@@ -1171,7 +1171,7 @@ stopping hbase...............</pre><p> Shutdown can take a moment to
     &lt;/description&gt;</span>
   &lt;/property&gt;</span>
 
-
+  
   <span style="color: red">&lt;property&gt;
     <span style="color: red">&lt;name&gt;hbase.zookeeper.quorum&lt;/name&gt;</span>
     <span style="color: red">&lt;value&gt;localhost&lt;/value&gt;</span>
@@ -1210,9 +1210,9 @@ stopping hbase...............</pre><p> Shutdown can take a moment to
     not fail gracefully if multi-update is invoked (see ZOOKEEPER-1495).
     &lt;/description&gt;</span>
   &lt;/property&gt;</span>
+  
 
-
-
+  
   <span style="color: red">&lt;property&gt;
     <span style="color: red">&lt;name&gt;hbase.zookeeper.property.initLimit&lt;/name&gt;</span>
     <span style="color: red">&lt;value&gt;10&lt;/value&gt;</span>
@@ -1252,7 +1252,7 @@ stopping hbase...............</pre><p> Shutdown can take a moment to
     standalone and pseudo-distributed.
     &lt;/description&gt;</span>
   &lt;/property&gt;</span>
-
+  
   <span style="color: red">&lt;property&gt;
     <span style="color: red">&lt;name&gt;hbase.rest.port&lt;/name&gt;</span>
     <span style="color: red">&lt;value&gt;8080&lt;/value&gt;</span>
@@ -1305,7 +1305,7 @@ stopping hbase...............</pre><p> Shutdown can take a moment to
     <span style="color: red">&lt;name&gt;hbase.online.schema.update.enable&lt;/name&gt;</span>
     <span style="color: red">&lt;value&gt;false&lt;/value&gt;</span>
     <span style="color: red">&lt;description&gt;
-    Set true to enable online schema changes.  This is an experimental feature.
+    Set true to enable online schema changes.  This is an experimental feature.  
     There are known issues modifying table schemas at the same time a region
     split is happening so your table needs to be quiescent or else you have to
     be running with splits disabled.
@@ -2206,14 +2206,14 @@ htable.put(put);
           consider the complete row to be deleted.</p><p>For an informative discussion on how deletes and versioning interact, see
           the thread <a class="link" href="http://comments.gmane.org/gmane.comp.java.hadoop.hbase.user/28421" target="_top">Put w/ timestamp -&gt; Deleteall -&gt; Put w/ timestamp fails</a>
           up on the user mailing list.</p><p>Also see <a class="xref" href="#keyvalue" title="9.7.5.4.&nbsp;KeyValue">Section&nbsp;9.7.5.4, &#8220;KeyValue&#8221;</a> for more information on the internal KeyValue format.
-          </p><p>Delete markers are purged during the major compaction of store,
-          unless the KEEP_DELETED_CELLS is set in the column family. In some
-          scenarios, users want to keep the deletes for a time and you can set the
-          delete TTL: hbase.hstore.time.to.purge.deletes in the configuration.
-          If this delete TTL is not set or set to 0, all delete markers including those
-          with future timestamp are purged during the later major compaction.
-          Otherwise, a delete marker is kept until the major compaction after
-          marker's timestamp + delete TTL.
+          </p><p>Delete markers are purged during the major compaction of store, 
+          unless the KEEP_DELETED_CELLS is set in the column family. In some 
+          scenarios, users want to keep the deletes for a time and you can set the 
+          delete TTL: hbase.hstore.time.to.purge.deletes in the configuration. 
+          If this delete TTL is not set or set to 0, all delete markers including those 
+          with future timestamp are purged during the later major compaction. 
+          Otherwise, a delete marker is kept until the major compaction after 
+          marker's timestamp + delete TTL. 
           </p></div></div><div class="section" title="5.8.2.&nbsp;Current Limitations"><div class="titlepage"><div><div><h3 class="title"><a name="d1984e3776"></a>5.8.2.&nbsp;Current Limitations</h3></div></div></div><div class="section" title="5.8.2.1.&nbsp;Deletes mask Puts"><div class="titlepage"><div><div><h4 class="title"><a name="d1984e3779"></a>5.8.2.1.&nbsp;Deletes mask Puts</h4></div></div></div><p>Deletes mask puts, even puts that happened after the delete
           was entered<sup>[<a name="d1984e3784" href="#ftn.d1984e3784" class="footnote">18</a>]</sup>. Remember that a delete writes a tombstone, which only
           disappears after then next major compaction has run. Suppose you do
@@ -2261,31 +2261,31 @@ htable.put(put);
             adding another, <a class="link" href="http://hadoop-hbase.blogspot.com/2012/01/scanning-in-hbase.html" target="_top">Scanning in HBase: Prefix Delete Marker</a></p></div><div class="footnote"><p><sup>[<a id="ftn.d1984e3761" href="#d1984e3761" class="para">17</a>] </sup>When HBase does a major compaction, the tombstones are
               processed to actually remove the dead values, together with the
               tombstones themselves.</p></div><div class="footnote"><p><sup>[<a id="ftn.d1984e3784" href="#d1984e3784" class="para">18</a>] </sup><a class="link" href="https://issues.apache.org/jira/browse/HBASE-2256" target="_top">HBASE-2256</a></p></div><div class="footnote"><p><sup>[<a id="ftn.d1984e3795" href="#d1984e3795" class="para">19</a>] </sup>See <span class="emphasis"><em>Garbage Collection</em></span> in <a class="link" href="http://outerthought.org/blog/417-ot.html" target="_top">Bending
-              time in HBase</a> </p></div></div></div><div class="chapter" title="Chapter&nbsp;6.&nbsp;HBase and Schema Design"><div class="titlepage"><div><div><h2 class="title"><a name="schema"></a>Chapter&nbsp;6.&nbsp;HBase and Schema Design</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#schema.creation">6.1.
+              time in HBase</a> </p></div></div></div><div class="chapter" title="Chapter&nbsp;6.&nbsp;HBase and Schema Design"><div class="titlepage"><div><div><h2 class="title"><a name="schema"></a>Chapter&nbsp;6.&nbsp;HBase and Schema Design</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#schema.creation">6.1. 
       Schema Creation
-  </a></span></dt><dd><dl><dt><span class="section"><a href="#schema.updates">6.1.1. Schema Updates</a></span></dt></dl></dd><dt><span class="section"><a href="#number.of.cfs">6.2.
+  </a></span></dt><dd><dl><dt><span class="section"><a href="#schema.updates">6.1.1. Schema Updates</a></span></dt></dl></dd><dt><span class="section"><a href="#number.of.cfs">6.2. 
       On the number of column families
-  </a></span></dt><dd><dl><dt><span class="section"><a href="#number.of.cfs.card">6.2.1. Cardinality of ColumnFamilies</a></span></dt></dl></dd><dt><span class="section"><a href="#rowkey.design">6.3. Rowkey Design</a></span></dt><dd><dl><dt><span class="section"><a href="#timeseries">6.3.1.
+  </a></span></dt><dd><dl><dt><span class="section"><a href="#number.of.cfs.card">6.2.1. Cardinality of ColumnFamilies</a></span></dt></dl></dd><dt><span class="section"><a href="#rowkey.design">6.3. Rowkey Design</a></span></dt><dd><dl><dt><span class="section"><a href="#timeseries">6.3.1. 
     Monotonically Increasing Row Keys/Timeseries Data
-    </a></span></dt><dt><span class="section"><a href="#keysize">6.3.2. Try to minimize row and column sizes</a></span></dt><dt><span class="section"><a href="#reverse.timestamp">6.3.3. Reverse Timestamps</a></span></dt><dt><span class="section"><a href="#rowkey.scope">6.3.4. Rowkeys and ColumnFamilies</a></span></dt><dt><span class="section"><a href="#changing.rowkeys">6.3.5. Immutability of Rowkeys</a></span></dt><dt><span class="section"><a href="#rowkey.regionsplits">6.3.6. Relationship Between RowKeys and Region Splits</a></span></dt></dl></dd><dt><span class="section"><a href="#schema.versions">6.4.
+    </a></span></dt><dt><span class="section"><a href="#keysize">6.3.2. Try to minimize row and column sizes</a></span></dt><dt><span class="section"><a href="#reverse.timestamp">6.3.3. Reverse Timestamps</a></span></dt><dt><span class="section"><a href="#rowkey.scope">6.3.4. Rowkeys and ColumnFamilies</a></span></dt><dt><span class="section"><a href="#changing.rowkeys">6.3.5. Immutability of Rowkeys</a></span></dt><dt><span class="section"><a href="#rowkey.regionsplits">6.3.6. Relationship Between RowKeys and Region Splits</a></span></dt></dl></dd><dt><span class="section"><a href="#schema.versions">6.4. 
   Number of Versions
-  </a></span></dt><dd><dl><dt><span class="section"><a href="#schema.versions.max">6.4.1. Maximum Number of Versions</a></span></dt><dt><span class="section"><a href="#schema.minversions">6.4.2.
+  </a></span></dt><dd><dl><dt><span class="section"><a href="#schema.versions.max">6.4.1. Maximum Number of Versions</a></span></dt><dt><span class="section"><a href="#schema.minversions">6.4.2. 
     Minimum Number of Versions
-    </a></span></dt></dl></dd><dt><span class="section"><a href="#supported.datatypes">6.5.
+    </a></span></dt></dl></dd><dt><span class="section"><a href="#supported.datatypes">6.5. 
   Supported Datatypes
-  </a></span></dt><dd><dl><dt><span class="section"><a href="#counters">6.5.1. Counters</a></span></dt></dl></dd><dt><span class="section"><a href="#schema.joins">6.6. Joins</a></span></dt><dt><span class="section"><a href="#ttl">6.7. Time To Live (TTL)</a></span></dt><dt><span class="section"><a href="#cf.keep.deleted">6.8.
+  </a></span></dt><dd><dl><dt><span class="section"><a href="#counters">6.5.1. Counters</a></span></dt></dl></dd><dt><span class="section"><a href="#schema.joins">6.6. Joins</a></span></dt><dt><span class="section"><a href="#ttl">6.7. Time To Live (TTL)</a></span></dt><dt><span class="section"><a href="#cf.keep.deleted">6.8. 
   Keeping Deleted Cells
-  </a></span></dt><dt><span class="section"><a href="#secondary.indexes">6.9.
+  </a></span></dt><dt><span class="section"><a href="#secondary.indexes">6.9. 
   Secondary Indexes and Alternate Query Paths
-  </a></span></dt><dd><dl><dt><span class="section"><a href="#secondary.indexes.filter">6.9.1.
+  </a></span></dt><dd><dl><dt><span class="section"><a href="#secondary.indexes.filter">6.9.1. 
        Filter Query
-      </a></span></dt><dt><span class="section"><a href="#secondary.indexes.periodic">6.9.2.
+      </a></span></dt><dt><span class="section"><a href="#secondary.indexes.periodic">6.9.2. 
        Periodic-Update Secondary Index
-      </a></span></dt><dt><span class="section"><a href="#secondary.indexes.dualwrite">6.9.3.
+      </a></span></dt><dt><span class="section"><a href="#secondary.indexes.dualwrite">6.9.3. 
        Dual-Write Secondary Index
-      </a></span></dt><dt><span class="section"><a href="#secondary.indexes.summary">6.9.4.
+      </a></span></dt><dt><span class="section"><a href="#secondary.indexes.summary">6.9.4. 
        Summary Tables
-      </a></span></dt><dt><span class="section"><a href="#secondary.indexes.coproc">6.9.5.
+      </a></span></dt><dt><span class="section"><a href="#secondary.indexes.coproc">6.9.5. 
        Coprocessor Secondary Index
       </a></span></dt></dl></dd><dt><span class="section"><a href="#schema.smackdown">6.10. Schema Design Smackdown</a></span></dt><dd><dl><dt><span class="section"><a href="#schema.smackdown.rowsversions">6.10.1. Rows vs. Versions</a></span></dt><dt><span class="section"><a href="#schema.smackdown.rowscols">6.10.2. Rows vs. Columns</a></span></dt><dt><span class="section"><a href="#schema.smackdown.rowsascols">6.10.3. Rows as Columns</a></span></dt></dl></dd><dt><span class="section"><a href="#schema.ops">6.11. Operational and Performance Configuration Options</a></span></dt><dt><span class="section"><a href="#constraints">6.12. Constraints</a></span></dt></dl></div><p>A good general introduction on the strength and weaknesses modelling on
           the various non-rdbms datastores is Ian Varley's Master thesis,
@@ -2847,12 +2847,12 @@ if (!b) {
         Master and RegionServer processes are deployed and make them readable
         only to the user account under which the HBase daemons will run.
     </p><p>
-        A Kerberos principal has three parts, with the form
+        A Kerberos principal has three parts, with the form 
         <code class="code">username/fully.qualified.domain.name@YOUR-REALM.COM</code>. We
         recommend using <code class="code">hbase</code> as the username portion.
     </p><p>
         The following is an example of the configuration properties for
-        Kerberos operation that must be added to the
+        Kerberos operation that must be added to the 
         <code class="code">hbase-site.xml</code> file on every server machine in the
         cluster. Required for even the most basic interactions with a
         secure Hadoop configuration, independent of HBase security.
@@ -2885,7 +2885,7 @@ if (!b) {
     </p><p>
         Long running daemons with indefinite lifetimes that require client
         access to HBase can instead be configured to log in from a keytab. For
-        each host running such daemons, create a keytab with
+        each host running such daemons, create a keytab with 
         <code class="code">kadmin</code> or <code class="code">kadmin.local</code>. The procedure for
         creating keytabs for HBase service is the same as for creating
         keytabs for Hadoop. Those steps are omitted here. Copy the resulting
@@ -2896,8 +2896,8 @@ if (!b) {
     </p><pre class="programlisting">
       &lt;property&gt;
         &lt;name&gt;hbase.security.authentication&lt;/name&gt;
-        &lt;value&gt;kerberos&lt;/value&gt;
-      &lt;/property&gt;
+        &lt;value&gt;kerberos&lt;/value&gt; 
+      &lt;/property&gt; 
       &lt;property&gt;
         &lt;name&gt;hbase.security.authorization&lt;/name&gt;
         &lt;value&gt;true&lt;/value&gt;
@@ -2915,14 +2915,14 @@ if (!b) {
       &lt;property&gt;
         &lt;name&gt;hbase.security.authentication&lt;/name&gt;
         &lt;value&gt;kerberos&lt;/value&gt;
-      &lt;/property&gt;
+      &lt;/property&gt; 
     </pre><p>
         The client environment must be logged in to Kerberos from KDC or
         keytab via the <code class="code">kinit</code> command before communication with
         the HBase cluster will be possible.
     </p><p>
         Be advised that if the <code class="code">hbase.security.authentication</code>
-        in the client- and server-side site files do not match, the client will
+        in the client- and server-side site files do not match, the client will 
         not be able to communicate with the cluster.
     </p><p>
         Once HBase is configured for secure RPC it is possible to optionally
@@ -3001,7 +3001,7 @@ if (!b) {
        there.
     </p><p>
        You must also configure ZooKeeper for secure operation. Changes to ACLs
-       are synchronized throughout the cluster using ZooKeeper. Secure
+       are synchronized throughout the cluster using ZooKeeper. Secure 
        authentication to ZooKeeper must be enabled or otherwise it will be
        possible to subvert HBase access control via direct client access to
        ZooKeeper. Refer to the section on secure ZooKeeper configuration and
@@ -3010,7 +3010,7 @@ if (!b) {
         With Secure RPC and Access Control enabled, client access to HBase is
         authenticated and user data is private unless access has been
         explicitly granted. Access to data can be granted at a table or per
-        column family basis.
+        column family basis. 
     </p><p>
         However, the following items have been left out of the initial
         implementation for simplicity:
@@ -3043,7 +3043,7 @@ Access control mechanisms are mature and fairly standardized in the relational d
        the table, though it may be changed at table creation time or during an
        alter operation by setting or changing the OWNER table attribute. Only a
        single user principal can own a table at a given time. A table owner will
-       have all permissions over a given table.
+       have all permissions over a given table. 
     </p></div><div class="section" title="8.2.3.&nbsp;Server-side Configuration for Access Control"><div class="titlepage"><div><div><h3 class="title"><a name="d1984e4744"></a>8.2.3.&nbsp;Server-side Configuration for Access Control</h3></div></div></div><p>
         Enable the AccessController coprocessor in the cluster configuration
         and restart HBase. The restart can be a rolling one. Complete the
@@ -3062,7 +3062,7 @@ Access control mechanisms are mature and fairly standardized in the relational d
         org.apache.hadoop.hbase.security.access.AccessController&lt;/value&gt;
       &lt;/property&gt;
     </pre></div><div class="section" title="8.2.4.&nbsp;Shell Enhancements for Access Control"><div class="titlepage"><div><div><h3 class="title"><a name="d1984e4756"></a>8.2.4.&nbsp;Shell Enhancements for Access Control</h3></div></div></div><p>
-The HBase shell has been extended to provide simple commands for editing and updating user permissions. The following commands have been added for access control list management:
+The HBase shell has been extended to provide simple commands for editing and updating user permissions. The following commands have been added for access control list management: 
     </p>
     Grant
     <p>
@@ -3070,7 +3070,7 @@ The HBase shell has been extended to provide simple commands for editing and upd
     grant &lt;user&gt; &lt;permissions&gt; &lt;table&gt; [ &lt;column family&gt; [ &lt;column qualifier&gt; ] ]
     </pre><p>
     </p><p>
-    <code class="code">&lt;permissions&gt;</code> is zero or more letters from the set "RWCA": READ('R'), WRITE('W'), CREATE('C'), ADMIN('A').
+    <code class="code">&lt;permissions&gt;</code> is zero or more letters from the set "RWCA": READ('R'), WRITE('W'), CREATE('C'), ADMIN('A'). 
     </p><p>
     Note: Grants and revocations of individual permissions on a resource are both accomplished using the <code class="code">grant</code> command. A separate <code class="code">revoke</code> command is also provided by the shell, but this is for fast revocation of all of a user's access rights to a given resource only.
     </p><p>
@@ -3579,7 +3579,7 @@ myHtd.setValue(HTableDescriptor.SPLIT_POLICY, MyCustomSplitPolicy.class.getName(
            </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">rowlength <code class="code">------------&gt; 4</code></li><li class="listitem">row <code class="code">-----------------&gt; row1</code></li><li class="listitem">columnfamilylength <code class="code">---&gt; 2</code></li><li class="listitem">columnfamily <code class="code">--------&gt; cf</code></li><li class="listitem">columnqualifier <code class="code">------&gt; attr1</code></li><li class="listitem">timestamp <code class="code">-----------&gt; server time of Put</code></li><li class="listitem">keytype <code class="code">-------------&gt; Put</code></li></ul></div><p>
           </p><p>Key portion for Put #2:
            </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">rowlength <code class="code">------------&gt; 4</code></li><li class="listitem">row <code class="code">-----------------&gt; row1</code></li><li class="listitem">columnfamilylength <code class="code">---&gt; 2</code></li><li class="listitem">columnfamily <code class="code">--------&gt; cf</code></li><li class="listitem">columnqualifier <code class="code">------&gt; attr2</code></li><li class="listitem">timestamp <code class="code">-----------&gt; server time of Put</code></li><li class="listitem">keytype <code class="code">-------------&gt; Put</code></li></ul></div><p>
-
+           
           </p></div><p>It is critical to understand that the rowkey, ColumnFamily, and column (aka columnqualifier) are embedded within
        the KeyValue instance.  The longer these identifiers are, the bigger the KeyValue is.</p></div><div class="section" title="9.7.5.5.&nbsp;Compaction"><div class="titlepage"><div><div><h4 class="title"><a name="compaction"></a>9.7.5.5.&nbsp;Compaction</h4></div></div></div><p>There are two types of compactions:  minor and major.  Minor compactions will usually pick up a couple of the smaller adjacent
          StoreFiles and rewrite them as one.  Minors do not drop deletes or expired cells, only major compactions do this.  Sometimes a minor compaction
@@ -3823,9 +3823,9 @@ myHtd.setValue(HTableDescriptor.SPLIT_POLICY, MyCustomSplitPolicy.class.getName(
               column value. </p><p><span class="bold"><strong>Syntax:</strong></span> SingleColumnValueExcludeFilter(&lt;compare operator&gt;, '&lt;comparator&gt;', '&lt;family&gt;', '&lt;qualifier&gt;',&lt;latest_version_boolean&gt;, &lt;filterIfColumnMissing_boolean&gt;)</p><p><span class="bold"><strong>Syntax:</strong></span> SingleColumnValueExcludeFilter(&lt;compare operator&gt;, '&lt;comparator&gt;', '&lt;family&gt;', '&lt;qualifier&gt;') </p><p><span class="bold"><strong>Example:</strong></span> "SingleColumnValueExcludeFilter (&#8216;&lt;=&#8217;, &#8216;abc&#8217;,&#8216;FamilyA&#8217;, &#8216;Column1&#8217;, &#8216;false&#8217;, &#8216;true&#8217;)"</p><p><span class="bold"><strong>Example:</strong></span> "SingleColumnValueExcludeFilter (&#8216;&lt;=&#8217;, &#8216;abc&#8217;, &#8216;FamilyA&#8217;, &#8216;Column1&#8217;)" </p></li><li class="listitem"><p><span class="bold"><strong><span class="underline">ColumnRangeFilter</span></strong></span></p><p><span class="bold"><
 strong>Description:</strong></span> This filter is used for selecting only those
               keys with columns that are between minColumn and maxColumn. It also takes two boolean
               variables to indicate whether to include the minColumn and maxColumn or not.</p><p>If you don&#8217;t want to set the minColumn or the maxColumn &#8211; you can pass in an empty argument.</p><p><span class="bold"><strong>Syntax:</strong></span> ColumnRangeFilter (&#8216;&lt;minColumn&gt;&#8217;, &lt;minColumnInclusive_bool&gt;, &#8216;&lt;maxColumn&gt;&#8217;, &lt;maxColumnInclusive_bool&gt;)</p><p><span class="bold"><strong>Example:</strong></span> "ColumnRangeFilter (&#8216;abc&#8217;, true, &#8216;xyz&#8217;, false)"</p></li></ol></div></div></div></div><div class="section" title="10.4.&nbsp;C/C++ Apache HBase Client"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="c"></a>10.4.&nbsp;C/C++ Apache HBase Client</h2></div></div></div><p>FB's Chip Turner wrote a pure C/C++ client.  <a class="link" href="https://github.com/facebook/native-cpp-hbase-client" target="_top">Check it out</a>.
-    </p></div></div><div class="chapter" title="Chapter&nbsp;11.&nbsp;Apache HBase (TM) Performance Tuning"><div class="titlepage"><div><div><h2 class="title"><a name="performance"></a>Chapter&nbsp;11.&nbsp;Apache HBase (TM) Performance Tuning</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#perf.os">11.1. Operating System</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.os.ram">11.1.1. Memory</a></span></dt><dt><span class="section"><a href="#perf.os.64">11.1.2. 64-bit</a></span></dt><dt><span class="section"><a href="#perf.os.swap">11.1.3. Swapping</a></span></dt></dl></dd><dt><span class="section"><a href="#perf.network">11.2. Network</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.network.1switch">11.2.1. Single Switch</a></span></dt><dt><span class="section"><a href="#perf.network.2switch">11.2.2. Multiple Switches</a></span></dt><dt><span class="section"><a href="#perf.network.multirack
 ">11.2.3. Multiple Racks</a></span></dt><dt><span class="section"><a href="#perf.network.ints">11.2.4. Network Interfaces</a></span></dt></dl></dd><dt><span class="section"><a href="#jvm">11.3. Java</a></span></dt><dd><dl><dt><span class="section"><a href="#gc">11.3.1. The Garbage Collector and Apache HBase</a></span></dt></dl></dd><dt><span class="section"><a href="#perf.configurations">11.4. HBase Configurations</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.number.of.regions">11.4.1. Number of Regions</a></span></dt><dt><span class="section"><a href="#perf.compactions.and.splits">11.4.2. Managing Compactions</a></span></dt><dt><span class="section"><a href="#perf.handlers">11.4.3. <code class="varname">hbase.regionserver.handler.count</code></a></span></dt><dt><span class="section"><a href="#perf.hfile.block.cache.size">11.4.4. <code class="varname">hfile.block.cache.size</code></a></span></dt><dt><span class="section"><a href="#perf.rs.memstore.upperlimit">11.4.
 5. <code class="varname">hbase.regionserver.global.memstore.upperLimit</code></a></span></dt><dt><span class="section"><a href="#perf.rs.memstore.lowerlimit">11.4.6. <code class="varname">hbase.regionserver.global.memstore.lowerLimit</code></a></span></dt><dt><span class="section"><a href="#perf.hstore.blockingstorefiles">11.4.7. <code class="varname">hbase.hstore.blockingStoreFiles</code></a></span></dt><dt><span class="section"><a href="#perf.hregion.memstore.block.multiplier">11.4.8. <code class="varname">hbase.hregion.memstore.block.multiplier</code></a></span></dt><dt><span class="section"><a href="#hbase.regionserver.checksum.verify">11.4.9. <code class="varname">hbase.regionserver.checksum.verify</code></a></span></dt></dl></dd><dt><span class="section"><a href="#perf.zookeeper">11.5. ZooKeeper</a></span></dt><dt><span class="section"><a href="#perf.schema">11.6. Schema Design</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.number.of.cfs">11.6.1. Number of Col
 umn Families</a></span></dt><dt><span class="section"><a href="#perf.schema.keys">11.6.2. Key and Attribute Lengths</a></span></dt><dt><span class="section"><a href="#schema.regionsize">11.6.3. Table RegionSize</a></span></dt><dt><span class="section"><a href="#schema.bloom">11.6.4. Bloom Filters</a></span></dt><dt><span class="section"><a href="#schema.cf.blocksize">11.6.5. ColumnFamily BlockSize</a></span></dt><dt><span class="section"><a href="#cf.in.memory">11.6.6. In-Memory ColumnFamilies</a></span></dt><dt><span class="section"><a href="#perf.compression">11.6.7. Compression</a></span></dt></dl></dd><dt><span class="section"><a href="#perf.writing">11.7. Writing to HBase</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.batch.loading">11.7.1. Batch Loading</a></span></dt><dt><span class="section"><a href="#precreate.regions">11.7.2.
+    </p></div></div><div class="chapter" title="Chapter&nbsp;11.&nbsp;Apache HBase (TM) Performance Tuning"><div class="titlepage"><div><div><h2 class="title"><a name="performance"></a>Chapter&nbsp;11.&nbsp;Apache HBase (TM) Performance Tuning</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#perf.os">11.1. Operating System</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.os.ram">11.1.1. Memory</a></span></dt><dt><span class="section"><a href="#perf.os.64">11.1.2. 64-bit</a></span></dt><dt><span class="section"><a href="#perf.os.swap">11.1.3. Swapping</a></span></dt></dl></dd><dt><span class="section"><a href="#perf.network">11.2. Network</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.network.1switch">11.2.1. Single Switch</a></span></dt><dt><span class="section"><a href="#perf.network.2switch">11.2.2. Multiple Switches</a></span></dt><dt><span class="section"><a href="#perf.network.multirack
 ">11.2.3. Multiple Racks</a></span></dt><dt><span class="section"><a href="#perf.network.ints">11.2.4. Network Interfaces</a></span></dt></dl></dd><dt><span class="section"><a href="#jvm">11.3. Java</a></span></dt><dd><dl><dt><span class="section"><a href="#gc">11.3.1. The Garbage Collector and Apache HBase</a></span></dt></dl></dd><dt><span class="section"><a href="#perf.configurations">11.4. HBase Configurations</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.number.of.regions">11.4.1. Number of Regions</a></span></dt><dt><span class="section"><a href="#perf.compactions.and.splits">11.4.2. Managing Compactions</a></span></dt><dt><span class="section"><a href="#perf.handlers">11.4.3. <code class="varname">hbase.regionserver.handler.count</code></a></span></dt><dt><span class="section"><a href="#perf.hfile.block.cache.size">11.4.4. <code class="varname">hfile.block.cache.size</code></a></span></dt><dt><span class="section"><a href="#perf.rs.memstore.upperlimit">11.4.
 5. <code class="varname">hbase.regionserver.global.memstore.upperLimit</code></a></span></dt><dt><span class="section"><a href="#perf.rs.memstore.lowerlimit">11.4.6. <code class="varname">hbase.regionserver.global.memstore.lowerLimit</code></a></span></dt><dt><span class="section"><a href="#perf.hstore.blockingstorefiles">11.4.7. <code class="varname">hbase.hstore.blockingStoreFiles</code></a></span></dt><dt><span class="section"><a href="#perf.hregion.memstore.block.multiplier">11.4.8. <code class="varname">hbase.hregion.memstore.block.multiplier</code></a></span></dt><dt><span class="section"><a href="#hbase.regionserver.checksum.verify">11.4.9. <code class="varname">hbase.regionserver.checksum.verify</code></a></span></dt></dl></dd><dt><span class="section"><a href="#perf.zookeeper">11.5. ZooKeeper</a></span></dt><dt><span class="section"><a href="#perf.schema">11.6. Schema Design</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.number.of.cfs">11.6.1. Number of Col
 umn Families</a></span></dt><dt><span class="section"><a href="#perf.schema.keys">11.6.2. Key and Attribute Lengths</a></span></dt><dt><span class="section"><a href="#schema.regionsize">11.6.3. Table RegionSize</a></span></dt><dt><span class="section"><a href="#schema.bloom">11.6.4. Bloom Filters</a></span></dt><dt><span class="section"><a href="#schema.cf.blocksize">11.6.5. ColumnFamily BlockSize</a></span></dt><dt><span class="section"><a href="#cf.in.memory">11.6.6. In-Memory ColumnFamilies</a></span></dt><dt><span class="section"><a href="#perf.compression">11.6.7. Compression</a></span></dt></dl></dd><dt><span class="section"><a href="#perf.writing">11.7. Writing to HBase</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.batch.loading">11.7.1. Batch Loading</a></span></dt><dt><span class="section"><a href="#precreate.regions">11.7.2. 
     Table Creation: Pre-Creating Regions
-    </a></span></dt><dt><span class="section"><a href="#def.log.flush">11.7.3.
+    </a></span></dt><dt><span class="section"><a href="#def.log.flush">11.7.3. 
     Table Creation: Deferred Log Flush
     </a></span></dt><dt><span class="section"><a href="#perf.hbase.client.autoflush">11.7.4. HBase Client:  AutoFlush</a></span></dt><dt><span class="section"><a href="#perf.hbase.client.putwal">11.7.5. HBase Client:  Turn off WAL on Puts</a></span></dt><dt><span class="section"><a href="#perf.hbase.client.regiongroup">11.7.6. HBase Client: Group Puts by RegionServer</a></span></dt><dt><span class="section"><a href="#perf.hbase.write.mr.reducer">11.7.7. MapReduce:  Skip The Reducer</a></span></dt><dt><span class="section"><a href="#perf.one.region">11.7.8. Anti-Pattern:  One Hot Region</a></span></dt></dl></dd><dt><span class="section"><a href="#perf.reading">11.8. Reading from HBase</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.hbase.client.caching">11.8.1. Scan Caching</a></span></dt><dt><span class="section"><a href="#perf.hbase.client.selection">11.8.2. Scan Attribute Selection</a></span></dt><dt><span class="section"><a href="#perf.hbase.client.seek">11.8.3. A
 void scan seeks</a></span></dt><dt><span class="section"><a href="#perf.hbase.mr.input">11.8.4. MapReduce - Input Splits</a></span></dt><dt><span class="section"><a href="#perf.hbase.client.scannerclose">11.8.5. Close ResultScanners</a></span></dt><dt><span class="section"><a href="#perf.hbase.client.blockcache">11.8.6. Block Cache</a></span></dt><dt><span class="section"><a href="#perf.hbase.client.rowkeyonly">11.8.7. Optimal Loading of Row Keys</a></span></dt><dt><span class="section"><a href="#perf.hbase.read.dist">11.8.8. Concurrency:  Monitor Data Spread</a></span></dt><dt><span class="section"><a href="#blooms">11.8.9. Bloom Filters</a></span></dt></dl></dd><dt><span class="section"><a href="#perf.deleting">11.9. Deleting from HBase</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.deleting.queue">11.9.1. Using HBase Tables as Queues</a></span></dt><dt><span class="section"><a href="#perf.deleting.rpc">11.9.2. Delete RPC Behavior</a></span></dt></dl></dd><dt><spa
 n class="section"><a href="#perf.hdfs">11.10. HDFS</a></span></dt><dd><dl><dt><span class="section"><a href="#perf.hdfs.curr">11.10.1. Current Issues With Low-Latency Reads</a></span></dt><dt><span class="section"><a href="#perf.hdfs.configs.localread">11.10.2. Leveraging local data</a></span></dt><dt><span class="section"><a href="#perf.hdfs.comp">11.10.3. Performance Comparisons of HBase vs. HDFS</a></span></dt></dl></dd><dt><span class="section"><a href="#perf.ec2">11.11. Amazon EC2</a></span></dt><dt><span class="section"><a href="#perf.casestudy">11.12. Case Studies</a></span></dt></dl></div><div class="section" title="11.1.&nbsp;Operating System"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="perf.os"></a>11.1.&nbsp;Operating System</h2></div></div></div><div class="section" title="11.1.1.&nbsp;Memory"><div class="titlepage"><div><div><h3 class="title"><a name="perf.os.ram"></a>11.1.1.&nbsp;Memory</h3></div></div></div><p>RAM, RAM, RAM.  Don't 
 starve HBase.</p></div><div class="section" title="11.1.2.&nbsp;64-bit"><div class="titlepage"><div><div><h3 class="title"><a name="perf.os.64"></a>11.1.2.&nbsp;64-bit</h3></div></div></div><p>Use a 64-bit platform (and 64-bit JVM).</p></div><div class="section" title="11.1.3.&nbsp;Swapping"><div class="titlepage"><div><div><h3 class="title"><a name="perf.os.swap"></a>11.1.3.&nbsp;Swapping</h3></div></div></div><p>Watch out for swapping.  Set swappiness to 0.</p></div></div><div class="section" title="11.2.&nbsp;Network"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="perf.network"></a>11.2.&nbsp;Network</h2></div></div></div><p>
     Perhaps the most important factor in avoiding network issues degrading Hadoop and HBbase performance is the switching hardware
@@ -3928,10 +3928,10 @@ myHtd.setValue(HTableDescriptor.SPLIT_POLICY, MyCustomSplitPolicy.class.getName(
       </p></div><div class="section" title="11.7.2.&nbsp; Table Creation: Pre-Creating Regions"><div class="titlepage"><div><div><h3 class="title"><a name="precreate.regions"></a>11.7.2.&nbsp;
     Table Creation: Pre-Creating Regions
     </h3></div></div></div><p>
-Tables in HBase are initially created with one region by default.  For bulk imports, this means that all clients will write to the same region
-until it is large enough to split and become distributed across the cluster.  A useful pattern to speed up the bulk import process is to pre-create empty regions.
- Be somewhat conservative in this, because too-many regions can actually degrade performance.
-</p><p>There are two different approaches to pre-creating splits.  The first approach is to rely on the default <code class="code">HBaseAdmin</code> strategy
+Tables in HBase are initially created with one region by default.  For bulk imports, this means that all clients will write to the same region 
+until it is large enough to split and become distributed across the cluster.  A useful pattern to speed up the bulk import process is to pre-create empty regions. 
+ Be somewhat conservative in this, because too-many regions can actually degrade performance.  
+</p><p>There are two different approaches to pre-creating splits.  The first approach is to rely on the default <code class="code">HBaseAdmin</code> strategy 
 	(which is implemented in <code class="code">Bytes.split</code>)...
 	</p><pre class="programlisting">
 byte[] startKey = ...;   	// your lowest keuy
@@ -4784,10 +4784,10 @@ org.apache.hadoop.ipc.RemoteException: Server IPC version 7 cannot communicate w
 Use the HBase built against Hadoop 2.0 or rebuild your HBase passing the <span class="command"><strong>-Dhadoop.profile=2.0</strong></span>
 attribute to Maven (See <a class="xref" href="#maven.build.hadoop" title="15.8.3.&nbsp;Building against various hadoop versions.">Section&nbsp;15.8.3, &#8220;Building against various hadoop versions.&#8221;</a> for more).
 </p></div></div><div class="section" title="12.14.&nbsp;Case Studies"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="trouble.casestudy"></a>12.14.&nbsp;Case Studies</h2></div></div></div><p>For Performance and Troubleshooting Case Studies, see <a class="xref" href="#casestudies" title="Chapter&nbsp;13.&nbsp;Apache HBase (TM) Case Studies">Chapter&nbsp;13, <i>Apache HBase (TM) Case Studies</i></a>.
-      </p></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a id="ftn.d1984e7978" href="#d1984e7978" class="para">28</a>] </sup>See Getting Answers</p></div></div></div><div class="chapter" title="Chapter&nbsp;13.&nbsp;Apache HBase (TM) Case Studies"><div class="titlepage"><div><div><h2 class="title"><a name="casestudies"></a>Chapter&nbsp;13.&nbsp;Apache HBase (TM) Case Studies</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#casestudies.overview">13.1. Overview</a></span></dt><dt><span class="section"><a href="#casestudies.schema">13.2. Schema Design</a></span></dt><dd><dl><dt><span class="section"><a href="#casestudies.schema.listdata">13.2.1. List Data</a></span></dt></dl></dd><dt><span class="section"><a href="#casestudies.perftroub">13.3. Performance/Troubleshooting</a></span></dt><dd><dl><dt><span class="section"><a href="#casestudies.slownode">13.3.1. Case Study #1 (Perfor
 mance Issue On A Single Node)</a></span></dt><dt><span class="section"><a href="#casestudies.perf.1">13.3.2. Case Study #2 (Performance Research 2012)</a></span></dt><dt><span class="section"><a href="#casestudies.perf.2">13.3.3. Case Study #3 (Performance Research 2010))</a></span></dt><dt><span class="section"><a href="#casestudies.xceivers">13.3.4. Case Study #4 (xcievers Config)</a></span></dt></dl></dd></dl></div><div class="section" title="13.1.&nbsp;Overview"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="casestudies.overview"></a>13.1.&nbsp;Overview</h2></div></div></div><p>This chapter will describe a variety of performance and troubleshooting case studies that can
+      </p></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a id="ftn.d1984e7978" href="#d1984e7978" class="para">28</a>] </sup>See Getting Answers</p></div></div></div><div class="chapter" title="Chapter&nbsp;13.&nbsp;Apache HBase (TM) Case Studies"><div class="titlepage"><div><div><h2 class="title"><a name="casestudies"></a>Chapter&nbsp;13.&nbsp;Apache HBase (TM) Case Studies</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#casestudies.overview">13.1. Overview</a></span></dt><dt><span class="section"><a href="#casestudies.schema">13.2. Schema Design</a></span></dt><dd><dl><dt><span class="section"><a href="#casestudies.schema.listdata">13.2.1. List Data</a></span></dt></dl></dd><dt><span class="section"><a href="#casestudies.perftroub">13.3. Performance/Troubleshooting</a></span></dt><dd><dl><dt><span class="section"><a href="#casestudies.slownode">13.3.1. Case Study #1 (Perfor
 mance Issue On A Single Node)</a></span></dt><dt><span class="section"><a href="#casestudies.perf.1">13.3.2. Case Study #2 (Performance Research 2012)</a></span></dt><dt><span class="section"><a href="#casestudies.perf.2">13.3.3. Case Study #3 (Performance Research 2010))</a></span></dt><dt><span class="section"><a href="#casestudies.xceivers">13.3.4. Case Study #4 (xcievers Config)</a></span></dt></dl></dd></dl></div><div class="section" title="13.1.&nbsp;Overview"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="casestudies.overview"></a>13.1.&nbsp;Overview</h2></div></div></div><p>This chapter will describe a variety of performance and troubleshooting case studies that can 
       provide a useful blueprint on diagnosing Apache HBase (TM) cluster issues.</p><p>For more information on Performance and Troubleshooting, see <a class="xref" href="#performance" title="Chapter&nbsp;11.&nbsp;Apache HBase (TM) Performance Tuning">Chapter&nbsp;11, <i>Apache HBase (TM) Performance Tuning</i></a> and <a class="xref" href="#trouble" title="Chapter&nbsp;12.&nbsp;Troubleshooting and Debugging Apache HBase (TM)">Chapter&nbsp;12, <i>Troubleshooting and Debugging Apache HBase (TM)</i></a>.
-      </p></div><div class="section" title="13.2.&nbsp;Schema Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="casestudies.schema"></a>13.2.&nbsp;Schema Design</h2></div></div></div><div class="section" title="13.2.1.&nbsp;List Data"><div class="titlepage"><div><div><h3 class="title"><a name="casestudies.schema.listdata"></a>13.2.1.&nbsp;List Data</h3></div></div></div><p>The following is an exchange from the user dist-list regarding a fairly common question:
-    		how to handle per-user list data in Apache HBase.
+      </p></div><div class="section" title="13.2.&nbsp;Schema Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="casestudies.schema"></a>13.2.&nbsp;Schema Design</h2></div></div></div><div class="section" title="13.2.1.&nbsp;List Data"><div class="titlepage"><div><div><h3 class="title"><a name="casestudies.schema.listdata"></a>13.2.1.&nbsp;List Data</h3></div></div></div><p>The following is an exchange from the user dist-list regarding a fairly common question:  
+    		how to handle per-user list data in Apache HBase. 
     		</p><p>*** QUESTION ***</p><p>
     		We're looking at how to store a large amount of (per-user) list data in
 HBase, and we were trying to figure out what kind of access pattern made
@@ -4894,25 +4894,25 @@ disadvantages!) at extremely high throughput, and the only way to
 really know that would be to try it out. If you don't have time to
 build it both ways and compare, my advice would be to start with the
 simplest option (one row per user+value). Start simple and iterate! :)
-			</p></div></div><div class="section" title="13.3.&nbsp;Performance/Troubleshooting"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="casestudies.perftroub"></a>13.3.&nbsp;Performance/Troubleshooting</h2></div></div></div><div class="section" title="13.3.1.&nbsp;Case Study #1 (Performance Issue On A Single Node)"><div class="titlepage"><div><div><h3 class="title"><a name="casestudies.slownode"></a>13.3.1.&nbsp;Case Study #1 (Performance Issue On A Single Node)</h3></div></div></div><div class="section" title="13.3.1.1.&nbsp;Scenario"><div class="titlepage"><div><div><h4 class="title"><a name="d1984e8865"></a>13.3.1.1.&nbsp;Scenario</h4></div></div></div><p>Following a scheduled reboot, one data node began exhibiting unusual behavior.  Routine MapReduce
-         jobs run against HBase tables which regularly completed in five or six minutes began taking 30 or 40 minutes
-         to finish. These jobs were consistently found to be waiting on map and reduce tasks assigned to the troubled data node
-         (e.g., the slow map tasks all had the same Input Split).
+			</p></div></div><div class="section" title="13.3.&nbsp;Performance/Troubleshooting"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="casestudies.perftroub"></a>13.3.&nbsp;Performance/Troubleshooting</h2></div></div></div><div class="section" title="13.3.1.&nbsp;Case Study #1 (Performance Issue On A Single Node)"><div class="titlepage"><div><div><h3 class="title"><a name="casestudies.slownode"></a>13.3.1.&nbsp;Case Study #1 (Performance Issue On A Single Node)</h3></div></div></div><div class="section" title="13.3.1.1.&nbsp;Scenario"><div class="titlepage"><div><div><h4 class="title"><a name="d1984e8865"></a>13.3.1.1.&nbsp;Scenario</h4></div></div></div><p>Following a scheduled reboot, one data node began exhibiting unusual behavior.  Routine MapReduce 
+         jobs run against HBase tables which regularly completed in five or six minutes began taking 30 or 40 minutes 
+         to finish. These jobs were consistently found to be waiting on map and reduce tasks assigned to the troubled data node 
+         (e.g., the slow map tasks all had the same Input Split).           
          The situation came to a head during a distributed copy, when the copy was severely prolonged by the lagging node.
 		</p></div><div class="section" title="13.3.1.2.&nbsp;Hardware"><div class="titlepage"><div><div><h4 class="title"><a name="d1984e8870"></a>13.3.1.2.&nbsp;Hardware</h4></div></div></div><p>Datanodes:
         </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Two 12-core processors</li><li class="listitem">Six Enerprise SATA disks</li><li class="listitem">24GB of RAM</li><li class="listitem">Two bonded gigabit NICs</li></ul></div><p>
         </p><p>Network:
         </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">10 Gigabit top-of-rack switches</li><li class="listitem">20 Gigabit bonded interconnects between racks.</li></ul></div><p>
-        </p></div><div class="section" title="13.3.1.3.&nbsp;Hypotheses"><div class="titlepage"><div><div><h4 class="title"><a name="d1984e8893"></a>13.3.1.3.&nbsp;Hypotheses</h4></div></div></div><div class="section" title="13.3.1.3.1.&nbsp;HBase &#34;Hot Spot&#34; Region"><div class="titlepage"><div><div><h5 class="title"><a name="d1984e8896"></a>13.3.1.3.1.&nbsp;HBase "Hot Spot" Region</h5></div></div></div><p>We hypothesized that we were experiencing a familiar point of pain: a "hot spot" region in an HBase table,
-		  where uneven key-space distribution can funnel a huge number of requests to a single HBase region, bombarding the RegionServer
-		  process and cause slow response time. Examination of the HBase Master status page showed that the number of HBase requests to the
-		  troubled node was almost zero.  Further, examination of the HBase logs showed that there were no region splits, compactions, or other region transitions
+        </p></div><div class="section" title="13.3.1.3.&nbsp;Hypotheses"><div class="titlepage"><div><div><h4 class="title"><a name="d1984e8893"></a>13.3.1.3.&nbsp;Hypotheses</h4></div></div></div><div class="section" title="13.3.1.3.1.&nbsp;HBase &#34;Hot Spot&#34; Region"><div class="titlepage"><div><div><h5 class="title"><a name="d1984e8896"></a>13.3.1.3.1.&nbsp;HBase "Hot Spot" Region</h5></div></div></div><p>We hypothesized that we were experiencing a familiar point of pain: a "hot spot" region in an HBase table, 
+		  where uneven key-space distribution can funnel a huge number of requests to a single HBase region, bombarding the RegionServer 
+		  process and cause slow response time. Examination of the HBase Master status page showed that the number of HBase requests to the 
+		  troubled node was almost zero.  Further, examination of the HBase logs showed that there were no region splits, compactions, or other region transitions 
 		  in progress.  This effectively ruled out a "hot spot" as the root cause of the observed slowness.
-          </p></div><div class="section" title="13.3.1.3.2.&nbsp;HBase Region With Non-Local Data"><div class="titlepage"><div><div><h5 class="title"><a name="d1984e8901"></a>13.3.1.3.2.&nbsp;HBase Region With Non-Local Data</h5></div></div></div><p>Our next hypothesis was that one of the MapReduce tasks was requesting data from HBase that was not local to the datanode, thus
-		  forcing HDFS to request data blocks from other servers over the network.  Examination of the datanode logs showed that there were very
-		  few blocks being requested over the network, indicating that the HBase region was correctly assigned, and that the majority of the necessary
+          </p></div><div class="section" title="13.3.1.3.2.&nbsp;HBase Region With Non-Local Data"><div class="titlepage"><div><div><h5 class="title"><a name="d1984e8901"></a>13.3.1.3.2.&nbsp;HBase Region With Non-Local Data</h5></div></div></div><p>Our next hypothesis was that one of the MapReduce tasks was requesting data from HBase that was not local to the datanode, thus 
+		  forcing HDFS to request data blocks from other servers over the network.  Examination of the datanode logs showed that there were very 
+		  few blocks being requested over the network, indicating that the HBase region was correctly assigned, and that the majority of the necessary 
 		  data was located on the node. This ruled out the possibility of non-local data causing a slowdown.
-          </p></div><div class="section" title="13.3.1.3.3.&nbsp;Excessive I/O Wait Due To Swapping Or An Over-Worked Or Failing Hard Disk"><div class="titlepage"><div><div><h5 class="title"><a name="d1984e8906"></a>13.3.1.3.3.&nbsp;Excessive I/O Wait Due To Swapping Or An Over-Worked Or Failing Hard Disk</h5></div></div></div><p>After concluding that the Hadoop and HBase were not likely to be the culprits, we moved on to troubleshooting the datanode's hardware.
+          </p></div><div class="section" title="13.3.1.3.3.&nbsp;Excessive I/O Wait Due To Swapping Or An Over-Worked Or Failing Hard Disk"><div class="titlepage"><div><div><h5 class="title"><a name="d1984e8906"></a>13.3.1.3.3.&nbsp;Excessive I/O Wait Due To Swapping Or An Over-Worked Or Failing Hard Disk</h5></div></div></div><p>After concluding that the Hadoop and HBase were not likely to be the culprits, we moved on to troubleshooting the datanode's hardware. 
           Java, by design, will periodically scan its entire memory space to do garbage collection.  If system memory is heavily overcommitted, the Linux 
           kernel may enter a vicious cycle, using up all of its resources swapping Java heap back and forth from disk to RAM as Java tries to run garbage 
           collection.  Further, a failing hard disk will often retry reads and/or writes many times before giving up and returning an error. This can manifest 
@@ -7103,4 +7103,4 @@ See the HTrace <code class="filename">README</code> for more information on Samp
           ulimit
             and
           nproc
-        </a></dt></dl></div><div class="indexdiv"><h3>V</h3><dl><dt>Versions, <a class="indexterm" href="#versions">Versions</a></dt></dl></div><div class="indexdiv"><h3>X</h3><dl><dt>xcievers, <a class="indexterm" href="#dfs.datanode.max.xcievers">dfs.datanode.max.xcievers</a></dt></dl></div><div class="indexdiv"><h3>Z</h3><dl><dt>ZooKeeper, <a class="indexterm" href="#zookeeper">ZooKeeper</a></dt></dl></div></div></div></div></body></html>
+        </a></dt></dl></div><div class="indexdiv"><h3>V</h3><dl><dt>Versions, <a class="indexterm" href="#versions">Versions</a></dt></dl></div><div class="indexdiv"><h3>X</h3><dl><dt>xcievers, <a class="indexterm" href="#dfs.datanode.max.xcievers">dfs.datanode.max.xcievers</a></dt></dl></div><div class="indexdiv"><h3>Z</h3><dl><dt>ZooKeeper, <a class="indexterm" href="#zookeeper">ZooKeeper</a></dt></dl></div></div></div></div></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/book/book.html
----------------------------------------------------------------------
diff --git a/0.94/book/book.html b/0.94/book/book.html
index aedf343..8880cba 100644
--- a/0.94/book/book.html
+++ b/0.94/book/book.html
@@ -12,7 +12,7 @@
         </p></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 
           0.94.27
         </td><td align="left">
-          2015-11-03T11:44
+          2015-12-16T16:51
         </td></tr></table></div></div><div><div class="abstract" title="Abstract"><p class="title"><b>Abstract</b></p><p>This is the official reference guide of
     <a class="link" href="http://www.hbase.org" target="_top">Apache HBase (TM)</a>,
     a distributed, versioned, column-oriented database built on top of

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/bulk-loads.html
----------------------------------------------------------------------
diff --git a/0.94/bulk-loads.html b/0.94/bulk-loads.html
index ac11e2e..82b4c33 100644
--- a/0.94/bulk-loads.html
+++ b/0.94/bulk-loads.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -15,7 +15,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -190,7 +190,7 @@
     <div id="footer">
        <div class="xright">      
                 
-                 <span id="publishDate">Last Published: 2015-11-03</span>
+                 <span id="publishDate">Last Published: 2015-12-16</span>
               &nbsp;| <span id="projectVersion">Version: 0.94.27</span>
             &nbsp;
         </div>


[20/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
index 014b293..da0f54b 100644
--- a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
+++ b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.DiffCompressionState.html
@@ -34,527 +34,530 @@
 <span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import org.apache.hadoop.io.RawComparator;<a name="line.27"></a>
 <span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>/**<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * Compress using:<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * - store size of common prefix<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * - save column family once, it is same within HFile<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * - use bits to avoid duplication key length, value length<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *   and type if it same as previous<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * - store in 3 bits length of timestamp field<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * - allow diff in timestamp instead of actual value<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * Format:<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * - 1 byte:    flag<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * - 1-5 bytes: prefix length<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * - 1-8 bytes: timestamp or diff<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * - ... bytes: value<a name="line.48"></a>
-<span class="sourceLineNo">049</span> */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    long timestamp;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    byte[] familyNameWithSize;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @Override<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      timestamp = in.getLong();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @Override<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    void copyFrom(CompressionState state) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      super.copyFrom(state);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      timestamp = state2.timestamp;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      ByteBuffer in) throws IOException {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    byte flag = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    int kvPos = in.position();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int keyLength = in.getInt();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    int valueLength = in.getInt();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    long timestamp;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    long diffTimestamp = 0;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    int diffTimestampFitsInBytes = 0;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>    int commonPrefix;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    int timestampFitsInBytes;<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>    if (previousState.isFirst()) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      currentState.prevOffset = kvPos;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      timestamp = currentState.timestamp;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (timestamp &lt; 0) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        timestamp = -timestamp;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      commonPrefix = 0;<a name="line.103"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Compress using:<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * - store size of common prefix<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * - save column family once, it is same within HFile<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * - use bits to avoid duplication key length, value length<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *   and type if it same as previous<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * - store in 3 bits length of timestamp field<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * - allow diff in timestamp instead of actual value<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * Format:<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * - 1 byte:    flag<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * - 1-5 bytes: prefix length<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * - 1-8 bytes: timestamp or diff<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * - ... bytes: value<a name="line.50"></a>
+<span class="sourceLineNo">051</span> */<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@InterfaceAudience.Private<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    long timestamp;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    byte[] familyNameWithSize;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @Override<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      timestamp = in.getLong();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    void copyFrom(CompressionState state) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      super.copyFrom(state);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      timestamp = state2.timestamp;<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><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      ByteBuffer in) throws IOException {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    byte flag = 0;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    int kvPos = in.position();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    int keyLength = in.getInt();<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    int valueLength = in.getInt();<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>    long timestamp;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    long diffTimestamp = 0;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    int diffTimestampFitsInBytes = 0;<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>    int commonPrefix;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>    int timestampFitsInBytes;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>    if (previousState.isFirst()) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      currentState.prevOffset = kvPos;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      timestamp = currentState.timestamp;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      if (timestamp &lt; 0) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        timestamp = -timestamp;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.103"></a>
 <span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // put column family<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      in.mark();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.109"></a>
-<span class="sourceLineNo">110</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      in.reset();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    } else {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      // find a common prefix and skip it<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      commonPrefix =<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.115"></a>
-<span class="sourceLineNo">116</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.116"></a>
-<span class="sourceLineNo">117</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      // don't compress timestamp and type using prefix<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          commonPrefix, previousState);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      currentState.prevOffset = kvPos;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      timestamp = currentState.timestamp;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      if (negativeTimestamp) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>        timestamp = -timestamp;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (keyLength == previousState.keyLength) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      if (valueLength == previousState.valueLength) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.134"></a>
+<span class="sourceLineNo">105</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      commonPrefix = 0;<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>      // put column family<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      in.mark();<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.110"></a>
+<span class="sourceLineNo">111</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      in.reset();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    } else {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      // find a common prefix and skip it<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      commonPrefix =<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.118"></a>
+<span class="sourceLineNo">119</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.119"></a>
+<span class="sourceLineNo">120</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      // don't compress timestamp and type using prefix<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.123"></a>
+<span class="sourceLineNo">124</span>          commonPrefix, previousState);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      currentState.prevOffset = kvPos;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      timestamp = currentState.timestamp;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      if (negativeTimestamp) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        timestamp = -timestamp;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>      if (keyLength == previousState.keyLength) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.134"></a>
 <span class="sourceLineNo">135</span>      }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      if (currentState.type == previousState.type) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_TYPE;<a name="line.137"></a>
+<span class="sourceLineNo">136</span>      if (valueLength == previousState.valueLength) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>      }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>      // encode timestamp<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      if (minusDiffTimestamp) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        diffTimestamp = -diffTimestamp;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        if (minusDiffTimestamp) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      } else {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        if (negativeTimestamp) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>    out.write(flag);<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.167"></a>
+<span class="sourceLineNo">139</span>      if (currentState.type == previousState.type) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        flag |= FLAG_SAME_TYPE;<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>      // encode timestamp<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      if (minusDiffTimestamp) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        diffTimestamp = -diffTimestamp;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        if (minusDiffTimestamp) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      } else {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        if (negativeTimestamp) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>    out.write(flag);<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.171"></a>
+<span class="sourceLineNo">169</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<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>    if (previousState.isFirst() ||<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      int restRowLength =<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.178"></a>
-<span class="sourceLineNo">179</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    } else {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.182"></a>
-<span class="sourceLineNo">183</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    } else {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      out.write(currentState.type);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">173</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>    if (previousState.isFirst() ||<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      int restRowLength =<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    } else {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.185"></a>
+<span class="sourceLineNo">186</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    } else {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      out.write(currentState.type);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      ByteBuffer buffer,<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      DiffCompressionState state)<a name="line.202"></a>
-<span class="sourceLineNo">203</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // read the column family at the beginning<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (state.isFirst()) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      state.familyLength = source.readByte();<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      state.familyNameWithSize =<a name="line.207"></a>
-<span class="sourceLineNo">208</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>          state.familyLength);<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // read flag<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    byte flag = source.readByte();<a name="line.215"></a>
+<span class="sourceLineNo">200</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      ByteBuffer buffer,<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      DiffCompressionState state)<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    // read the column family at the beginning<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    if (state.isFirst()) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      state.familyLength = source.readByte();<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      state.familyNameWithSize =<a name="line.210"></a>
+<span class="sourceLineNo">211</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          state.familyLength);<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>    // read key/value/common lengths<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    int keyLength;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    int valueLength;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      keyLength = state.keyLength;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      valueLength = state.valueLength;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    } else {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // create KeyValue buffer and fill it prefix<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    int keyOffset = buffer.position();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.234"></a>
-<span class="sourceLineNo">235</span>        + KeyValue.ROW_OFFSET);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    buffer.putInt(keyLength);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    buffer.putInt(valueLength);<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // copy common from previous key<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    if (commonPrefix &gt; 0) {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // copy the rest of the key from the buffer<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    int keyRestLength;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      // omit the family part of the key, it is always the same<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      short rowLength;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      int rowRestLength;<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>      // check length of row<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        // not yet copied, do it now<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        rowLength = buffer.getShort();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        rowRestLength = rowLength;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        // already in buffer, just read it<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>      // copy the rest of row<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      state.rowLength = rowLength;<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>      // copy the column family<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      buffer.put(state.familyNameWithSize);<a name="line.272"></a>
+<span class="sourceLineNo">217</span>    // read flag<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    byte flag = source.readByte();<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // read key/value/common lengths<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    int keyLength;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    int valueLength;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      keyLength = state.keyLength;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    } else {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      valueLength = state.valueLength;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    } else {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>    // create KeyValue buffer and fill it prefix<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    int keyOffset = buffer.position();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        + KeyValue.ROW_OFFSET);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    buffer.putInt(keyLength);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    buffer.putInt(valueLength);<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>    // copy common from previous key<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    if (commonPrefix &gt; 0) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.244"></a>
+<span class="sourceLineNo">245</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>    // copy the rest of the key from the buffer<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    int keyRestLength;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      // omit the family part of the key, it is always the same<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      short rowLength;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      int rowRestLength;<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>      // check length of row<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        // not yet copied, do it now<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.259"></a>
+<span class="sourceLineNo">260</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        rowLength = buffer.getShort();<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        rowRestLength = rowLength;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      } else {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        // already in buffer, just read it<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<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>      // copy the rest of row<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      state.rowLength = rowLength;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>      keyRestLength = keyLength - rowLength -<a name="line.274"></a>
-<span class="sourceLineNo">275</span>          state.familyNameWithSize.length -<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>    // handle timestamp<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    int timestampFitsInBytes =<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      timestamp = -timestamp;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      timestamp = state.timestamp - timestamp;<a name="line.292"></a>
+<span class="sourceLineNo">274</span>      // copy the column family<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      buffer.put(state.familyNameWithSize);<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>      keyRestLength = keyLength - rowLength -<a name="line.277"></a>
+<span class="sourceLineNo">278</span>          state.familyNameWithSize.length -<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    } else {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    // handle timestamp<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    int timestampFitsInBytes =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      timestamp = -timestamp;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    }<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    buffer.putLong(timestamp);<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    // copy the type field<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    byte type;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      type = state.type;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    } else {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      type = source.readByte();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    buffer.put(type);<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>    // copy value part<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.306"></a>
+<span class="sourceLineNo">294</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      timestamp = state.timestamp - timestamp;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    }<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    buffer.putLong(timestamp);<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>    // copy the type field<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    byte type;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      type = state.type;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    } else {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      type = source.readByte();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    buffer.put(type);<a name="line.306"></a>
 <span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    state.keyLength = keyLength;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    state.valueLength = valueLength;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    state.prevOffset = keyOffset;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    state.timestamp = timestamp;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    state.type = type;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    // state.qualifier is unused<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public void compressKeyValues(DataOutputStream out,<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    in.rewind();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    while (in.hasRemaining()) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      compressSingleKeyValue(previousState, currentState,<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          out, in);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>      // swap previousState &lt;-&gt; currentState<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      DiffCompressionState tmp = previousState;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      previousState = currentState;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      currentState = tmp;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      throws IOException {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    int decompressedSize = source.readInt();<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        allocHeaderLength);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    buffer.position(allocHeaderLength);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    while (source.available() &gt; skipLastBytes) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    if (source.available() != skipLastBytes) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return buffer;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>  }<a name="line.354"></a>
+<span class="sourceLineNo">308</span>    // copy value part<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    state.keyLength = keyLength;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    state.valueLength = valueLength;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    state.prevOffset = keyOffset;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    state.timestamp = timestamp;<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    state.type = type;<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    // state.qualifier is unused<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>  @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public void compressKeyValues(DataOutputStream out,<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    in.rewind();<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    while (in.hasRemaining()) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      compressSingleKeyValue(previousState, currentState,<a name="line.327"></a>
+<span class="sourceLineNo">328</span>          out, in);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>      // swap previousState &lt;-&gt; currentState<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      DiffCompressionState tmp = previousState;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      previousState = currentState;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      currentState = tmp;<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  }<a name="line.336"></a>
+<span class="sourceLineNo">337</span><a name="line.337"></a>
+<span class="sourceLineNo">338</span>  @Override<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      throws IOException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    int decompressedSize = source.readInt();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        allocHeaderLength);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    buffer.position(allocHeaderLength);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    while (source.available() &gt; skipLastBytes) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (source.available() != skipLastBytes) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
 <span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>  @Override<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    block.mark();<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    block.position(Bytes.SIZEOF_INT);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    byte familyLength = block.get();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    byte flag = block.get();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>    // copy row<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    int pos = result.arrayOffset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    short rowLength = result.getShort();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    block.get(result.array(), pos, rowLength);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    pos += rowLength;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    // copy family<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    int savePosition = block.position();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    block.position(Bytes.SIZEOF_INT);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.380"></a>
-<span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // copy qualifier<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    block.position(savePosition);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    int qualifierLength =<a name="line.384"></a>
-<span class="sourceLineNo">385</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    block.get(result.array(), pos, qualifierLength);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    pos += qualifierLength;<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // copy the timestamp and type<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    int timestampFitInBytes =<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      timestamp = -timestamp;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    result.putLong(pos, timestamp);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    pos += Bytes.SIZEOF_LONG;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>    block.reset();<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return result;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  @Override<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public String toString() {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>  protected static class DiffSeekerState extends SeekerState {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    private int rowLengthWithSize;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    private long timestamp;<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>    @Override<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    protected void copyFromNext(SeekerState that) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      super.copyFromNext(that);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      timestamp = other.timestamp;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @Override<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      final boolean includesMemstoreTS) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      private byte[] familyNameWithSize;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.427"></a>
-<span class="sourceLineNo">428</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>      private void decode(boolean isFirst) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        byte flag = currentBuffer.get();<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        byte type = 0;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          if (!isFirst) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          current.valueLength =<a name="line.440"></a>
-<span class="sourceLineNo">441</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        }<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        current.lastCommonPrefix =<a name="line.443"></a>
-<span class="sourceLineNo">444</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>        current.ensureSpaceForKey();<a name="line.446"></a>
-<span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          // length of row is different, copy everything except family<a name="line.449"></a>
+<span class="sourceLineNo">356</span>    return buffer;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    block.mark();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    block.position(Bytes.SIZEOF_INT);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    byte familyLength = block.get();<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    byte flag = block.get();<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    // copy row<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    int pos = result.arrayOffset();<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    short rowLength = result.getShort();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    block.get(result.array(), pos, rowLength);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    pos += rowLength;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    // copy family<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    int savePosition = block.position();<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    block.position(Bytes.SIZEOF_INT);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.383"></a>
+<span class="sourceLineNo">384</span><a name="line.384"></a>
+<span class="sourceLineNo">385</span>    // copy qualifier<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    block.position(savePosition);<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    int qualifierLength =<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    block.get(result.array(), pos, qualifierLength);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    pos += qualifierLength;<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    // copy the timestamp and type<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    int timestampFitInBytes =<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      timestamp = -timestamp;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    result.putLong(pos, timestamp);<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    pos += Bytes.SIZEOF_LONG;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>    block.reset();<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    return result;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  @Override<a name="line.407"></a>
+<span class="sourceLineNo">408</span>  public String toString() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<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>  protected static class DiffSeekerState extends SeekerState {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    private int rowLengthWithSize;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    private long timestamp;<a name="line.414"></a>
+<span class="sourceLineNo">415</span><a name="line.415"></a>
+<span class="sourceLineNo">416</span>    @Override<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    protected void copyFromNext(SeekerState that) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      super.copyFromNext(that);<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      timestamp = other.timestamp;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  @Override<a name="line.425"></a>
+<span class="sourceLineNo">426</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      final boolean includesMemstoreTS) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      private byte[] familyNameWithSize;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.430"></a>
+<span class="sourceLineNo">431</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>      private void decode(boolean isFirst) {<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        byte flag = currentBuffer.get();<a name="line.434"></a>
+<span class="sourceLineNo">435</span>        byte type = 0;<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>          if (!isFirst) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          }<a name="line.439"></a>
+<span class="sourceLineNo">440</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>          current.valueLength =<a name="line.443"></a>
+<span class="sourceLineNo">444</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>        }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        current.lastCommonPrefix =<a name="line.446"></a>
+<span class="sourceLineNo">447</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.447"></a>
+<span class="sourceLineNo">448</span><a name="line.448"></a>
+<span class="sourceLineNo">449</span>        current.ensureSpaceForKey();<a name="line.449"></a>
 <span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>          // copy the row size<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.454"></a>
-<span class="sourceLineNo">455</span>              Bytes.SIZEOF_SHORT;<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span>          // copy the rest of row<a name="line.457"></a>
-<span class="sourceLineNo">458</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.458"></a>
-<span class="sourceLineNo">459</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.459"></a>
-<span class="sourceLineNo">460</span><a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // copy the column family<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          System.arraycopy(familyNameWithSize, 0, current.keyBuffer,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>              current.rowLengthWithSize, familyNameWithSize.length);<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>          // copy the qualifier<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          currentBuffer.get(current.keyBuffer,<a name="line.466"></a>
-<span class="sourceLineNo">467</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.467"></a>
-<span class="sourceLineNo">468</span>              current.keyLength - current.rowLengthWithSize -<a name="line.468"></a>
-<span class="sourceLineNo">469</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        } else if (current.lastCommonPrefix &lt; current.rowLengthWithSize) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>          // we have to copy part of row and qualifier,<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          // but column family is in right place<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>          // before column family (rest of row)<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>              current.rowLengthWithSize - current.lastCommonPrefix);<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>          // after column family (qualifier)<a name="line.478"></a>
-<span class="sourceLineNo">479</span>          currentBuffer.get(current.keyBuffer,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.480"></a>
-<span class="sourceLineNo">481</span>              current.keyLength - current.rowLengthWithSize -<a name="line.481"></a>
-<span class="sourceLineNo">482</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>        } else {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>          // copy just the ending<a name="line.484"></a>
-<span class="sourceLineNo">485</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH -<a name="line.486"></a>
-<span class="sourceLineNo">487</span>              current.lastCommonPrefix);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        }<a name="line.488"></a>
-<span class="sourceLineNo">489</span><a name="line.489"></a>
-<span class="sourceLineNo">490</span>        // timestamp<a name="line.490"></a>
-<span class="sourceLineNo">491</span>        int pos = current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        int timestampFitInBytes = 1 +<a name="line.492"></a>
-<span class="sourceLineNo">493</span>            ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        long timestampOrDiff =<a name="line.494"></a>
-<span class="sourceLineNo">495</span>            ByteBufferUtils.readLong(currentBuffer, timestampFitInBytes);<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>          timestampOrDiff = -timestampOrDiff;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) { // it is timestamp<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          current.timestamp = timestampOrDiff;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        } else { // it is diff<a name="line.501"></a>
-<span class="sourceLineNo">502</span>          current.timestamp = current.timestamp - timestampOrDiff;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        }<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        Bytes.putLong(current.keyBuffer, pos, current.timestamp);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        pos += Bytes.SIZEOF_LONG;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>        // type<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          currentBuffer.get(current.keyBuffer, pos, Bytes.SIZEOF_BYTE);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        } else if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          current.keyBuffer[pos] = type;<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>        current.valueOffset = currentBuffer.position();<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.515"></a>
+<span class="sourceLineNo">451</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          // length of row is different, copy everything except family<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>          // copy the row size<a name="line.454"></a>
+<span class="sourceLineNo">455</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.455"></a>
+<span class="sourceLineNo">456</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.457"></a>
+<span class="sourceLineNo">458</span>              Bytes.SIZEOF_SHORT;<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span>          // copy the rest of row<a name="line.460"></a>
+<span class="sourceLineNo">461</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.461"></a>
+<span class="sourceLineNo">462</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.462"></a>
+<span class="sourceLineNo">463</span><a name="line.463"></a>
+<span class="sourceLineNo">464</span>          /

<TRUNCATED>

[09/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
index 014b293..da0f54b 100644
--- a/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
+++ b/0.94/devapidocs/src-html/org/apache/hadoop/hbase/io/encoding/DiffKeyDeltaEncoder.html
@@ -34,527 +34,530 @@
 <span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import org.apache.hadoop.io.RawComparator;<a name="line.27"></a>
 <span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>/**<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * Compress using:<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * - store size of common prefix<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * - save column family once, it is same within HFile<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * - use bits to avoid duplication key length, value length<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *   and type if it same as previous<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * - store in 3 bits length of timestamp field<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * - allow diff in timestamp instead of actual value<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * Format:<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * - 1 byte:    flag<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * - 1-5 bytes: prefix length<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * - 1-8 bytes: timestamp or diff<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * - ... bytes: value<a name="line.48"></a>
-<span class="sourceLineNo">049</span> */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    long timestamp;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    byte[] familyNameWithSize;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @Override<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      timestamp = in.getLong();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    }<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @Override<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    void copyFrom(CompressionState state) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      super.copyFrom(state);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      timestamp = state2.timestamp;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      ByteBuffer in) throws IOException {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    byte flag = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    int kvPos = in.position();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int keyLength = in.getInt();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    int valueLength = in.getInt();<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    long timestamp;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    long diffTimestamp = 0;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    int diffTimestampFitsInBytes = 0;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>    int commonPrefix;<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    int timestampFitsInBytes;<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>    if (previousState.isFirst()) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      currentState.prevOffset = kvPos;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      timestamp = currentState.timestamp;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (timestamp &lt; 0) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        timestamp = -timestamp;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      commonPrefix = 0;<a name="line.103"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Compress using:<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * - store size of common prefix<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * - save column family once, it is same within HFile<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * - use bits to avoid duplication key length, value length<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *   and type if it same as previous<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * - store in 3 bits length of timestamp field<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * - allow diff in timestamp instead of actual value<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * Format:<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * - 1 byte:    flag<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * - 1-5 bytes: prefix length<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * - 1-8 bytes: timestamp or diff<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * - ... bytes: value<a name="line.50"></a>
+<span class="sourceLineNo">051</span> */<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@InterfaceAudience.Private<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public class DiffKeyDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  static final int FLAG_SAME_KEY_LENGTH = 1;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  static final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 1;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  static final int FLAG_SAME_TYPE = 1 &lt;&lt; 2;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  static final int FLAG_TIMESTAMP_IS_DIFF = 1 &lt;&lt; 3;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  static final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 4) | (1 &lt;&lt; 5) | (1 &lt;&lt; 6);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  static final int SHIFT_TIMESTAMP_LENGTH = 4;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  static final int FLAG_TIMESTAMP_SIGN = 1 &lt;&lt; 7;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  protected static class DiffCompressionState extends CompressionState {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    long timestamp;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    byte[] familyNameWithSize;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @Override<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      timestamp = in.getLong();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    void copyFrom(CompressionState state) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      super.copyFrom(state);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      DiffCompressionState state2 = (DiffCompressionState) state;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      timestamp = state2.timestamp;<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><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  private void compressSingleKeyValue(DiffCompressionState previousState,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      DiffCompressionState currentState, DataOutputStream out,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      ByteBuffer in) throws IOException {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    byte flag = 0;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    int kvPos = in.position();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    int keyLength = in.getInt();<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    int valueLength = in.getInt();<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>    long timestamp;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    long diffTimestamp = 0;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    int diffTimestampFitsInBytes = 0;<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>    int commonPrefix;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>    int timestampFitsInBytes;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>    if (previousState.isFirst()) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      currentState.prevOffset = kvPos;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      timestamp = currentState.timestamp;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      if (timestamp &lt; 0) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        flag |= FLAG_TIMESTAMP_SIGN;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        timestamp = -timestamp;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.103"></a>
 <span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // put column family<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      in.mark();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.107"></a>
-<span class="sourceLineNo">108</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.109"></a>
-<span class="sourceLineNo">110</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      in.reset();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    } else {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      // find a common prefix and skip it<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      commonPrefix =<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.115"></a>
-<span class="sourceLineNo">116</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.116"></a>
-<span class="sourceLineNo">117</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      // don't compress timestamp and type using prefix<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          commonPrefix, previousState);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      currentState.prevOffset = kvPos;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      timestamp = currentState.timestamp;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      if (negativeTimestamp) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>        timestamp = -timestamp;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (keyLength == previousState.keyLength) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      if (valueLength == previousState.valueLength) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.134"></a>
+<span class="sourceLineNo">105</span>      flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      commonPrefix = 0;<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>      // put column family<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      in.mark();<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      ByteBufferUtils.skip(in, currentState.rowLength<a name="line.110"></a>
+<span class="sourceLineNo">111</span>          + KeyValue.ROW_LENGTH_SIZE);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.familyLength<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      in.reset();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    } else {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      // find a common prefix and skip it<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      commonPrefix =<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.118"></a>
+<span class="sourceLineNo">119</span>              previousState.prevOffset + KeyValue.ROW_OFFSET, keyLength<a name="line.119"></a>
+<span class="sourceLineNo">120</span>                  - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      // don't compress timestamp and type using prefix<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.123"></a>
+<span class="sourceLineNo">124</span>          commonPrefix, previousState);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      currentState.prevOffset = kvPos;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      timestamp = currentState.timestamp;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      boolean negativeTimestamp = timestamp &lt; 0;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      if (negativeTimestamp) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        timestamp = -timestamp;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      timestampFitsInBytes = ByteBufferUtils.longFitsIn(timestamp);<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>      if (keyLength == previousState.keyLength) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.134"></a>
 <span class="sourceLineNo">135</span>      }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      if (currentState.type == previousState.type) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_TYPE;<a name="line.137"></a>
+<span class="sourceLineNo">136</span>      if (valueLength == previousState.valueLength) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>      }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>      // encode timestamp<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      if (minusDiffTimestamp) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        diffTimestamp = -diffTimestamp;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>        if (minusDiffTimestamp) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      } else {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        if (negativeTimestamp) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>    out.write(flag);<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.167"></a>
+<span class="sourceLineNo">139</span>      if (currentState.type == previousState.type) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        flag |= FLAG_SAME_TYPE;<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>      // encode timestamp<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      diffTimestamp = previousState.timestamp - currentState.timestamp;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      boolean minusDiffTimestamp = diffTimestamp &lt; 0;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      if (minusDiffTimestamp) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        diffTimestamp = -diffTimestamp;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      diffTimestampFitsInBytes = ByteBufferUtils.longFitsIn(diffTimestamp);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      if (diffTimestampFitsInBytes &lt; timestampFitsInBytes) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        flag |= (diffTimestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>        flag |= FLAG_TIMESTAMP_IS_DIFF;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        if (minusDiffTimestamp) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>        }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      } else {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        flag |= (timestampFitsInBytes - 1) &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        if (negativeTimestamp) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          flag |= FLAG_TIMESTAMP_SIGN;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>    out.write(flag);<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.167"></a>
 <span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.171"></a>
+<span class="sourceLineNo">169</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<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>    if (previousState.isFirst() ||<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      int restRowLength =<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.178"></a>
-<span class="sourceLineNo">179</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    } else {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.182"></a>
-<span class="sourceLineNo">183</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    } else {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      out.write(currentState.type);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">173</span>    ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    ByteBufferUtils.skip(in, commonPrefix);<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>    if (previousState.isFirst() ||<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      int restRowLength =<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      ByteBufferUtils.moveBufferToStream(out, in, restRowLength);<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          KeyValue.FAMILY_LENGTH_SIZE);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      ByteBufferUtils.moveBufferToStream(out, in, currentState.qualifierLength);<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    } else {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.185"></a>
+<span class="sourceLineNo">186</span>          keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      ByteBufferUtils.putLong(out, timestamp, timestampFitsInBytes);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    } else {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      ByteBufferUtils.putLong(out, diffTimestamp, diffTimestampFitsInBytes);<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>    if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      out.write(currentState.type);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    ByteBufferUtils.skip(in, KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.198"></a>
 <span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      ByteBuffer buffer,<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      DiffCompressionState state)<a name="line.202"></a>
-<span class="sourceLineNo">203</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // read the column family at the beginning<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (state.isFirst()) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      state.familyLength = source.readByte();<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      state.familyNameWithSize =<a name="line.207"></a>
-<span class="sourceLineNo">208</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>          state.familyLength);<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>    // read flag<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    byte flag = source.readByte();<a name="line.215"></a>
+<span class="sourceLineNo">200</span>    ByteBufferUtils.moveBufferToStream(out, in, valueLength);<a name="line.200"></a>
+<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      ByteBuffer buffer,<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      DiffCompressionState state)<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    // read the column family at the beginning<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    if (state.isFirst()) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      state.familyLength = source.readByte();<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      state.familyNameWithSize =<a name="line.210"></a>
+<span class="sourceLineNo">211</span>          new byte[(state.familyLength &amp; 0xff) + KeyValue.FAMILY_LENGTH_SIZE];<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      state.familyNameWithSize[0] = state.familyLength;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      source.read(state.familyNameWithSize, KeyValue.FAMILY_LENGTH_SIZE,<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          state.familyLength);<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>    // read key/value/common lengths<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    int keyLength;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    int valueLength;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      keyLength = state.keyLength;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } else {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      valueLength = state.valueLength;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    } else {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // create KeyValue buffer and fill it prefix<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    int keyOffset = buffer.position();<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.234"></a>
-<span class="sourceLineNo">235</span>        + KeyValue.ROW_OFFSET);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    buffer.putInt(keyLength);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    buffer.putInt(valueLength);<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // copy common from previous key<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    if (commonPrefix &gt; 0) {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // copy the rest of the key from the buffer<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    int keyRestLength;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      // omit the family part of the key, it is always the same<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      short rowLength;<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      int rowRestLength;<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>      // check length of row<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        // not yet copied, do it now<a name="line.255"></a>
-<span class="sourceLineNo">256</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        rowLength = buffer.getShort();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>        rowRestLength = rowLength;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        // already in buffer, just read it<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>      // copy the rest of row<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      state.rowLength = rowLength;<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>      // copy the column family<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      buffer.put(state.familyNameWithSize);<a name="line.272"></a>
+<span class="sourceLineNo">217</span>    // read flag<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    byte flag = source.readByte();<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>    // read key/value/common lengths<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    int keyLength;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    int valueLength;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      keyLength = state.keyLength;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    } else {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) != 0) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      valueLength = state.valueLength;<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    } else {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    int commonPrefix = ByteBufferUtils.readCompressedInt(source);<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>    // create KeyValue buffer and fill it prefix<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    int keyOffset = buffer.position();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    ByteBufferUtils.ensureSpace(buffer, keyLength + valueLength<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        + KeyValue.ROW_OFFSET);<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    buffer.putInt(keyLength);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    buffer.putInt(valueLength);<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>    // copy common from previous key<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    if (commonPrefix &gt; 0) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      ByteBufferUtils.copyFromBufferToBuffer(buffer, buffer, state.prevOffset<a name="line.244"></a>
+<span class="sourceLineNo">245</span>          + KeyValue.ROW_OFFSET, commonPrefix);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>    // copy the rest of the key from the buffer<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    int keyRestLength;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    if (state.isFirst() || commonPrefix &lt;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      // omit the family part of the key, it is always the same<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      short rowLength;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      int rowRestLength;<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>      // check length of row<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      if (commonPrefix &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        // not yet copied, do it now<a name="line.258"></a>
+<span class="sourceLineNo">259</span>        ByteBufferUtils.copyFromStreamToBuffer(buffer, source,<a name="line.259"></a>
+<span class="sourceLineNo">260</span>            KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>        ByteBufferUtils.skip(buffer, -KeyValue.ROW_LENGTH_SIZE);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        rowLength = buffer.getShort();<a name="line.262"></a>
+<span class="sourceLineNo">263</span>        rowRestLength = rowLength;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      } else {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        // already in buffer, just read it<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        rowLength = buffer.getShort(keyOffset + KeyValue.ROW_OFFSET);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        rowRestLength = rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix;<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>      // copy the rest of row<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      ByteBufferUtils.copyFromStreamToBuffer(buffer, source, rowRestLength);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      state.rowLength = rowLength;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>      keyRestLength = keyLength - rowLength -<a name="line.274"></a>
-<span class="sourceLineNo">275</span>          state.familyNameWithSize.length -<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>    // handle timestamp<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    int timestampFitsInBytes =<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      timestamp = -timestamp;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      timestamp = state.timestamp - timestamp;<a name="line.292"></a>
+<span class="sourceLineNo">274</span>      // copy the column family<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      buffer.put(state.familyNameWithSize);<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>      keyRestLength = keyLength - rowLength -<a name="line.277"></a>
+<span class="sourceLineNo">278</span>          state.familyNameWithSize.length -<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          (KeyValue.ROW_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    } else {<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      // prevRowWithSizeLength is the same as on previous row<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      keyRestLength = keyLength - commonPrefix - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    // copy the rest of the key, after column family -&gt; column qualifier<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, keyRestLength);<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    // handle timestamp<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    int timestampFitsInBytes =<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    long timestamp = ByteBufferUtils.readLong(source, timestampFitsInBytes);<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      timestamp = -timestamp;<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    }<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    buffer.putLong(timestamp);<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    // copy the type field<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    byte type;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      type = state.type;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    } else {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      type = source.readByte();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    buffer.put(type);<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>    // copy value part<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.306"></a>
+<span class="sourceLineNo">294</span>    if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) != 0) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      timestamp = state.timestamp - timestamp;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    }<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    buffer.putLong(timestamp);<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>    // copy the type field<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    byte type;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      type = state.type;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    } else {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      type = source.readByte();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    buffer.put(type);<a name="line.306"></a>
 <span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    state.keyLength = keyLength;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    state.valueLength = valueLength;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    state.prevOffset = keyOffset;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    state.timestamp = timestamp;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    state.type = type;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    // state.qualifier is unused<a name="line.313"></a>
-<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  public void compressKeyValues(DataOutputStream out,<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    in.rewind();<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    while (in.hasRemaining()) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      compressSingleKeyValue(previousState, currentState,<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          out, in);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>      // swap previousState &lt;-&gt; currentState<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      DiffCompressionState tmp = previousState;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      previousState = currentState;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      currentState = tmp;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      throws IOException {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    int decompressedSize = source.readInt();<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.340"></a>
-<span class="sourceLineNo">341</span>        allocHeaderLength);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    buffer.position(allocHeaderLength);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    while (source.available() &gt; skipLastBytes) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    if (source.available() != skipLastBytes) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>    return buffer;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>  }<a name="line.354"></a>
+<span class="sourceLineNo">308</span>    // copy value part<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    ByteBufferUtils.copyFromStreamToBuffer(buffer, source, valueLength);<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    state.keyLength = keyLength;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    state.valueLength = valueLength;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    state.prevOffset = keyOffset;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    state.timestamp = timestamp;<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    state.type = type;<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    // state.qualifier is unused<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>  @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public void compressKeyValues(DataOutputStream out,<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    in.rewind();<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    DiffCompressionState previousState = new DiffCompressionState();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    DiffCompressionState currentState = new DiffCompressionState();<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    while (in.hasRemaining()) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      compressSingleKeyValue(previousState, currentState,<a name="line.327"></a>
+<span class="sourceLineNo">328</span>          out, in);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>      // swap previousState &lt;-&gt; currentState<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      DiffCompressionState tmp = previousState;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      previousState = currentState;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      currentState = tmp;<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  }<a name="line.336"></a>
+<span class="sourceLineNo">337</span><a name="line.337"></a>
+<span class="sourceLineNo">338</span>  @Override<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      throws IOException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    int decompressedSize = source.readInt();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.343"></a>
+<span class="sourceLineNo">344</span>        allocHeaderLength);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    buffer.position(allocHeaderLength);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    DiffCompressionState state = new DiffCompressionState();<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    while (source.available() &gt; skipLastBytes) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (source.available() != skipLastBytes) {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      throw new IllegalStateException("Read too much bytes.");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    }<a name="line.354"></a>
 <span class="sourceLineNo">355</span><a name="line.355"></a>
-<span class="sourceLineNo">356</span>  @Override<a name="line.356"></a>
-<span class="sourceLineNo">357</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    block.mark();<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    block.position(Bytes.SIZEOF_INT);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    byte familyLength = block.get();<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    byte flag = block.get();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.366"></a>
-<span class="sourceLineNo">367</span><a name="line.367"></a>
-<span class="sourceLineNo">368</span>    // copy row<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    int pos = result.arrayOffset();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    short rowLength = result.getShort();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    block.get(result.array(), pos, rowLength);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    pos += rowLength;<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    // copy family<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    int savePosition = block.position();<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    block.position(Bytes.SIZEOF_INT);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.380"></a>
-<span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span>    // copy qualifier<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    block.position(savePosition);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    int qualifierLength =<a name="line.384"></a>
-<span class="sourceLineNo">385</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    block.get(result.array(), pos, qualifierLength);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    pos += qualifierLength;<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // copy the timestamp and type<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    int timestampFitInBytes =<a name="line.390"></a>
-<span class="sourceLineNo">391</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      timestamp = -timestamp;<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    result.putLong(pos, timestamp);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    pos += Bytes.SIZEOF_LONG;<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>    block.reset();<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    return result;<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>  @Override<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  public String toString() {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>  protected static class DiffSeekerState extends SeekerState {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    private int rowLengthWithSize;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    private long timestamp;<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>    @Override<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    protected void copyFromNext(SeekerState that) {<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      super.copyFromNext(that);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      timestamp = other.timestamp;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    }<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @Override<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      final boolean includesMemstoreTS) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      private byte[] familyNameWithSize;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.427"></a>
-<span class="sourceLineNo">428</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.428"></a>
-<span class="sourceLineNo">429</span><a name="line.429"></a>
-<span class="sourceLineNo">430</span>      private void decode(boolean isFirst) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        byte flag = currentBuffer.get();<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        byte type = 0;<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          if (!isFirst) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>          current.valueLength =<a name="line.440"></a>
-<span class="sourceLineNo">441</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        }<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        current.lastCommonPrefix =<a name="line.443"></a>
-<span class="sourceLineNo">444</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>        current.ensureSpaceForKey();<a name="line.446"></a>
-<span class="sourceLineNo">447</span><a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          // length of row is different, copy everything except family<a name="line.449"></a>
+<span class="sourceLineNo">356</span>    return buffer;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    block.mark();<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    block.position(Bytes.SIZEOF_INT);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    byte familyLength = block.get();<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    ByteBufferUtils.skip(block, familyLength);<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    byte flag = block.get();<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ByteBuffer result = ByteBuffer.allocate(keyLength);<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    // copy row<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    int pos = result.arrayOffset();<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    block.get(result.array(), pos, Bytes.SIZEOF_SHORT);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    pos += Bytes.SIZEOF_SHORT;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    short rowLength = result.getShort();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    block.get(result.array(), pos, rowLength);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    pos += rowLength;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    // copy family<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    int savePosition = block.position();<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    block.position(Bytes.SIZEOF_INT);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    block.get(result.array(), pos, familyLength + Bytes.SIZEOF_BYTE);<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    pos += familyLength + Bytes.SIZEOF_BYTE;<a name="line.383"></a>
+<span class="sourceLineNo">384</span><a name="line.384"></a>
+<span class="sourceLineNo">385</span>    // copy qualifier<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    block.position(savePosition);<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    int qualifierLength =<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        keyLength - pos + result.arrayOffset() - KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    block.get(result.array(), pos, qualifierLength);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    pos += qualifierLength;<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    // copy the timestamp and type<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    int timestampFitInBytes =<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH) + 1;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    long timestamp = ByteBufferUtils.readLong(block, timestampFitInBytes);<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      timestamp = -timestamp;<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    result.putLong(pos, timestamp);<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    pos += Bytes.SIZEOF_LONG;<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    block.get(result.array(), pos, Bytes.SIZEOF_BYTE);<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>    block.reset();<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    return result;<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  }<a name="line.405"></a>
+<span class="sourceLineNo">406</span><a name="line.406"></a>
+<span class="sourceLineNo">407</span>  @Override<a name="line.407"></a>
+<span class="sourceLineNo">408</span>  public String toString() {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    return DiffKeyDeltaEncoder.class.getSimpleName();<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>  protected static class DiffSeekerState extends SeekerState {<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    private int rowLengthWithSize;<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    private long timestamp;<a name="line.414"></a>
+<span class="sourceLineNo">415</span><a name="line.415"></a>
+<span class="sourceLineNo">416</span>    @Override<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    protected void copyFromNext(SeekerState that) {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      super.copyFromNext(that);<a name="line.418"></a>
+<span class="sourceLineNo">419</span>      DiffSeekerState other = (DiffSeekerState) that;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      timestamp = other.timestamp;<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>  @Override<a name="line.425"></a>
+<span class="sourceLineNo">426</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      final boolean includesMemstoreTS) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    return new BufferedEncodedSeeker&lt;DiffSeekerState&gt;(comparator) {<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      private byte[] familyNameWithSize;<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      private static final int TIMESTAMP_WITH_TYPE_LENGTH =<a name="line.430"></a>
+<span class="sourceLineNo">431</span>          Bytes.SIZEOF_LONG + Bytes.SIZEOF_BYTE;<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>      private void decode(boolean isFirst) {<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        byte flag = currentBuffer.get();<a name="line.434"></a>
+<span class="sourceLineNo">435</span>        byte type = 0;<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.436"></a>
+<span class="sourceLineNo">437</span>          if (!isFirst) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>            type = current.keyBuffer[current.keyLength - Bytes.SIZEOF_BYTE];<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          }<a name="line.439"></a>
+<span class="sourceLineNo">440</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        }<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>          current.valueLength =<a name="line.443"></a>
+<span class="sourceLineNo">444</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>        }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        current.lastCommonPrefix =<a name="line.446"></a>
+<span class="sourceLineNo">447</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.447"></a>
+<span class="sourceLineNo">448</span><a name="line.448"></a>
+<span class="sourceLineNo">449</span>        current.ensureSpaceForKey();<a name="line.449"></a>
 <span class="sourceLineNo">450</span><a name="line.450"></a>
-<span class="sourceLineNo">451</span>          // copy the row size<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.452"></a>
-<span class="sourceLineNo">453</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.454"></a>
-<span class="sourceLineNo">455</span>              Bytes.SIZEOF_SHORT;<a name="line.455"></a>
-<span class="sourceLineNo">456</span><a name="line.456"></a>
-<span class="sourceLineNo">457</span>          // copy the rest of row<a name="line.457"></a>
-<span class="sourceLineNo">458</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.458"></a>
-<span class="sourceLineNo">459</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.459"></a>
-<span class="sourceLineNo">460</span><a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // copy the column family<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          System.arraycopy(familyNameWithSize, 0, current.keyBuffer,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>              current.rowLengthWithSize, familyNameWithSize.length);<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>          // copy the qualifier<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          currentBuffer.get(current.keyBuffer,<a name="line.466"></a>
-<span class="sourceLineNo">467</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.467"></a>
-<span class="sourceLineNo">468</span>              current.keyLength - current.rowLengthWithSize -<a name="line.468"></a>
-<span class="sourceLineNo">469</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        } else if (current.lastCommonPrefix &lt; current.rowLengthWithSize) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>          // we have to copy part of row and qualifier,<a name="line.471"></a>
-<span class="sourceLineNo">472</span>          // but column family is in right place<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>          // before column family (rest of row)<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.475"></a>
-<span class="sourceLineNo">476</span>              current.rowLengthWithSize - current.lastCommonPrefix);<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>          // after column family (qualifier)<a name="line.478"></a>
-<span class="sourceLineNo">479</span>          currentBuffer.get(current.keyBuffer,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>              current.rowLengthWithSize + familyNameWithSize.length,<a name="line.480"></a>
-<span class="sourceLineNo">481</span>              current.keyLength - current.rowLengthWithSize -<a name="line.481"></a>
-<span class="sourceLineNo">482</span>              familyNameWithSize.length - TIMESTAMP_WITH_TYPE_LENGTH);<a name="line.482"></a>
-<span class="sourceLineNo">483</span>        } else {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>          // copy just the ending<a name="line.484"></a>
-<span class="sourceLineNo">485</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH -<a name="line.486"></a>
-<span class="sourceLineNo">487</span>              current.lastCommonPrefix);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        }<a name="line.488"></a>
-<span class="sourceLineNo">489</span><a name="line.489"></a>
-<span class="sourceLineNo">490</span>        // timestamp<a name="line.490"></a>
-<span class="sourceLineNo">491</span>        int pos = current.keyLength - TIMESTAMP_WITH_TYPE_LENGTH;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        int timestampFitInBytes = 1 +<a name="line.492"></a>
-<span class="sourceLineNo">493</span>            ((flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        long timestampOrDiff =<a name="line.494"></a>
-<span class="sourceLineNo">495</span>            ByteBufferUtils.readLong(currentBuffer, timestampFitInBytes);<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        if ((flag &amp; FLAG_TIMESTAMP_SIGN) != 0) {<a name="line.496"></a>
-<span class="sourceLineNo">497</span>          timestampOrDiff = -timestampOrDiff;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        if ((flag &amp; FLAG_TIMESTAMP_IS_DIFF) == 0) { // it is timestamp<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          current.timestamp = timestampOrDiff;<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        } else { // it is diff<a name="line.501"></a>
-<span class="sourceLineNo">502</span>          current.timestamp = current.timestamp - timestampOrDiff;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        }<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        Bytes.putLong(current.keyBuffer, pos, current.timestamp);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        pos += Bytes.SIZEOF_LONG;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>        // type<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          currentBuffer.get(current.keyBuffer, pos, Bytes.SIZEOF_BYTE);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        } else if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          current.keyBuffer[pos] = type;<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>        current.valueOffset = currentBuffer.position();<a name="line.514"></a>
-<span class="sourceLineNo">515</span>        ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.515"></a>
+<span class="sourceLineNo">451</span>        if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          // length of row is different, copy everything except family<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>          // copy the row size<a name="line.454"></a>
+<span class="sourceLineNo">455</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.455"></a>
+<span class="sourceLineNo">456</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.457"></a>
+<span class="sourceLineNo">458</span>              Bytes.SIZEOF_SHORT;<a name="line.458"></a>
+<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">460</span>          // copy the rest of row<a name="line.460"></a>
+<span class="sourceLineNo">461</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.461"></a>
+<span class="sourceLineNo">462</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.462"></a>
+<span class="sourceLineNo">463</span><a name="line.463"></a>
+<span class="sourceLineNo">464</span>          // copy the column family<a name="line.464"></a>
+<span class="sourceLineNo">465</span>    

<TRUNCATED>

[02/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/xref/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
----------------------------------------------------------------------
diff --git a/0.94/xref/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html b/0.94/xref/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
index c2ceddf..9ece009 100644
--- a/0.94/xref/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
+++ b/0.94/xref/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html
@@ -37,523 +37,526 @@
 <a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.util.Bytes;
 <a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.io.RawComparator;
 <a class="jxr_linenumber" name="29" href="#29">29</a>  
-<a class="jxr_linenumber" name="30" href="#30">30</a>  <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * Encoder similar to {@link DiffKeyDeltaEncoder} but supposedly faster.</em>
-<a class="jxr_linenumber" name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * Compress using:</em>
-<a class="jxr_linenumber" name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * - store size of common prefix</em>
-<a class="jxr_linenumber" name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * - save column family once in the first KeyValue</em>
-<a class="jxr_linenumber" name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * - use integer compression for key, value and prefix (7-bit encoding)</em>
-<a class="jxr_linenumber" name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * - use bits to avoid duplication key length, value length</em>
-<a class="jxr_linenumber" name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> *   and type if it same as previous</em>
-<a class="jxr_linenumber" name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * - store in 3 bits length of prefix timestamp</em>
-<a class="jxr_linenumber" name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> *    with previous KeyValue's timestamp</em>
-<a class="jxr_linenumber" name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * - one bit which allow to omit value if it is the same</em>
-<a class="jxr_linenumber" name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * Format:</em>
-<a class="jxr_linenumber" name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * - 1 byte:    flag</em>
-<a class="jxr_linenumber" name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)</em>
-<a class="jxr_linenumber" name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)</em>
-<a class="jxr_linenumber" name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: prefix length</em>
-<a class="jxr_linenumber" name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * - ... bytes: rest of the row (if prefix length is small enough)</em>
-<a class="jxr_linenumber" name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * - ... bytes: qualifier (or suffix depending on prefix length)</em>
-<a class="jxr_linenumber" name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * - 1-8 bytes: timestamp suffix</em>
-<a class="jxr_linenumber" name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)</em>
-<a class="jxr_linenumber" name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * - ... bytes: value (only if FLAG_SAME_VALUE is not set in the flag)</em>
-<a class="jxr_linenumber" name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="55" href="#55">55</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffDeltaEncoder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">BufferedDataBlockEncoder</a> {
-<a class="jxr_linenumber" name="56" href="#56">56</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 0) | (1 &lt;&lt; 1) | (1 &lt;&lt; 2);
-<a class="jxr_linenumber" name="57" href="#57">57</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> SHIFT_TIMESTAMP_LENGTH = 0;
-<a class="jxr_linenumber" name="58" href="#58">58</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_KEY_LENGTH = 1 &lt;&lt; 3;
-<a class="jxr_linenumber" name="59" href="#59">59</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 4;
-<a class="jxr_linenumber" name="60" href="#60">60</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_TYPE = 1 &lt;&lt; 5;
-<a class="jxr_linenumber" name="61" href="#61">61</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_VALUE = 1 &lt;&lt; 6;
-<a class="jxr_linenumber" name="62" href="#62">62</a>  
-<a class="jxr_linenumber" name="63" href="#63">63</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/CompressionState.html">CompressionState</a> {
-<a class="jxr_linenumber" name="64" href="#64">64</a>      byte[] timestamp = <strong class="jxr_keyword">new</strong> byte[KeyValue.TIMESTAMP_SIZE];
-<a class="jxr_linenumber" name="65" href="#65">65</a>      <strong class="jxr_keyword">int</strong> prevTimestampOffset;
-<a class="jxr_linenumber" name="66" href="#66">66</a>  
-<a class="jxr_linenumber" name="67" href="#67">67</a>      @Override
-<a class="jxr_linenumber" name="68" href="#68">68</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> readTimestamp(ByteBuffer in) {
-<a class="jxr_linenumber" name="69" href="#69">69</a>        in.get(timestamp);
-<a class="jxr_linenumber" name="70" href="#70">70</a>      }
-<a class="jxr_linenumber" name="71" href="#71">71</a>  
-<a class="jxr_linenumber" name="72" href="#72">72</a>      @Override
-<a class="jxr_linenumber" name="73" href="#73">73</a>      <strong class="jxr_keyword">void</strong> copyFrom(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/CompressionState.html">CompressionState</a> state) {
-<a class="jxr_linenumber" name="74" href="#74">74</a>        <strong class="jxr_keyword">super</strong>.copyFrom(state);
-<a class="jxr_linenumber" name="75" href="#75">75</a>        <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> state2 = (FastDiffCompressionState) state;
-<a class="jxr_linenumber" name="76" href="#76">76</a>        System.arraycopy(state2.timestamp, 0, timestamp, 0,
-<a class="jxr_linenumber" name="77" href="#77">77</a>            KeyValue.TIMESTAMP_SIZE);
-<a class="jxr_linenumber" name="78" href="#78">78</a>        prevTimestampOffset = state2.prevTimestampOffset;
-<a class="jxr_linenumber" name="79" href="#79">79</a>      }
-<a class="jxr_linenumber" name="80" href="#80">80</a>  
-<a class="jxr_linenumber" name="81" href="#81">81</a>      <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="82" href="#82">82</a>  <em class="jxr_javadoccomment">     * Copies the first key/value from the given stream, and initializes</em>
-<a class="jxr_linenumber" name="83" href="#83">83</a>  <em class="jxr_javadoccomment">     * decompression state based on it. Assumes that we have already read key</em>
-<a class="jxr_linenumber" name="84" href="#84">84</a>  <em class="jxr_javadoccomment">     * and value lengths. Does not set {@link #qualifierLength} (not used by</em>
-<a class="jxr_linenumber" name="85" href="#85">85</a>  <em class="jxr_javadoccomment">     * decompression) or {@link #prevOffset} (set by the calle afterwards).</em>
-<a class="jxr_linenumber" name="86" href="#86">86</a>  <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="87" href="#87">87</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> decompressFirstKV(ByteBuffer out, DataInputStream in)
-<a class="jxr_linenumber" name="88" href="#88">88</a>          <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="89" href="#89">89</a>        <strong class="jxr_keyword">int</strong> kvPos = out.position();
-<a class="jxr_linenumber" name="90" href="#90">90</a>        out.putInt(keyLength);
-<a class="jxr_linenumber" name="91" href="#91">91</a>        out.putInt(valueLength);
-<a class="jxr_linenumber" name="92" href="#92">92</a>        prevTimestampOffset = out.position() + keyLength -
-<a class="jxr_linenumber" name="93" href="#93">93</a>            KeyValue.TIMESTAMP_TYPE_SIZE;
-<a class="jxr_linenumber" name="94" href="#94">94</a>        ByteBufferUtils.copyFromStreamToBuffer(out, in, keyLength + valueLength);
-<a class="jxr_linenumber" name="95" href="#95">95</a>        rowLength = out.getShort(kvPos + KeyValue.ROW_OFFSET);
-<a class="jxr_linenumber" name="96" href="#96">96</a>        familyLength = out.get(kvPos + KeyValue.ROW_OFFSET +
-<a class="jxr_linenumber" name="97" href="#97">97</a>            KeyValue.ROW_LENGTH_SIZE + rowLength);
-<a class="jxr_linenumber" name="98" href="#98">98</a>        type = out.get(prevTimestampOffset + KeyValue.TIMESTAMP_SIZE);
-<a class="jxr_linenumber" name="99" href="#99">99</a>      }
-<a class="jxr_linenumber" name="100" href="#100">100</a> 
-<a class="jxr_linenumber" name="101" href="#101">101</a>   }
-<a class="jxr_linenumber" name="102" href="#102">102</a> 
-<a class="jxr_linenumber" name="103" href="#103">103</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> compressSingleKeyValue(
-<a class="jxr_linenumber" name="104" href="#104">104</a>         <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> previousState,
-<a class="jxr_linenumber" name="105" href="#105">105</a>         <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> currentState,
-<a class="jxr_linenumber" name="106" href="#106">106</a>         OutputStream out, ByteBuffer in) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="107" href="#107">107</a>     currentState.prevOffset = in.position();
-<a class="jxr_linenumber" name="108" href="#108">108</a>     <strong class="jxr_keyword">int</strong> keyLength = in.getInt();
-<a class="jxr_linenumber" name="109" href="#109">109</a>     <strong class="jxr_keyword">int</strong> valueOffset =
-<a class="jxr_linenumber" name="110" href="#110">110</a>         currentState.prevOffset + keyLength + KeyValue.ROW_OFFSET;
-<a class="jxr_linenumber" name="111" href="#111">111</a>     <strong class="jxr_keyword">int</strong> valueLength = in.getInt();
-<a class="jxr_linenumber" name="112" href="#112">112</a>     byte flag = 0;
-<a class="jxr_linenumber" name="113" href="#113">113</a> 
-<a class="jxr_linenumber" name="114" href="#114">114</a>     <strong class="jxr_keyword">if</strong> (previousState.isFirst()) {
-<a class="jxr_linenumber" name="115" href="#115">115</a>       <em class="jxr_comment">// copy the key, there is no common prefix with none</em>
-<a class="jxr_linenumber" name="116" href="#116">116</a>       out.write(flag);
-<a class="jxr_linenumber" name="117" href="#117">117</a>       ByteBufferUtils.putCompressedInt(out, keyLength);
-<a class="jxr_linenumber" name="118" href="#118">118</a>       ByteBufferUtils.putCompressedInt(out, valueLength);
-<a class="jxr_linenumber" name="119" href="#119">119</a>       ByteBufferUtils.putCompressedInt(out, 0);
-<a class="jxr_linenumber" name="120" href="#120">120</a> 
-<a class="jxr_linenumber" name="121" href="#121">121</a>       currentState.readKey(in, keyLength, valueLength);
-<a class="jxr_linenumber" name="122" href="#122">122</a> 
-<a class="jxr_linenumber" name="123" href="#123">123</a>       ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);
-<a class="jxr_linenumber" name="124" href="#124">124</a>     } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="125" href="#125">125</a>       <em class="jxr_comment">// find a common prefix and skip it</em>
-<a class="jxr_linenumber" name="126" href="#126">126</a>       <strong class="jxr_keyword">int</strong> commonPrefix = ByteBufferUtils.findCommonPrefix(in, in.position(),
-<a class="jxr_linenumber" name="127" href="#127">127</a>           previousState.prevOffset + KeyValue.ROW_OFFSET,
-<a class="jxr_linenumber" name="128" href="#128">128</a>           Math.min(keyLength, previousState.keyLength) -
-<a class="jxr_linenumber" name="129" href="#129">129</a>           KeyValue.TIMESTAMP_TYPE_SIZE);
-<a class="jxr_linenumber" name="130" href="#130">130</a> 
-<a class="jxr_linenumber" name="131" href="#131">131</a>       currentState.readKey(in, keyLength, valueLength,
-<a class="jxr_linenumber" name="132" href="#132">132</a>           commonPrefix, previousState);
+<a class="jxr_linenumber" name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.classification.InterfaceAudience;
+<a class="jxr_linenumber" name="31" href="#31">31</a>  
+<a class="jxr_linenumber" name="32" href="#32">32</a>  <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * Encoder similar to {@link DiffKeyDeltaEncoder} but supposedly faster.</em>
+<a class="jxr_linenumber" name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * Compress using:</em>
+<a class="jxr_linenumber" name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * - store size of common prefix</em>
+<a class="jxr_linenumber" name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * - save column family once in the first KeyValue</em>
+<a class="jxr_linenumber" name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * - use integer compression for key, value and prefix (7-bit encoding)</em>
+<a class="jxr_linenumber" name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * - use bits to avoid duplication key length, value length</em>
+<a class="jxr_linenumber" name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> *   and type if it same as previous</em>
+<a class="jxr_linenumber" name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * - store in 3 bits length of prefix timestamp</em>
+<a class="jxr_linenumber" name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> *    with previous KeyValue's timestamp</em>
+<a class="jxr_linenumber" name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * - one bit which allow to omit value if it is the same</em>
+<a class="jxr_linenumber" name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * Format:</em>
+<a class="jxr_linenumber" name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * - 1 byte:    flag</em>
+<a class="jxr_linenumber" name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)</em>
+<a class="jxr_linenumber" name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)</em>
+<a class="jxr_linenumber" name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * - 1-5 bytes: prefix length</em>
+<a class="jxr_linenumber" name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * - ... bytes: rest of the row (if prefix length is small enough)</em>
+<a class="jxr_linenumber" name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * - ... bytes: qualifier (or suffix depending on prefix length)</em>
+<a class="jxr_linenumber" name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * - 1-8 bytes: timestamp suffix</em>
+<a class="jxr_linenumber" name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)</em>
+<a class="jxr_linenumber" name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> * - ... bytes: value (only if FLAG_SAME_VALUE is not set in the flag)</em>
+<a class="jxr_linenumber" name="55" href="#55">55</a>  <em class="jxr_javadoccomment"> *</em>
+<a class="jxr_linenumber" name="56" href="#56">56</a>  <em class="jxr_javadoccomment"> */</em>
+<a class="jxr_linenumber" name="57" href="#57">57</a>  @InterfaceAudience.Private
+<a class="jxr_linenumber" name="58" href="#58">58</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffDeltaEncoder</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">BufferedDataBlockEncoder</a> {
+<a class="jxr_linenumber" name="59" href="#59">59</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 0) | (1 &lt;&lt; 1) | (1 &lt;&lt; 2);
+<a class="jxr_linenumber" name="60" href="#60">60</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> SHIFT_TIMESTAMP_LENGTH = 0;
+<a class="jxr_linenumber" name="61" href="#61">61</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_KEY_LENGTH = 1 &lt;&lt; 3;
+<a class="jxr_linenumber" name="62" href="#62">62</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 4;
+<a class="jxr_linenumber" name="63" href="#63">63</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_TYPE = 1 &lt;&lt; 5;
+<a class="jxr_linenumber" name="64" href="#64">64</a>    <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> FLAG_SAME_VALUE = 1 &lt;&lt; 6;
+<a class="jxr_linenumber" name="65" href="#65">65</a>  
+<a class="jxr_linenumber" name="66" href="#66">66</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/CompressionState.html">CompressionState</a> {
+<a class="jxr_linenumber" name="67" href="#67">67</a>      byte[] timestamp = <strong class="jxr_keyword">new</strong> byte[KeyValue.TIMESTAMP_SIZE];
+<a class="jxr_linenumber" name="68" href="#68">68</a>      <strong class="jxr_keyword">int</strong> prevTimestampOffset;
+<a class="jxr_linenumber" name="69" href="#69">69</a>  
+<a class="jxr_linenumber" name="70" href="#70">70</a>      @Override
+<a class="jxr_linenumber" name="71" href="#71">71</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> readTimestamp(ByteBuffer in) {
+<a class="jxr_linenumber" name="72" href="#72">72</a>        in.get(timestamp);
+<a class="jxr_linenumber" name="73" href="#73">73</a>      }
+<a class="jxr_linenumber" name="74" href="#74">74</a>  
+<a class="jxr_linenumber" name="75" href="#75">75</a>      @Override
+<a class="jxr_linenumber" name="76" href="#76">76</a>      <strong class="jxr_keyword">void</strong> copyFrom(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/CompressionState.html">CompressionState</a> state) {
+<a class="jxr_linenumber" name="77" href="#77">77</a>        <strong class="jxr_keyword">super</strong>.copyFrom(state);
+<a class="jxr_linenumber" name="78" href="#78">78</a>        <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> state2 = (FastDiffCompressionState) state;
+<a class="jxr_linenumber" name="79" href="#79">79</a>        System.arraycopy(state2.timestamp, 0, timestamp, 0,
+<a class="jxr_linenumber" name="80" href="#80">80</a>            KeyValue.TIMESTAMP_SIZE);
+<a class="jxr_linenumber" name="81" href="#81">81</a>        prevTimestampOffset = state2.prevTimestampOffset;
+<a class="jxr_linenumber" name="82" href="#82">82</a>      }
+<a class="jxr_linenumber" name="83" href="#83">83</a>  
+<a class="jxr_linenumber" name="84" href="#84">84</a>      <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="85" href="#85">85</a>  <em class="jxr_javadoccomment">     * Copies the first key/value from the given stream, and initializes</em>
+<a class="jxr_linenumber" name="86" href="#86">86</a>  <em class="jxr_javadoccomment">     * decompression state based on it. Assumes that we have already read key</em>
+<a class="jxr_linenumber" name="87" href="#87">87</a>  <em class="jxr_javadoccomment">     * and value lengths. Does not set {@link #qualifierLength} (not used by</em>
+<a class="jxr_linenumber" name="88" href="#88">88</a>  <em class="jxr_javadoccomment">     * decompression) or {@link #prevOffset} (set by the calle afterwards).</em>
+<a class="jxr_linenumber" name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="90" href="#90">90</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> decompressFirstKV(ByteBuffer out, DataInputStream in)
+<a class="jxr_linenumber" name="91" href="#91">91</a>          <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="92" href="#92">92</a>        <strong class="jxr_keyword">int</strong> kvPos = out.position();
+<a class="jxr_linenumber" name="93" href="#93">93</a>        out.putInt(keyLength);
+<a class="jxr_linenumber" name="94" href="#94">94</a>        out.putInt(valueLength);
+<a class="jxr_linenumber" name="95" href="#95">95</a>        prevTimestampOffset = out.position() + keyLength -
+<a class="jxr_linenumber" name="96" href="#96">96</a>            KeyValue.TIMESTAMP_TYPE_SIZE;
+<a class="jxr_linenumber" name="97" href="#97">97</a>        ByteBufferUtils.copyFromStreamToBuffer(out, in, keyLength + valueLength);
+<a class="jxr_linenumber" name="98" href="#98">98</a>        rowLength = out.getShort(kvPos + KeyValue.ROW_OFFSET);
+<a class="jxr_linenumber" name="99" href="#99">99</a>        familyLength = out.get(kvPos + KeyValue.ROW_OFFSET +
+<a class="jxr_linenumber" name="100" href="#100">100</a>           KeyValue.ROW_LENGTH_SIZE + rowLength);
+<a class="jxr_linenumber" name="101" href="#101">101</a>       type = out.get(prevTimestampOffset + KeyValue.TIMESTAMP_SIZE);
+<a class="jxr_linenumber" name="102" href="#102">102</a>     }
+<a class="jxr_linenumber" name="103" href="#103">103</a> 
+<a class="jxr_linenumber" name="104" href="#104">104</a>   }
+<a class="jxr_linenumber" name="105" href="#105">105</a> 
+<a class="jxr_linenumber" name="106" href="#106">106</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> compressSingleKeyValue(
+<a class="jxr_linenumber" name="107" href="#107">107</a>         <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> previousState,
+<a class="jxr_linenumber" name="108" href="#108">108</a>         <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> currentState,
+<a class="jxr_linenumber" name="109" href="#109">109</a>         OutputStream out, ByteBuffer in) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="110" href="#110">110</a>     currentState.prevOffset = in.position();
+<a class="jxr_linenumber" name="111" href="#111">111</a>     <strong class="jxr_keyword">int</strong> keyLength = in.getInt();
+<a class="jxr_linenumber" name="112" href="#112">112</a>     <strong class="jxr_keyword">int</strong> valueOffset =
+<a class="jxr_linenumber" name="113" href="#113">113</a>         currentState.prevOffset + keyLength + KeyValue.ROW_OFFSET;
+<a class="jxr_linenumber" name="114" href="#114">114</a>     <strong class="jxr_keyword">int</strong> valueLength = in.getInt();
+<a class="jxr_linenumber" name="115" href="#115">115</a>     byte flag = 0;
+<a class="jxr_linenumber" name="116" href="#116">116</a> 
+<a class="jxr_linenumber" name="117" href="#117">117</a>     <strong class="jxr_keyword">if</strong> (previousState.isFirst()) {
+<a class="jxr_linenumber" name="118" href="#118">118</a>       <em class="jxr_comment">// copy the key, there is no common prefix with none</em>
+<a class="jxr_linenumber" name="119" href="#119">119</a>       out.write(flag);
+<a class="jxr_linenumber" name="120" href="#120">120</a>       ByteBufferUtils.putCompressedInt(out, keyLength);
+<a class="jxr_linenumber" name="121" href="#121">121</a>       ByteBufferUtils.putCompressedInt(out, valueLength);
+<a class="jxr_linenumber" name="122" href="#122">122</a>       ByteBufferUtils.putCompressedInt(out, 0);
+<a class="jxr_linenumber" name="123" href="#123">123</a> 
+<a class="jxr_linenumber" name="124" href="#124">124</a>       currentState.readKey(in, keyLength, valueLength);
+<a class="jxr_linenumber" name="125" href="#125">125</a> 
+<a class="jxr_linenumber" name="126" href="#126">126</a>       ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);
+<a class="jxr_linenumber" name="127" href="#127">127</a>     } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="128" href="#128">128</a>       <em class="jxr_comment">// find a common prefix and skip it</em>
+<a class="jxr_linenumber" name="129" href="#129">129</a>       <strong class="jxr_keyword">int</strong> commonPrefix = ByteBufferUtils.findCommonPrefix(in, in.position(),
+<a class="jxr_linenumber" name="130" href="#130">130</a>           previousState.prevOffset + KeyValue.ROW_OFFSET,
+<a class="jxr_linenumber" name="131" href="#131">131</a>           Math.min(keyLength, previousState.keyLength) -
+<a class="jxr_linenumber" name="132" href="#132">132</a>           KeyValue.TIMESTAMP_TYPE_SIZE);
 <a class="jxr_linenumber" name="133" href="#133">133</a> 
-<a class="jxr_linenumber" name="134" href="#134">134</a>       <strong class="jxr_keyword">if</strong> (keyLength == previousState.keyLength) {
-<a class="jxr_linenumber" name="135" href="#135">135</a>         flag |= FLAG_SAME_KEY_LENGTH;
-<a class="jxr_linenumber" name="136" href="#136">136</a>       }
-<a class="jxr_linenumber" name="137" href="#137">137</a>       <strong class="jxr_keyword">if</strong> (valueLength == previousState.valueLength) {
-<a class="jxr_linenumber" name="138" href="#138">138</a>         flag |= FLAG_SAME_VALUE_LENGTH;
+<a class="jxr_linenumber" name="134" href="#134">134</a>       currentState.readKey(in, keyLength, valueLength,
+<a class="jxr_linenumber" name="135" href="#135">135</a>           commonPrefix, previousState);
+<a class="jxr_linenumber" name="136" href="#136">136</a> 
+<a class="jxr_linenumber" name="137" href="#137">137</a>       <strong class="jxr_keyword">if</strong> (keyLength == previousState.keyLength) {
+<a class="jxr_linenumber" name="138" href="#138">138</a>         flag |= FLAG_SAME_KEY_LENGTH;
 <a class="jxr_linenumber" name="139" href="#139">139</a>       }
-<a class="jxr_linenumber" name="140" href="#140">140</a>       <strong class="jxr_keyword">if</strong> (currentState.type == previousState.type) {
-<a class="jxr_linenumber" name="141" href="#141">141</a>         flag |= FLAG_SAME_TYPE;
+<a class="jxr_linenumber" name="140" href="#140">140</a>       <strong class="jxr_keyword">if</strong> (valueLength == previousState.valueLength) {
+<a class="jxr_linenumber" name="141" href="#141">141</a>         flag |= FLAG_SAME_VALUE_LENGTH;
 <a class="jxr_linenumber" name="142" href="#142">142</a>       }
-<a class="jxr_linenumber" name="143" href="#143">143</a> 
-<a class="jxr_linenumber" name="144" href="#144">144</a>       <strong class="jxr_keyword">int</strong> commonTimestampPrefix = findCommonTimestampPrefix(
-<a class="jxr_linenumber" name="145" href="#145">145</a>           currentState, previousState);
-<a class="jxr_linenumber" name="146" href="#146">146</a>       flag |= commonTimestampPrefix &lt;&lt; SHIFT_TIMESTAMP_LENGTH;
-<a class="jxr_linenumber" name="147" href="#147">147</a> 
-<a class="jxr_linenumber" name="148" href="#148">148</a>       <em class="jxr_comment">// Check if current and previous values are the same. Compare value</em>
-<a class="jxr_linenumber" name="149" href="#149">149</a>       <em class="jxr_comment">// length first as an optimization.</em>
-<a class="jxr_linenumber" name="150" href="#150">150</a>       <strong class="jxr_keyword">if</strong> (valueLength == previousState.valueLength) {
-<a class="jxr_linenumber" name="151" href="#151">151</a>         <strong class="jxr_keyword">int</strong> previousValueOffset = previousState.prevOffset
-<a class="jxr_linenumber" name="152" href="#152">152</a>             + previousState.keyLength + KeyValue.ROW_OFFSET;
-<a class="jxr_linenumber" name="153" href="#153">153</a>         <strong class="jxr_keyword">if</strong> (ByteBufferUtils.arePartsEqual(in,
-<a class="jxr_linenumber" name="154" href="#154">154</a>                 previousValueOffset, previousState.valueLength,
-<a class="jxr_linenumber" name="155" href="#155">155</a>                 valueOffset, valueLength)) {
-<a class="jxr_linenumber" name="156" href="#156">156</a>           flag |= FLAG_SAME_VALUE;
-<a class="jxr_linenumber" name="157" href="#157">157</a>         }
-<a class="jxr_linenumber" name="158" href="#158">158</a>       }
-<a class="jxr_linenumber" name="159" href="#159">159</a> 
-<a class="jxr_linenumber" name="160" href="#160">160</a>       out.write(flag);
-<a class="jxr_linenumber" name="161" href="#161">161</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {
-<a class="jxr_linenumber" name="162" href="#162">162</a>         ByteBufferUtils.putCompressedInt(out, keyLength);
-<a class="jxr_linenumber" name="163" href="#163">163</a>       }
-<a class="jxr_linenumber" name="164" href="#164">164</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {
-<a class="jxr_linenumber" name="165" href="#165">165</a>         ByteBufferUtils.putCompressedInt(out, valueLength);
+<a class="jxr_linenumber" name="143" href="#143">143</a>       <strong class="jxr_keyword">if</strong> (currentState.type == previousState.type) {
+<a class="jxr_linenumber" name="144" href="#144">144</a>         flag |= FLAG_SAME_TYPE;
+<a class="jxr_linenumber" name="145" href="#145">145</a>       }
+<a class="jxr_linenumber" name="146" href="#146">146</a> 
+<a class="jxr_linenumber" name="147" href="#147">147</a>       <strong class="jxr_keyword">int</strong> commonTimestampPrefix = findCommonTimestampPrefix(
+<a class="jxr_linenumber" name="148" href="#148">148</a>           currentState, previousState);
+<a class="jxr_linenumber" name="149" href="#149">149</a>       flag |= commonTimestampPrefix &lt;&lt; SHIFT_TIMESTAMP_LENGTH;
+<a class="jxr_linenumber" name="150" href="#150">150</a> 
+<a class="jxr_linenumber" name="151" href="#151">151</a>       <em class="jxr_comment">// Check if current and previous values are the same. Compare value</em>
+<a class="jxr_linenumber" name="152" href="#152">152</a>       <em class="jxr_comment">// length first as an optimization.</em>
+<a class="jxr_linenumber" name="153" href="#153">153</a>       <strong class="jxr_keyword">if</strong> (valueLength == previousState.valueLength) {
+<a class="jxr_linenumber" name="154" href="#154">154</a>         <strong class="jxr_keyword">int</strong> previousValueOffset = previousState.prevOffset
+<a class="jxr_linenumber" name="155" href="#155">155</a>             + previousState.keyLength + KeyValue.ROW_OFFSET;
+<a class="jxr_linenumber" name="156" href="#156">156</a>         <strong class="jxr_keyword">if</strong> (ByteBufferUtils.arePartsEqual(in,
+<a class="jxr_linenumber" name="157" href="#157">157</a>                 previousValueOffset, previousState.valueLength,
+<a class="jxr_linenumber" name="158" href="#158">158</a>                 valueOffset, valueLength)) {
+<a class="jxr_linenumber" name="159" href="#159">159</a>           flag |= FLAG_SAME_VALUE;
+<a class="jxr_linenumber" name="160" href="#160">160</a>         }
+<a class="jxr_linenumber" name="161" href="#161">161</a>       }
+<a class="jxr_linenumber" name="162" href="#162">162</a> 
+<a class="jxr_linenumber" name="163" href="#163">163</a>       out.write(flag);
+<a class="jxr_linenumber" name="164" href="#164">164</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {
+<a class="jxr_linenumber" name="165" href="#165">165</a>         ByteBufferUtils.putCompressedInt(out, keyLength);
 <a class="jxr_linenumber" name="166" href="#166">166</a>       }
-<a class="jxr_linenumber" name="167" href="#167">167</a>       ByteBufferUtils.putCompressedInt(out, commonPrefix);
-<a class="jxr_linenumber" name="168" href="#168">168</a> 
-<a class="jxr_linenumber" name="169" href="#169">169</a>       ByteBufferUtils.skip(in, commonPrefix);
-<a class="jxr_linenumber" name="170" href="#170">170</a>       <strong class="jxr_keyword">if</strong> (commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {
-<a class="jxr_linenumber" name="171" href="#171">171</a>         <em class="jxr_comment">// Previous and current rows are different. Copy the differing part of</em>
-<a class="jxr_linenumber" name="172" href="#172">172</a>         <em class="jxr_comment">// the row, skip the column family, and copy the qualifier.</em>
-<a class="jxr_linenumber" name="173" href="#173">173</a>         ByteBufferUtils.moveBufferToStream(out, in,
-<a class="jxr_linenumber" name="174" href="#174">174</a>             currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix);
-<a class="jxr_linenumber" name="175" href="#175">175</a>         ByteBufferUtils.skip(in, currentState.familyLength +
-<a class="jxr_linenumber" name="176" href="#176">176</a>             KeyValue.FAMILY_LENGTH_SIZE);
-<a class="jxr_linenumber" name="177" href="#177">177</a>         ByteBufferUtils.moveBufferToStream(out, in,
-<a class="jxr_linenumber" name="178" href="#178">178</a>             currentState.qualifierLength);
-<a class="jxr_linenumber" name="179" href="#179">179</a>       } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="180" href="#180">180</a>         <em class="jxr_comment">// The common part includes the whole row. As the column family is the</em>
-<a class="jxr_linenumber" name="181" href="#181">181</a>         <em class="jxr_comment">// same across the whole file, it will automatically be included in the</em>
-<a class="jxr_linenumber" name="182" href="#182">182</a>         <em class="jxr_comment">// common prefix, so we need not special-case it here.</em>
-<a class="jxr_linenumber" name="183" href="#183">183</a>         <strong class="jxr_keyword">int</strong> restKeyLength = keyLength - commonPrefix -
-<a class="jxr_linenumber" name="184" href="#184">184</a>             KeyValue.TIMESTAMP_TYPE_SIZE;
-<a class="jxr_linenumber" name="185" href="#185">185</a>         ByteBufferUtils.moveBufferToStream(out, in, restKeyLength);
-<a class="jxr_linenumber" name="186" href="#186">186</a>       }
-<a class="jxr_linenumber" name="187" href="#187">187</a>       ByteBufferUtils.skip(in, commonTimestampPrefix);
-<a class="jxr_linenumber" name="188" href="#188">188</a>       ByteBufferUtils.moveBufferToStream(out, in,
-<a class="jxr_linenumber" name="189" href="#189">189</a>           KeyValue.TIMESTAMP_SIZE - commonTimestampPrefix);
-<a class="jxr_linenumber" name="190" href="#190">190</a> 
-<a class="jxr_linenumber" name="191" href="#191">191</a>       <em class="jxr_comment">// Write the type if it is not the same as before.</em>
-<a class="jxr_linenumber" name="192" href="#192">192</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_TYPE) == 0) {
-<a class="jxr_linenumber" name="193" href="#193">193</a>         out.write(currentState.type);
-<a class="jxr_linenumber" name="194" href="#194">194</a>       }
-<a class="jxr_linenumber" name="195" href="#195">195</a> 
-<a class="jxr_linenumber" name="196" href="#196">196</a>       <em class="jxr_comment">// Write the value if it is not the same as before.</em>
-<a class="jxr_linenumber" name="197" href="#197">197</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE) == 0) {
-<a class="jxr_linenumber" name="198" href="#198">198</a>         ByteBufferUtils.copyBufferToStream(out, in, valueOffset, valueLength);
-<a class="jxr_linenumber" name="199" href="#199">199</a>       }
-<a class="jxr_linenumber" name="200" href="#200">200</a> 
-<a class="jxr_linenumber" name="201" href="#201">201</a>       <em class="jxr_comment">// Skip key type and value in the input buffer.</em>
-<a class="jxr_linenumber" name="202" href="#202">202</a>       ByteBufferUtils.skip(in, KeyValue.TYPE_SIZE + currentState.valueLength);
-<a class="jxr_linenumber" name="203" href="#203">203</a>     }
-<a class="jxr_linenumber" name="204" href="#204">204</a>   }
-<a class="jxr_linenumber" name="205" href="#205">205</a> 
-<a class="jxr_linenumber" name="206" href="#206">206</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> findCommonTimestampPrefix(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> left,
-<a class="jxr_linenumber" name="207" href="#207">207</a>       <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> right) {
-<a class="jxr_linenumber" name="208" href="#208">208</a>     <strong class="jxr_keyword">int</strong> prefixTimestamp = 0;
-<a class="jxr_linenumber" name="209" href="#209">209</a>     <strong class="jxr_keyword">while</strong> (prefixTimestamp &lt; (KeyValue.TIMESTAMP_SIZE - 1) &amp;&amp;
-<a class="jxr_linenumber" name="210" href="#210">210</a>         left.timestamp[prefixTimestamp]
-<a class="jxr_linenumber" name="211" href="#211">211</a>             == right.timestamp[prefixTimestamp]) {
-<a class="jxr_linenumber" name="212" href="#212">212</a>       prefixTimestamp++;
-<a class="jxr_linenumber" name="213" href="#213">213</a>     }
-<a class="jxr_linenumber" name="214" href="#214">214</a>     <strong class="jxr_keyword">return</strong> prefixTimestamp; <em class="jxr_comment">// has to be at most 7 bytes</em>
-<a class="jxr_linenumber" name="215" href="#215">215</a>   }
-<a class="jxr_linenumber" name="216" href="#216">216</a> 
-<a class="jxr_linenumber" name="217" href="#217">217</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> uncompressSingleKeyValue(DataInputStream source,
-<a class="jxr_linenumber" name="218" href="#218">218</a>       ByteBuffer out, <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> state)
-<a class="jxr_linenumber" name="219" href="#219">219</a>           <strong class="jxr_keyword">throws</strong> IOException, <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/EncoderBufferTooSmallException.html">EncoderBufferTooSmallException</a> {
-<a class="jxr_linenumber" name="220" href="#220">220</a>     byte flag = source.readByte();
-<a class="jxr_linenumber" name="221" href="#221">221</a>     <strong class="jxr_keyword">int</strong> prevKeyLength = state.keyLength;
-<a class="jxr_linenumber" name="222" href="#222">222</a> 
-<a class="jxr_linenumber" name="223" href="#223">223</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {
-<a class="jxr_linenumber" name="224" href="#224">224</a>       state.keyLength = ByteBufferUtils.readCompressedInt(source);
-<a class="jxr_linenumber" name="225" href="#225">225</a>     }
-<a class="jxr_linenumber" name="226" href="#226">226</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {
-<a class="jxr_linenumber" name="227" href="#227">227</a>       state.valueLength = ByteBufferUtils.readCompressedInt(source);
+<a class="jxr_linenumber" name="167" href="#167">167</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {
+<a class="jxr_linenumber" name="168" href="#168">168</a>         ByteBufferUtils.putCompressedInt(out, valueLength);
+<a class="jxr_linenumber" name="169" href="#169">169</a>       }
+<a class="jxr_linenumber" name="170" href="#170">170</a>       ByteBufferUtils.putCompressedInt(out, commonPrefix);
+<a class="jxr_linenumber" name="171" href="#171">171</a> 
+<a class="jxr_linenumber" name="172" href="#172">172</a>       ByteBufferUtils.skip(in, commonPrefix);
+<a class="jxr_linenumber" name="173" href="#173">173</a>       <strong class="jxr_keyword">if</strong> (commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {
+<a class="jxr_linenumber" name="174" href="#174">174</a>         <em class="jxr_comment">// Previous and current rows are different. Copy the differing part of</em>
+<a class="jxr_linenumber" name="175" href="#175">175</a>         <em class="jxr_comment">// the row, skip the column family, and copy the qualifier.</em>
+<a class="jxr_linenumber" name="176" href="#176">176</a>         ByteBufferUtils.moveBufferToStream(out, in,
+<a class="jxr_linenumber" name="177" href="#177">177</a>             currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix);
+<a class="jxr_linenumber" name="178" href="#178">178</a>         ByteBufferUtils.skip(in, currentState.familyLength +
+<a class="jxr_linenumber" name="179" href="#179">179</a>             KeyValue.FAMILY_LENGTH_SIZE);
+<a class="jxr_linenumber" name="180" href="#180">180</a>         ByteBufferUtils.moveBufferToStream(out, in,
+<a class="jxr_linenumber" name="181" href="#181">181</a>             currentState.qualifierLength);
+<a class="jxr_linenumber" name="182" href="#182">182</a>       } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="183" href="#183">183</a>         <em class="jxr_comment">// The common part includes the whole row. As the column family is the</em>
+<a class="jxr_linenumber" name="184" href="#184">184</a>         <em class="jxr_comment">// same across the whole file, it will automatically be included in the</em>
+<a class="jxr_linenumber" name="185" href="#185">185</a>         <em class="jxr_comment">// common prefix, so we need not special-case it here.</em>
+<a class="jxr_linenumber" name="186" href="#186">186</a>         <strong class="jxr_keyword">int</strong> restKeyLength = keyLength - commonPrefix -
+<a class="jxr_linenumber" name="187" href="#187">187</a>             KeyValue.TIMESTAMP_TYPE_SIZE;
+<a class="jxr_linenumber" name="188" href="#188">188</a>         ByteBufferUtils.moveBufferToStream(out, in, restKeyLength);
+<a class="jxr_linenumber" name="189" href="#189">189</a>       }
+<a class="jxr_linenumber" name="190" href="#190">190</a>       ByteBufferUtils.skip(in, commonTimestampPrefix);
+<a class="jxr_linenumber" name="191" href="#191">191</a>       ByteBufferUtils.moveBufferToStream(out, in,
+<a class="jxr_linenumber" name="192" href="#192">192</a>           KeyValue.TIMESTAMP_SIZE - commonTimestampPrefix);
+<a class="jxr_linenumber" name="193" href="#193">193</a> 
+<a class="jxr_linenumber" name="194" href="#194">194</a>       <em class="jxr_comment">// Write the type if it is not the same as before.</em>
+<a class="jxr_linenumber" name="195" href="#195">195</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_TYPE) == 0) {
+<a class="jxr_linenumber" name="196" href="#196">196</a>         out.write(currentState.type);
+<a class="jxr_linenumber" name="197" href="#197">197</a>       }
+<a class="jxr_linenumber" name="198" href="#198">198</a> 
+<a class="jxr_linenumber" name="199" href="#199">199</a>       <em class="jxr_comment">// Write the value if it is not the same as before.</em>
+<a class="jxr_linenumber" name="200" href="#200">200</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE) == 0) {
+<a class="jxr_linenumber" name="201" href="#201">201</a>         ByteBufferUtils.copyBufferToStream(out, in, valueOffset, valueLength);
+<a class="jxr_linenumber" name="202" href="#202">202</a>       }
+<a class="jxr_linenumber" name="203" href="#203">203</a> 
+<a class="jxr_linenumber" name="204" href="#204">204</a>       <em class="jxr_comment">// Skip key type and value in the input buffer.</em>
+<a class="jxr_linenumber" name="205" href="#205">205</a>       ByteBufferUtils.skip(in, KeyValue.TYPE_SIZE + currentState.valueLength);
+<a class="jxr_linenumber" name="206" href="#206">206</a>     }
+<a class="jxr_linenumber" name="207" href="#207">207</a>   }
+<a class="jxr_linenumber" name="208" href="#208">208</a> 
+<a class="jxr_linenumber" name="209" href="#209">209</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> findCommonTimestampPrefix(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> left,
+<a class="jxr_linenumber" name="210" href="#210">210</a>       <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> right) {
+<a class="jxr_linenumber" name="211" href="#211">211</a>     <strong class="jxr_keyword">int</strong> prefixTimestamp = 0;
+<a class="jxr_linenumber" name="212" href="#212">212</a>     <strong class="jxr_keyword">while</strong> (prefixTimestamp &lt; (KeyValue.TIMESTAMP_SIZE - 1) &amp;&amp;
+<a class="jxr_linenumber" name="213" href="#213">213</a>         left.timestamp[prefixTimestamp]
+<a class="jxr_linenumber" name="214" href="#214">214</a>             == right.timestamp[prefixTimestamp]) {
+<a class="jxr_linenumber" name="215" href="#215">215</a>       prefixTimestamp++;
+<a class="jxr_linenumber" name="216" href="#216">216</a>     }
+<a class="jxr_linenumber" name="217" href="#217">217</a>     <strong class="jxr_keyword">return</strong> prefixTimestamp; <em class="jxr_comment">// has to be at most 7 bytes</em>
+<a class="jxr_linenumber" name="218" href="#218">218</a>   }
+<a class="jxr_linenumber" name="219" href="#219">219</a> 
+<a class="jxr_linenumber" name="220" href="#220">220</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> uncompressSingleKeyValue(DataInputStream source,
+<a class="jxr_linenumber" name="221" href="#221">221</a>       ByteBuffer out, <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> state)
+<a class="jxr_linenumber" name="222" href="#222">222</a>           <strong class="jxr_keyword">throws</strong> IOException, <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/EncoderBufferTooSmallException.html">EncoderBufferTooSmallException</a> {
+<a class="jxr_linenumber" name="223" href="#223">223</a>     byte flag = source.readByte();
+<a class="jxr_linenumber" name="224" href="#224">224</a>     <strong class="jxr_keyword">int</strong> prevKeyLength = state.keyLength;
+<a class="jxr_linenumber" name="225" href="#225">225</a> 
+<a class="jxr_linenumber" name="226" href="#226">226</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {
+<a class="jxr_linenumber" name="227" href="#227">227</a>       state.keyLength = ByteBufferUtils.readCompressedInt(source);
 <a class="jxr_linenumber" name="228" href="#228">228</a>     }
-<a class="jxr_linenumber" name="229" href="#229">229</a>     <strong class="jxr_keyword">int</strong> commonLength = ByteBufferUtils.readCompressedInt(source);
-<a class="jxr_linenumber" name="230" href="#230">230</a> 
-<a class="jxr_linenumber" name="231" href="#231">231</a>     ByteBufferUtils.ensureSpace(out, state.keyLength + state.valueLength +
-<a class="jxr_linenumber" name="232" href="#232">232</a>         KeyValue.ROW_OFFSET);
+<a class="jxr_linenumber" name="229" href="#229">229</a>     <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {
+<a class="jxr_linenumber" name="230" href="#230">230</a>       state.valueLength = ByteBufferUtils.readCompressedInt(source);
+<a class="jxr_linenumber" name="231" href="#231">231</a>     }
+<a class="jxr_linenumber" name="232" href="#232">232</a>     <strong class="jxr_keyword">int</strong> commonLength = ByteBufferUtils.readCompressedInt(source);
 <a class="jxr_linenumber" name="233" href="#233">233</a> 
-<a class="jxr_linenumber" name="234" href="#234">234</a>     <strong class="jxr_keyword">int</strong> kvPos = out.position();
-<a class="jxr_linenumber" name="235" href="#235">235</a> 
-<a class="jxr_linenumber" name="236" href="#236">236</a>     <strong class="jxr_keyword">if</strong> (!state.isFirst()) {
-<a class="jxr_linenumber" name="237" href="#237">237</a>       <em class="jxr_comment">// copy the prefix</em>
-<a class="jxr_linenumber" name="238" href="#238">238</a>       <strong class="jxr_keyword">int</strong> common;
-<a class="jxr_linenumber" name="239" href="#239">239</a>       <strong class="jxr_keyword">int</strong> prevOffset;
-<a class="jxr_linenumber" name="240" href="#240">240</a> 
-<a class="jxr_linenumber" name="241" href="#241">241</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {
-<a class="jxr_linenumber" name="242" href="#242">242</a>         out.putInt(state.keyLength);
-<a class="jxr_linenumber" name="243" href="#243">243</a>         out.putInt(state.valueLength);
-<a class="jxr_linenumber" name="244" href="#244">244</a>         prevOffset = state.prevOffset + KeyValue.ROW_OFFSET;
-<a class="jxr_linenumber" name="245" href="#245">245</a>         common = commonLength;
-<a class="jxr_linenumber" name="246" href="#246">246</a>       } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="247" href="#247">247</a>         <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {
-<a class="jxr_linenumber" name="248" href="#248">248</a>           prevOffset = state.prevOffset;
-<a class="jxr_linenumber" name="249" href="#249">249</a>           common = commonLength + KeyValue.ROW_OFFSET;
-<a class="jxr_linenumber" name="250" href="#250">250</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="251" href="#251">251</a>           out.putInt(state.keyLength);
-<a class="jxr_linenumber" name="252" href="#252">252</a>           prevOffset = state.prevOffset + KeyValue.KEY_LENGTH_SIZE;
-<a class="jxr_linenumber" name="253" href="#253">253</a>           common = commonLength + KeyValue.KEY_LENGTH_SIZE;
-<a class="jxr_linenumber" name="254" href="#254">254</a>         }
-<a class="jxr_linenumber" name="255" href="#255">255</a>       }
-<a class="jxr_linenumber" name="256" href="#256">256</a> 
-<a class="jxr_linenumber" name="257" href="#257">257</a>       ByteBufferUtils.copyFromBufferToBuffer(out, out, prevOffset, common);
-<a class="jxr_linenumber" name="258" href="#258">258</a> 
-<a class="jxr_linenumber" name="259" href="#259">259</a>       <em class="jxr_comment">// copy the rest of the key from the buffer</em>
-<a class="jxr_linenumber" name="260" href="#260">260</a>       <strong class="jxr_keyword">int</strong> keyRestLength;
-<a class="jxr_linenumber" name="261" href="#261">261</a>       <strong class="jxr_keyword">if</strong> (commonLength &lt; state.rowLength + KeyValue.ROW_LENGTH_SIZE) {
-<a class="jxr_linenumber" name="262" href="#262">262</a>         <em class="jxr_comment">// omit the family part of the key, it is always the same</em>
-<a class="jxr_linenumber" name="263" href="#263">263</a>         <strong class="jxr_keyword">int</strong> rowWithSizeLength;
-<a class="jxr_linenumber" name="264" href="#264">264</a>         <strong class="jxr_keyword">int</strong> rowRestLength;
-<a class="jxr_linenumber" name="265" href="#265">265</a> 
-<a class="jxr_linenumber" name="266" href="#266">266</a>         <em class="jxr_comment">// check length of row</em>
-<a class="jxr_linenumber" name="267" href="#267">267</a>         <strong class="jxr_keyword">if</strong> (commonLength &lt; KeyValue.ROW_LENGTH_SIZE) {
-<a class="jxr_linenumber" name="268" href="#268">268</a>           <em class="jxr_comment">// not yet copied, do it now</em>
-<a class="jxr_linenumber" name="269" href="#269">269</a>           ByteBufferUtils.copyFromStreamToBuffer(out, source,
-<a class="jxr_linenumber" name="270" href="#270">270</a>               KeyValue.ROW_LENGTH_SIZE - commonLength);
-<a class="jxr_linenumber" name="271" href="#271">271</a> 
-<a class="jxr_linenumber" name="272" href="#272">272</a>           rowWithSizeLength = out.getShort(out.position() -
-<a class="jxr_linenumber" name="273" href="#273">273</a>               KeyValue.ROW_LENGTH_SIZE) + KeyValue.ROW_LENGTH_SIZE;
-<a class="jxr_linenumber" name="274" href="#274">274</a>           rowRestLength = rowWithSizeLength - KeyValue.ROW_LENGTH_SIZE;
-<a class="jxr_linenumber" name="275" href="#275">275</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="276" href="#276">276</a>           <em class="jxr_comment">// already in kvBuffer, just read it</em>
-<a class="jxr_linenumber" name="277" href="#277">277</a>           rowWithSizeLength = out.getShort(kvPos + KeyValue.ROW_OFFSET) +
-<a class="jxr_linenumber" name="278" href="#278">278</a>               KeyValue.ROW_LENGTH_SIZE;
-<a class="jxr_linenumber" name="279" href="#279">279</a>           rowRestLength = rowWithSizeLength - commonLength;
-<a class="jxr_linenumber" name="280" href="#280">280</a>         }
-<a class="jxr_linenumber" name="281" href="#281">281</a> 
-<a class="jxr_linenumber" name="282" href="#282">282</a>         <em class="jxr_comment">// copy the rest of row</em>
-<a class="jxr_linenumber" name="283" href="#283">283</a>         ByteBufferUtils.copyFromStreamToBuffer(out, source, rowRestLength);
+<a class="jxr_linenumber" name="234" href="#234">234</a>     ByteBufferUtils.ensureSpace(out, state.keyLength + state.valueLength +
+<a class="jxr_linenumber" name="235" href="#235">235</a>         KeyValue.ROW_OFFSET);
+<a class="jxr_linenumber" name="236" href="#236">236</a> 
+<a class="jxr_linenumber" name="237" href="#237">237</a>     <strong class="jxr_keyword">int</strong> kvPos = out.position();
+<a class="jxr_linenumber" name="238" href="#238">238</a> 
+<a class="jxr_linenumber" name="239" href="#239">239</a>     <strong class="jxr_keyword">if</strong> (!state.isFirst()) {
+<a class="jxr_linenumber" name="240" href="#240">240</a>       <em class="jxr_comment">// copy the prefix</em>
+<a class="jxr_linenumber" name="241" href="#241">241</a>       <strong class="jxr_keyword">int</strong> common;
+<a class="jxr_linenumber" name="242" href="#242">242</a>       <strong class="jxr_keyword">int</strong> prevOffset;
+<a class="jxr_linenumber" name="243" href="#243">243</a> 
+<a class="jxr_linenumber" name="244" href="#244">244</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {
+<a class="jxr_linenumber" name="245" href="#245">245</a>         out.putInt(state.keyLength);
+<a class="jxr_linenumber" name="246" href="#246">246</a>         out.putInt(state.valueLength);
+<a class="jxr_linenumber" name="247" href="#247">247</a>         prevOffset = state.prevOffset + KeyValue.ROW_OFFSET;
+<a class="jxr_linenumber" name="248" href="#248">248</a>         common = commonLength;
+<a class="jxr_linenumber" name="249" href="#249">249</a>       } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="250" href="#250">250</a>         <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {
+<a class="jxr_linenumber" name="251" href="#251">251</a>           prevOffset = state.prevOffset;
+<a class="jxr_linenumber" name="252" href="#252">252</a>           common = commonLength + KeyValue.ROW_OFFSET;
+<a class="jxr_linenumber" name="253" href="#253">253</a>         } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="254" href="#254">254</a>           out.putInt(state.keyLength);
+<a class="jxr_linenumber" name="255" href="#255">255</a>           prevOffset = state.prevOffset + KeyValue.KEY_LENGTH_SIZE;
+<a class="jxr_linenumber" name="256" href="#256">256</a>           common = commonLength + KeyValue.KEY_LENGTH_SIZE;
+<a class="jxr_linenumber" name="257" href="#257">257</a>         }
+<a class="jxr_linenumber" name="258" href="#258">258</a>       }
+<a class="jxr_linenumber" name="259" href="#259">259</a> 
+<a class="jxr_linenumber" name="260" href="#260">260</a>       ByteBufferUtils.copyFromBufferToBuffer(out, out, prevOffset, common);
+<a class="jxr_linenumber" name="261" href="#261">261</a> 
+<a class="jxr_linenumber" name="262" href="#262">262</a>       <em class="jxr_comment">// copy the rest of the key from the buffer</em>
+<a class="jxr_linenumber" name="263" href="#263">263</a>       <strong class="jxr_keyword">int</strong> keyRestLength;
+<a class="jxr_linenumber" name="264" href="#264">264</a>       <strong class="jxr_keyword">if</strong> (commonLength &lt; state.rowLength + KeyValue.ROW_LENGTH_SIZE) {
+<a class="jxr_linenumber" name="265" href="#265">265</a>         <em class="jxr_comment">// omit the family part of the key, it is always the same</em>
+<a class="jxr_linenumber" name="266" href="#266">266</a>         <strong class="jxr_keyword">int</strong> rowWithSizeLength;
+<a class="jxr_linenumber" name="267" href="#267">267</a>         <strong class="jxr_keyword">int</strong> rowRestLength;
+<a class="jxr_linenumber" name="268" href="#268">268</a> 
+<a class="jxr_linenumber" name="269" href="#269">269</a>         <em class="jxr_comment">// check length of row</em>
+<a class="jxr_linenumber" name="270" href="#270">270</a>         <strong class="jxr_keyword">if</strong> (commonLength &lt; KeyValue.ROW_LENGTH_SIZE) {
+<a class="jxr_linenumber" name="271" href="#271">271</a>           <em class="jxr_comment">// not yet copied, do it now</em>
+<a class="jxr_linenumber" name="272" href="#272">272</a>           ByteBufferUtils.copyFromStreamToBuffer(out, source,
+<a class="jxr_linenumber" name="273" href="#273">273</a>               KeyValue.ROW_LENGTH_SIZE - commonLength);
+<a class="jxr_linenumber" name="274" href="#274">274</a> 
+<a class="jxr_linenumber" name="275" href="#275">275</a>           rowWithSizeLength = out.getShort(out.position() -
+<a class="jxr_linenumber" name="276" href="#276">276</a>               KeyValue.ROW_LENGTH_SIZE) + KeyValue.ROW_LENGTH_SIZE;
+<a class="jxr_linenumber" name="277" href="#277">277</a>           rowRestLength = rowWithSizeLength - KeyValue.ROW_LENGTH_SIZE;
+<a class="jxr_linenumber" name="278" href="#278">278</a>         } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="279" href="#279">279</a>           <em class="jxr_comment">// already in kvBuffer, just read it</em>
+<a class="jxr_linenumber" name="280" href="#280">280</a>           rowWithSizeLength = out.getShort(kvPos + KeyValue.ROW_OFFSET) +
+<a class="jxr_linenumber" name="281" href="#281">281</a>               KeyValue.ROW_LENGTH_SIZE;
+<a class="jxr_linenumber" name="282" href="#282">282</a>           rowRestLength = rowWithSizeLength - commonLength;
+<a class="jxr_linenumber" name="283" href="#283">283</a>         }
 <a class="jxr_linenumber" name="284" href="#284">284</a> 
-<a class="jxr_linenumber" name="285" href="#285">285</a>         <em class="jxr_comment">// copy the column family</em>
-<a class="jxr_linenumber" name="286" href="#286">286</a>         ByteBufferUtils.copyFromBufferToBuffer(out, out,
-<a class="jxr_linenumber" name="287" href="#287">287</a>             state.prevOffset + KeyValue.ROW_OFFSET + KeyValue.ROW_LENGTH_SIZE
-<a class="jxr_linenumber" name="288" href="#288">288</a>                 + state.rowLength, state.familyLength
-<a class="jxr_linenumber" name="289" href="#289">289</a>                 + KeyValue.FAMILY_LENGTH_SIZE);
-<a class="jxr_linenumber" name="290" href="#290">290</a>         state.rowLength = (<strong class="jxr_keyword">short</strong>) (rowWithSizeLength -
-<a class="jxr_linenumber" name="291" href="#291">291</a>             KeyValue.ROW_LENGTH_SIZE);
-<a class="jxr_linenumber" name="292" href="#292">292</a> 
-<a class="jxr_linenumber" name="293" href="#293">293</a>         keyRestLength = state.keyLength - rowWithSizeLength -
-<a class="jxr_linenumber" name="294" href="#294">294</a>             state.familyLength -
-<a class="jxr_linenumber" name="295" href="#295">295</a>             (KeyValue.FAMILY_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);
-<a class="jxr_linenumber" name="296" href="#296">296</a>       } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="297" href="#297">297</a>         <em class="jxr_comment">// prevRowWithSizeLength is the same as on previous row</em>
-<a class="jxr_linenumber" name="298" href="#298">298</a>         keyRestLength = state.keyLength - commonLength -
-<a class="jxr_linenumber" name="299" href="#299">299</a>             KeyValue.TIMESTAMP_TYPE_SIZE;
-<a class="jxr_linenumber" name="300" href="#300">300</a>       }
-<a class="jxr_linenumber" name="301" href="#301">301</a>       <em class="jxr_comment">// copy the rest of the key, after column family == column qualifier</em>
-<a class="jxr_linenumber" name="302" href="#302">302</a>       ByteBufferUtils.copyFromStreamToBuffer(out, source, keyRestLength);
-<a class="jxr_linenumber" name="303" href="#303">303</a> 
-<a class="jxr_linenumber" name="304" href="#304">304</a>       <em class="jxr_comment">// copy timestamp</em>
-<a class="jxr_linenumber" name="305" href="#305">305</a>       <strong class="jxr_keyword">int</strong> prefixTimestamp =
-<a class="jxr_linenumber" name="306" href="#306">306</a>           (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH;
-<a class="jxr_linenumber" name="307" href="#307">307</a>       ByteBufferUtils.copyFromBufferToBuffer(out, out,
-<a class="jxr_linenumber" name="308" href="#308">308</a>           state.prevTimestampOffset, prefixTimestamp);
-<a class="jxr_linenumber" name="309" href="#309">309</a>       state.prevTimestampOffset = out.position() - prefixTimestamp;
-<a class="jxr_linenumber" name="310" href="#310">310</a>       ByteBufferUtils.copyFromStreamToBuffer(out, source,
-<a class="jxr_linenumber" name="311" href="#311">311</a>           KeyValue.TIMESTAMP_SIZE - prefixTimestamp);
-<a class="jxr_linenumber" name="312" href="#312">312</a> 
-<a class="jxr_linenumber" name="313" href="#313">313</a>       <em class="jxr_comment">// copy the type and value</em>
-<a class="jxr_linenumber" name="314" href="#314">314</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_TYPE) != 0) {
-<a class="jxr_linenumber" name="315" href="#315">315</a>         out.put(state.type);
-<a class="jxr_linenumber" name="316" href="#316">316</a>         <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE) != 0) {
-<a class="jxr_linenumber" name="317" href="#317">317</a>           ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +
-<a class="jxr_linenumber" name="318" href="#318">318</a>               KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);
-<a class="jxr_linenumber" name="319" href="#319">319</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="320" href="#320">320</a>           ByteBufferUtils.copyFromStreamToBuffer(out, source,
-<a class="jxr_linenumber" name="321" href="#321">321</a>               state.valueLength);
-<a class="jxr_linenumber" name="322" href="#322">322</a>         }
-<a class="jxr_linenumber" name="323" href="#323">323</a>       } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="324" href="#324">324</a>         <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE) != 0) {
-<a class="jxr_linenumber" name="325" href="#325">325</a>           ByteBufferUtils.copyFromStreamToBuffer(out, source,
-<a class="jxr_linenumber" name="326" href="#326">326</a>               KeyValue.TYPE_SIZE);
-<a class="jxr_linenumber" name="327" href="#327">327</a>           ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +
-<a class="jxr_linenumber" name="328" href="#328">328</a>               KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);
-<a class="jxr_linenumber" name="329" href="#329">329</a>         } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="330" href="#330">330</a>           ByteBufferUtils.copyFromStreamToBuffer(out, source,
-<a class="jxr_linenumber" name="331" href="#331">331</a>               state.valueLength + KeyValue.TYPE_SIZE);
-<a class="jxr_linenumber" name="332" href="#332">332</a>         }
-<a class="jxr_linenumber" name="333" href="#333">333</a>         state.type = out.get(state.prevTimestampOffset +
-<a class="jxr_linenumber" name="334" href="#334">334</a>             KeyValue.TIMESTAMP_SIZE);
-<a class="jxr_linenumber" name="335" href="#335">335</a>       }
-<a class="jxr_linenumber" name="336" href="#336">336</a>     } <strong class="jxr_keyword">else</strong> { <em class="jxr_comment">// this is the first element</em>
-<a class="jxr_linenumber" name="337" href="#337">337</a>       state.decompressFirstKV(out, source);
-<a class="jxr_linenumber" name="338" href="#338">338</a>     }
-<a class="jxr_linenumber" name="339" href="#339">339</a> 
-<a class="jxr_linenumber" name="340" href="#340">340</a>     state.prevOffset = kvPos;
-<a class="jxr_linenumber" name="341" href="#341">341</a>   }
+<a class="jxr_linenumber" name="285" href="#285">285</a>         <em class="jxr_comment">// copy the rest of row</em>
+<a class="jxr_linenumber" name="286" href="#286">286</a>         ByteBufferUtils.copyFromStreamToBuffer(out, source, rowRestLength);
+<a class="jxr_linenumber" name="287" href="#287">287</a> 
+<a class="jxr_linenumber" name="288" href="#288">288</a>         <em class="jxr_comment">// copy the column family</em>
+<a class="jxr_linenumber" name="289" href="#289">289</a>         ByteBufferUtils.copyFromBufferToBuffer(out, out,
+<a class="jxr_linenumber" name="290" href="#290">290</a>             state.prevOffset + KeyValue.ROW_OFFSET + KeyValue.ROW_LENGTH_SIZE
+<a class="jxr_linenumber" name="291" href="#291">291</a>                 + state.rowLength, state.familyLength
+<a class="jxr_linenumber" name="292" href="#292">292</a>                 + KeyValue.FAMILY_LENGTH_SIZE);
+<a class="jxr_linenumber" name="293" href="#293">293</a>         state.rowLength = (<strong class="jxr_keyword">short</strong>) (rowWithSizeLength -
+<a class="jxr_linenumber" name="294" href="#294">294</a>             KeyValue.ROW_LENGTH_SIZE);
+<a class="jxr_linenumber" name="295" href="#295">295</a> 
+<a class="jxr_linenumber" name="296" href="#296">296</a>         keyRestLength = state.keyLength - rowWithSizeLength -
+<a class="jxr_linenumber" name="297" href="#297">297</a>             state.familyLength -
+<a class="jxr_linenumber" name="298" href="#298">298</a>             (KeyValue.FAMILY_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);
+<a class="jxr_linenumber" name="299" href="#299">299</a>       } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="300" href="#300">300</a>         <em class="jxr_comment">// prevRowWithSizeLength is the same as on previous row</em>
+<a class="jxr_linenumber" name="301" href="#301">301</a>         keyRestLength = state.keyLength - commonLength -
+<a class="jxr_linenumber" name="302" href="#302">302</a>             KeyValue.TIMESTAMP_TYPE_SIZE;
+<a class="jxr_linenumber" name="303" href="#303">303</a>       }
+<a class="jxr_linenumber" name="304" href="#304">304</a>       <em class="jxr_comment">// copy the rest of the key, after column family == column qualifier</em>
+<a class="jxr_linenumber" name="305" href="#305">305</a>       ByteBufferUtils.copyFromStreamToBuffer(out, source, keyRestLength);
+<a class="jxr_linenumber" name="306" href="#306">306</a> 
+<a class="jxr_linenumber" name="307" href="#307">307</a>       <em class="jxr_comment">// copy timestamp</em>
+<a class="jxr_linenumber" name="308" href="#308">308</a>       <strong class="jxr_keyword">int</strong> prefixTimestamp =
+<a class="jxr_linenumber" name="309" href="#309">309</a>           (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH;
+<a class="jxr_linenumber" name="310" href="#310">310</a>       ByteBufferUtils.copyFromBufferToBuffer(out, out,
+<a class="jxr_linenumber" name="311" href="#311">311</a>           state.prevTimestampOffset, prefixTimestamp);
+<a class="jxr_linenumber" name="312" href="#312">312</a>       state.prevTimestampOffset = out.position() - prefixTimestamp;
+<a class="jxr_linenumber" name="313" href="#313">313</a>       ByteBufferUtils.copyFromStreamToBuffer(out, source,
+<a class="jxr_linenumber" name="314" href="#314">314</a>           KeyValue.TIMESTAMP_SIZE - prefixTimestamp);
+<a class="jxr_linenumber" name="315" href="#315">315</a> 
+<a class="jxr_linenumber" name="316" href="#316">316</a>       <em class="jxr_comment">// copy the type and value</em>
+<a class="jxr_linenumber" name="317" href="#317">317</a>       <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_TYPE) != 0) {
+<a class="jxr_linenumber" name="318" href="#318">318</a>         out.put(state.type);
+<a class="jxr_linenumber" name="319" href="#319">319</a>         <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE) != 0) {
+<a class="jxr_linenumber" name="320" href="#320">320</a>           ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +
+<a class="jxr_linenumber" name="321" href="#321">321</a>               KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);
+<a class="jxr_linenumber" name="322" href="#322">322</a>         } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="323" href="#323">323</a>           ByteBufferUtils.copyFromStreamToBuffer(out, source,
+<a class="jxr_linenumber" name="324" href="#324">324</a>               state.valueLength);
+<a class="jxr_linenumber" name="325" href="#325">325</a>         }
+<a class="jxr_linenumber" name="326" href="#326">326</a>       } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="327" href="#327">327</a>         <strong class="jxr_keyword">if</strong> ((flag &amp; FLAG_SAME_VALUE) != 0) {
+<a class="jxr_linenumber" name="328" href="#328">328</a>           ByteBufferUtils.copyFromStreamToBuffer(out, source,
+<a class="jxr_linenumber" name="329" href="#329">329</a>               KeyValue.TYPE_SIZE);
+<a class="jxr_linenumber" name="330" href="#330">330</a>           ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +
+<a class="jxr_linenumber" name="331" href="#331">331</a>               KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);
+<a class="jxr_linenumber" name="332" href="#332">332</a>         } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="333" href="#333">333</a>           ByteBufferUtils.copyFromStreamToBuffer(out, source,
+<a class="jxr_linenumber" name="334" href="#334">334</a>               state.valueLength + KeyValue.TYPE_SIZE);
+<a class="jxr_linenumber" name="335" href="#335">335</a>         }
+<a class="jxr_linenumber" name="336" href="#336">336</a>         state.type = out.get(state.prevTimestampOffset +
+<a class="jxr_linenumber" name="337" href="#337">337</a>             KeyValue.TIMESTAMP_SIZE);
+<a class="jxr_linenumber" name="338" href="#338">338</a>       }
+<a class="jxr_linenumber" name="339" href="#339">339</a>     } <strong class="jxr_keyword">else</strong> { <em class="jxr_comment">// this is the first element</em>
+<a class="jxr_linenumber" name="340" href="#340">340</a>       state.decompressFirstKV(out, source);
+<a class="jxr_linenumber" name="341" href="#341">341</a>     }
 <a class="jxr_linenumber" name="342" href="#342">342</a> 
-<a class="jxr_linenumber" name="343" href="#343">343</a>   @Override
-<a class="jxr_linenumber" name="344" href="#344">344</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> compressKeyValues(DataOutputStream out,
-<a class="jxr_linenumber" name="345" href="#345">345</a>       ByteBuffer in, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="346" href="#346">346</a>     in.rewind();
-<a class="jxr_linenumber" name="347" href="#347">347</a>     ByteBufferUtils.putInt(out, in.limit());
-<a class="jxr_linenumber" name="348" href="#348">348</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> previousState = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a>();
-<a class="jxr_linenumber" name="349" href="#349">349</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> currentState = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a>();
-<a class="jxr_linenumber" name="350" href="#350">350</a>     <strong class="jxr_keyword">while</strong> (in.hasRemaining()) {
-<a class="jxr_linenumber" name="351" href="#351">351</a>       compressSingleKeyValue(previousState, currentState,
-<a class="jxr_linenumber" name="352" href="#352">352</a>           out, in);
-<a class="jxr_linenumber" name="353" href="#353">353</a>       afterEncodingKeyValue(in, out, includesMemstoreTS);
-<a class="jxr_linenumber" name="354" href="#354">354</a> 
-<a class="jxr_linenumber" name="355" href="#355">355</a>       <em class="jxr_comment">// swap previousState &lt;-&gt; currentState</em>
-<a class="jxr_linenumber" name="356" href="#356">356</a>       <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> tmp = previousState;
-<a class="jxr_linenumber" name="357" href="#357">357</a>       previousState = currentState;
-<a class="jxr_linenumber" name="358" href="#358">358</a>       currentState = tmp;
-<a class="jxr_linenumber" name="359" href="#359">359</a>     }
-<a class="jxr_linenumber" name="360" href="#360">360</a>   }
-<a class="jxr_linenumber" name="361" href="#361">361</a> 
-<a class="jxr_linenumber" name="362" href="#362">362</a>   @Override
-<a class="jxr_linenumber" name="363" href="#363">363</a>   <strong class="jxr_keyword">public</strong> ByteBuffer uncompressKeyValues(DataInputStream source,
-<a class="jxr_linenumber" name="364" href="#364">364</a>       <strong class="jxr_keyword">int</strong> allocHeaderLength, <strong class="jxr_keyword">int</strong> skipLastBytes, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS)
-<a class="jxr_linenumber" name="365" href="#365">365</a>           <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="366" href="#366">366</a>     <strong class="jxr_keyword">int</strong> decompressedSize = source.readInt();
-<a class="jxr_linenumber" name="367" href="#367">367</a>     ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +
-<a class="jxr_linenumber" name="368" href="#368">368</a>         allocHeaderLength);
-<a class="jxr_linenumber" name="369" href="#369">369</a>     buffer.position(allocHeaderLength);
-<a class="jxr_linenumber" name="370" href="#370">370</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> state = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a>();
-<a class="jxr_linenumber" name="371" href="#371">371</a>     <strong class="jxr_keyword">while</strong> (source.available() &gt; skipLastBytes) {
-<a class="jxr_linenumber" name="372" href="#372">372</a>       uncompressSingleKeyValue(source, buffer, state);
-<a class="jxr_linenumber" name="373" href="#373">373</a>       afterDecodingKeyValue(source, buffer, includesMemstoreTS);
-<a class="jxr_linenumber" name="374" href="#374">374</a>     }
-<a class="jxr_linenumber" name="375" href="#375">375</a> 
-<a class="jxr_linenumber" name="376" href="#376">376</a>     <strong class="jxr_keyword">if</strong> (source.available() != skipLastBytes) {
-<a class="jxr_linenumber" name="377" href="#377">377</a>       <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"Read too much bytes."</span>);
-<a class="jxr_linenumber" name="378" href="#378">378</a>     }
-<a class="jxr_linenumber" name="379" href="#379">379</a> 
-<a class="jxr_linenumber" name="380" href="#380">380</a>     <strong class="jxr_keyword">return</strong> buffer;
-<a class="jxr_linenumber" name="381" href="#381">381</a>   }
+<a class="jxr_linenumber" name="343" href="#343">343</a>     state.prevOffset = kvPos;
+<a class="jxr_linenumber" name="344" href="#344">344</a>   }
+<a class="jxr_linenumber" name="345" href="#345">345</a> 
+<a class="jxr_linenumber" name="346" href="#346">346</a>   @Override
+<a class="jxr_linenumber" name="347" href="#347">347</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> compressKeyValues(DataOutputStream out,
+<a class="jxr_linenumber" name="348" href="#348">348</a>       ByteBuffer in, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="349" href="#349">349</a>     in.rewind();
+<a class="jxr_linenumber" name="350" href="#350">350</a>     ByteBufferUtils.putInt(out, in.limit());
+<a class="jxr_linenumber" name="351" href="#351">351</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> previousState = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a>();
+<a class="jxr_linenumber" name="352" href="#352">352</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> currentState = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a>();
+<a class="jxr_linenumber" name="353" href="#353">353</a>     <strong class="jxr_keyword">while</strong> (in.hasRemaining()) {
+<a class="jxr_linenumber" name="354" href="#354">354</a>       compressSingleKeyValue(previousState, currentState,
+<a class="jxr_linenumber" name="355" href="#355">355</a>           out, in);
+<a class="jxr_linenumber" name="356" href="#356">356</a>       afterEncodingKeyValue(in, out, includesMemstoreTS);
+<a class="jxr_linenumber" name="357" href="#357">357</a> 
+<a class="jxr_linenumber" name="358" href="#358">358</a>       <em class="jxr_comment">// swap previousState &lt;-&gt; currentState</em>
+<a class="jxr_linenumber" name="359" href="#359">359</a>       <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> tmp = previousState;
+<a class="jxr_linenumber" name="360" href="#360">360</a>       previousState = currentState;
+<a class="jxr_linenumber" name="361" href="#361">361</a>       currentState = tmp;
+<a class="jxr_linenumber" name="362" href="#362">362</a>     }
+<a class="jxr_linenumber" name="363" href="#363">363</a>   }
+<a class="jxr_linenumber" name="364" href="#364">364</a> 
+<a class="jxr_linenumber" name="365" href="#365">365</a>   @Override
+<a class="jxr_linenumber" name="366" href="#366">366</a>   <strong class="jxr_keyword">public</strong> ByteBuffer uncompressKeyValues(DataInputStream source,
+<a class="jxr_linenumber" name="367" href="#367">367</a>       <strong class="jxr_keyword">int</strong> allocHeaderLength, <strong class="jxr_keyword">int</strong> skipLastBytes, <strong class="jxr_keyword">boolean</strong> includesMemstoreTS)
+<a class="jxr_linenumber" name="368" href="#368">368</a>           <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="369" href="#369">369</a>     <strong class="jxr_keyword">int</strong> decompressedSize = source.readInt();
+<a class="jxr_linenumber" name="370" href="#370">370</a>     ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +
+<a class="jxr_linenumber" name="371" href="#371">371</a>         allocHeaderLength);
+<a class="jxr_linenumber" name="372" href="#372">372</a>     buffer.position(allocHeaderLength);
+<a class="jxr_linenumber" name="373" href="#373">373</a>     <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a> state = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffCompressionState</a>();
+<a class="jxr_linenumber" name="374" href="#374">374</a>     <strong class="jxr_keyword">while</strong> (source.available() &gt; skipLastBytes) {
+<a class="jxr_linenumber" name="375" href="#375">375</a>       uncompressSingleKeyValue(source, buffer, state);
+<a class="jxr_linenumber" name="376" href="#376">376</a>       afterDecodingKeyValue(source, buffer, includesMemstoreTS);
+<a class="jxr_linenumber" name="377" href="#377">377</a>     }
+<a class="jxr_linenumber" name="378" href="#378">378</a> 
+<a class="jxr_linenumber" name="379" href="#379">379</a>     <strong class="jxr_keyword">if</strong> (source.available() != skipLastBytes) {
+<a class="jxr_linenumber" name="380" href="#380">380</a>       <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(<span class="jxr_string">"Read too much bytes."</span>);
+<a class="jxr_linenumber" name="381" href="#381">381</a>     }
 <a class="jxr_linenumber" name="382" href="#382">382</a> 
-<a class="jxr_linenumber" name="383" href="#383">383</a>   @Override
-<a class="jxr_linenumber" name="384" href="#384">384</a>   <strong class="jxr_keyword">public</strong> ByteBuffer getFirstKeyInBlock(ByteBuffer block) {
-<a class="jxr_linenumber" name="385" href="#385">385</a>     block.mark();
-<a class="jxr_linenumber" name="386" href="#386">386</a>     block.position(Bytes.SIZEOF_INT + Bytes.SIZEOF_BYTE);
-<a class="jxr_linenumber" name="387" href="#387">387</a>     <strong class="jxr_keyword">int</strong> keyLength = ByteBufferUtils.readCompressedInt(block);
-<a class="jxr_linenumber" name="388" href="#388">388</a>     ByteBufferUtils.readCompressedInt(block); <em class="jxr_comment">// valueLength</em>
-<a class="jxr_linenumber" name="389" href="#389">389</a>     ByteBufferUtils.readCompressedInt(block); <em class="jxr_comment">// commonLength</em>
-<a class="jxr_linenumber" name="390" href="#390">390</a>     <strong class="jxr_keyword">int</strong> pos = block.position();
-<a class="jxr_linenumber" name="391" href="#391">391</a>     block.reset();
-<a class="jxr_linenumber" name="392" href="#392">392</a>     <strong class="jxr_keyword">return</strong> ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();
-<a class="jxr_linenumber" name="393" href="#393">393</a>   }
-<a class="jxr_linenumber" name="394" href="#394">394</a> 
-<a class="jxr_linenumber" name="395" href="#395">395</a>   @Override
-<a class="jxr_linenumber" name="396" href="#396">396</a>   <strong class="jxr_keyword">public</strong> String toString() {
-<a class="jxr_linenumber" name="397" href="#397">397</a>     <strong class="jxr_keyword">return</strong> FastDiffDeltaEncoder.<strong class="jxr_keyword">class</strong>.getSimpleName();
-<a class="jxr_linenumber" name="398" href="#398">398</a>   }
-<a class="jxr_linenumber" name="399" href="#399">399</a> 
-<a class="jxr_linenumber" name="400" href="#400">400</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffSeekerState</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">SeekerState</a> {
-<a class="jxr_linenumber" name="401" href="#401">401</a>     <strong class="jxr_keyword">private</strong> byte[] prevTimestampAndType =
-<a class="jxr_linenumber" name="402" href="#402">402</a>         <strong class="jxr_keyword">new</strong> byte[KeyValue.TIMESTAMP_TYPE_SIZE];
-<a class="jxr_linenumber" name="403" href="#403">403</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> rowLengthWithSize;
-<a class="jxr_linenumber" name="404" href="#404">404</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> familyLengthWithSize;
-<a class="jxr_linenumber" name="405" href="#405">405</a> 
-<a class="jxr_linenumber" name="406" href="#406">406</a>     @Override
-<a class="jxr_linenumber" name="407" href="#407">407</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> copyFromNext(<a href="../../../../../../org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.html">SeekerState</a> that) {
-<a class="jxr_linenumber" name="408" href="#408">408</a>       <strong class="jxr_keyword">super</strong>.copyFromNext(that);
-<a class="jxr_linenumber" name="409" href="#409">409</a>       <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.html">FastDiffSeekerState</a> other = (FastDiffSeekerState) that;
-<a class="jxr_linenumber" name="410" href="#410">410</a>       System.arraycopy(other.prevTimestampAndType, 0,
-<a class="jxr_linenumber" name="411" href="#411">411</a>           prevTimestampAndType, 0,
-<a class="jxr_linenumber" name="412" href="#412">412</a>           KeyValue.TIMESTAMP_TYPE_SIZE);
-<a class="jxr_linenumber" name="413" href="#413">413</a>       rowLengthWithSize = other.rowLengthWithSize;
-<a class="jxr_linenumber" name="414" href="#414">414</a>       familyLengthWithSize = other.familyLengthWithSize;
-<a class="jxr_linenumber" name="415" href="#415">415</a>     }
-<a class="jxr_linenumber" name="416" href="#416">416</a>   }
-<a class="jxr_linenumber" name="417" href="#417">417</a> 
-<a class="jxr_linenumber" name="418" href="#418">418</a>   @Override
-<a class="jxr_linenumber" name="419" href="#419">419</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.html">EncodedSeeker</a> createSeeker(RawComparator&lt;byte[]&gt; comparator,
-<a class="jxr_linenumber" name="420" href="#420">420</a>       <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> includesMemstoreTS) {
-<a class="jxr_linenumber" name="421" href="#421">421</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> BufferedEncodedSeeker&lt;FastDiffSeekerState&gt;(comparator) {
-<a class="jxr_linenumber" name="422" href="#422">422</a>       <strong class="jxr_keyword

<TRUNCATED>

[17/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
----------------------------------------------------------------------
diff --git a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
index fbb011a..c9f897a 100644
--- a/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
+++ b/0.94/apidocs/src-html/org/apache/hadoop/hbase/io/encoding/FastDiffDeltaEncoder.FastDiffSeekerState.html
@@ -35,523 +35,526 @@
 <span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.27"></a>
 <span class="sourceLineNo">028</span>import org.apache.hadoop.io.RawComparator;<a name="line.28"></a>
 <span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * Encoder similar to {@link DiffKeyDeltaEncoder} but supposedly faster.<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * Compress using:<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * - store size of common prefix<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * - save column family once in the first KeyValue<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * - use bits to avoid duplication key length, value length<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *   and type if it same as previous<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * - store in 3 bits length of prefix timestamp<a name="line.39"></a>
-<span class="sourceLineNo">040</span> *    with previous KeyValue's timestamp<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * - one bit which allow to omit value if it is the same<a name="line.41"></a>
-<span class="sourceLineNo">042</span> *<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Format:<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * - 1 byte:    flag<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * - 1-5 bytes: prefix length<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * - 1-8 bytes: timestamp suffix<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * - ... bytes: value (only if FLAG_SAME_VALUE is not set in the flag)<a name="line.52"></a>
-<span class="sourceLineNo">053</span> *<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class FastDiffDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 0) | (1 &lt;&lt; 1) | (1 &lt;&lt; 2);<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  final int SHIFT_TIMESTAMP_LENGTH = 0;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  final int FLAG_SAME_KEY_LENGTH = 1 &lt;&lt; 3;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 4;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  final int FLAG_SAME_TYPE = 1 &lt;&lt; 5;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  final int FLAG_SAME_VALUE = 1 &lt;&lt; 6;<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private static class FastDiffCompressionState extends CompressionState {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    byte[] timestamp = new byte[KeyValue.TIMESTAMP_SIZE];<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    int prevTimestampOffset;<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @Override<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      in.get(timestamp);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>    @Override<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    void copyFrom(CompressionState state) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      super.copyFrom(state);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      FastDiffCompressionState state2 = (FastDiffCompressionState) state;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      System.arraycopy(state2.timestamp, 0, timestamp, 0,<a name="line.76"></a>
-<span class="sourceLineNo">077</span>          KeyValue.TIMESTAMP_SIZE);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      prevTimestampOffset = state2.prevTimestampOffset;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>    /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>     * Copies the first key/value from the given stream, and initializes<a name="line.82"></a>
-<span class="sourceLineNo">083</span>     * decompression state based on it. Assumes that we have already read key<a name="line.83"></a>
-<span class="sourceLineNo">084</span>     * and value lengths. Does not set {@link #qualifierLength} (not used by<a name="line.84"></a>
-<span class="sourceLineNo">085</span>     * decompression) or {@link #prevOffset} (set by the calle afterwards).<a name="line.85"></a>
-<span class="sourceLineNo">086</span>     */<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    private void decompressFirstKV(ByteBuffer out, DataInputStream in)<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        throws IOException {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      int kvPos = out.position();<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      out.putInt(keyLength);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      out.putInt(valueLength);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      prevTimestampOffset = out.position() + keyLength -<a name="line.92"></a>
-<span class="sourceLineNo">093</span>          KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      ByteBufferUtils.copyFromStreamToBuffer(out, in, keyLength + valueLength);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      rowLength = out.getShort(kvPos + KeyValue.ROW_OFFSET);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      familyLength = out.get(kvPos + KeyValue.ROW_OFFSET +<a name="line.96"></a>
-<span class="sourceLineNo">097</span>          KeyValue.ROW_LENGTH_SIZE + rowLength);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      type = out.get(prevTimestampOffset + KeyValue.TIMESTAMP_SIZE);<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><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  private void compressSingleKeyValue(<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        FastDiffCompressionState previousState,<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        FastDiffCompressionState currentState,<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        OutputStream out, ByteBuffer in) throws IOException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    currentState.prevOffset = in.position();<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    int keyLength = in.getInt();<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    int valueOffset =<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        currentState.prevOffset + keyLength + KeyValue.ROW_OFFSET;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    int valueLength = in.getInt();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    byte flag = 0;<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>    if (previousState.isFirst()) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      // copy the key, there is no common prefix with none<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      out.write(flag);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    } else {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      // find a common prefix and skip it<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      int commonPrefix = ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.126"></a>
-<span class="sourceLineNo">127</span>          previousState.prevOffset + KeyValue.ROW_OFFSET,<a name="line.127"></a>
-<span class="sourceLineNo">128</span>          Math.min(keyLength, previousState.keyLength) -<a name="line.128"></a>
-<span class="sourceLineNo">129</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          commonPrefix, previousState);<a name="line.132"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.classification.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * Encoder similar to {@link DiffKeyDeltaEncoder} but supposedly faster.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Compress using:<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * - store size of common prefix<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * - save column family once in the first KeyValue<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * - use integer compression for key, value and prefix (7-bit encoding)<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * - use bits to avoid duplication key length, value length<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *   and type if it same as previous<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * - store in 3 bits length of prefix timestamp<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *    with previous KeyValue's timestamp<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * - one bit which allow to omit value if it is the same<a name="line.43"></a>
+<span class="sourceLineNo">044</span> *<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Format:<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * - 1 byte:    flag<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * - 1-5 bytes: key length (only if FLAG_SAME_KEY_LENGTH is not set in flag)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * - 1-5 bytes: value length (only if FLAG_SAME_VALUE_LENGTH is not set in flag)<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * - 1-5 bytes: prefix length<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * - ... bytes: rest of the row (if prefix length is small enough)<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * - ... bytes: qualifier (or suffix depending on prefix length)<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * - 1-8 bytes: timestamp suffix<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * - 1 byte:    type (only if FLAG_SAME_TYPE is not set in the flag)<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * - ... bytes: value (only if FLAG_SAME_VALUE is not set in the flag)<a name="line.54"></a>
+<span class="sourceLineNo">055</span> *<a name="line.55"></a>
+<span class="sourceLineNo">056</span> */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>@InterfaceAudience.Private<a name="line.57"></a>
+<span class="sourceLineNo">058</span>public class FastDiffDeltaEncoder extends BufferedDataBlockEncoder {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  final int MASK_TIMESTAMP_LENGTH = (1 &lt;&lt; 0) | (1 &lt;&lt; 1) | (1 &lt;&lt; 2);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  final int SHIFT_TIMESTAMP_LENGTH = 0;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  final int FLAG_SAME_KEY_LENGTH = 1 &lt;&lt; 3;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  final int FLAG_SAME_VALUE_LENGTH = 1 &lt;&lt; 4;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  final int FLAG_SAME_TYPE = 1 &lt;&lt; 5;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  final int FLAG_SAME_VALUE = 1 &lt;&lt; 6;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private static class FastDiffCompressionState extends CompressionState {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    byte[] timestamp = new byte[KeyValue.TIMESTAMP_SIZE];<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    int prevTimestampOffset;<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @Override<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    protected void readTimestamp(ByteBuffer in) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      in.get(timestamp);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>    @Override<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    void copyFrom(CompressionState state) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      super.copyFrom(state);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      FastDiffCompressionState state2 = (FastDiffCompressionState) state;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      System.arraycopy(state2.timestamp, 0, timestamp, 0,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>          KeyValue.TIMESTAMP_SIZE);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      prevTimestampOffset = state2.prevTimestampOffset;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>    /**<a name="line.84"></a>
+<span class="sourceLineNo">085</span>     * Copies the first key/value from the given stream, and initializes<a name="line.85"></a>
+<span class="sourceLineNo">086</span>     * decompression state based on it. Assumes that we have already read key<a name="line.86"></a>
+<span class="sourceLineNo">087</span>     * and value lengths. Does not set {@link #qualifierLength} (not used by<a name="line.87"></a>
+<span class="sourceLineNo">088</span>     * decompression) or {@link #prevOffset} (set by the calle afterwards).<a name="line.88"></a>
+<span class="sourceLineNo">089</span>     */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    private void decompressFirstKV(ByteBuffer out, DataInputStream in)<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        throws IOException {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      int kvPos = out.position();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      out.putInt(keyLength);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      out.putInt(valueLength);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      prevTimestampOffset = out.position() + keyLength -<a name="line.95"></a>
+<span class="sourceLineNo">096</span>          KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      ByteBufferUtils.copyFromStreamToBuffer(out, in, keyLength + valueLength);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      rowLength = out.getShort(kvPos + KeyValue.ROW_OFFSET);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      familyLength = out.get(kvPos + KeyValue.ROW_OFFSET +<a name="line.99"></a>
+<span class="sourceLineNo">100</span>          KeyValue.ROW_LENGTH_SIZE + rowLength);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      type = out.get(prevTimestampOffset + KeyValue.TIMESTAMP_SIZE);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  private void compressSingleKeyValue(<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        FastDiffCompressionState previousState,<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        FastDiffCompressionState currentState,<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        OutputStream out, ByteBuffer in) throws IOException {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    currentState.prevOffset = in.position();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    int keyLength = in.getInt();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    int valueOffset =<a name="line.112"></a>
+<span class="sourceLineNo">113</span>        currentState.prevOffset + keyLength + KeyValue.ROW_OFFSET;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    int valueLength = in.getInt();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    byte flag = 0;<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    if (previousState.isFirst()) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      // copy the key, there is no common prefix with none<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      out.write(flag);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      ByteBufferUtils.putCompressedInt(out, 0);<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>      currentState.readKey(in, keyLength, valueLength);<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>      ByteBufferUtils.moveBufferToStream(out, in, keyLength + valueLength);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    } else {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      // find a common prefix and skip it<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      int commonPrefix = ByteBufferUtils.findCommonPrefix(in, in.position(),<a name="line.129"></a>
+<span class="sourceLineNo">130</span>          previousState.prevOffset + KeyValue.ROW_OFFSET,<a name="line.130"></a>
+<span class="sourceLineNo">131</span>          Math.min(keyLength, previousState.keyLength) -<a name="line.131"></a>
+<span class="sourceLineNo">132</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.132"></a>
 <span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>      if (keyLength == previousState.keyLength) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      if (valueLength == previousState.valueLength) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>        flag |= FLAG_SAME_VALUE_LENGTH;<a name="line.138"></a>
+<span class="sourceLineNo">134</span>      currentState.readKey(in, keyLength, valueLength,<a name="line.134"></a>
+<span class="sourceLineNo">135</span>          commonPrefix, previousState);<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>      if (keyLength == previousState.keyLength) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        flag |= FLAG_SAME_KEY_LENGTH;<a name="line.138"></a>
 <span class="sourceLineNo">139</span>      }<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      if (currentState.type == previousState.type) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        flag |= FLAG_SAME_TYPE;<a name="line.141"></a>
+<span class="sourceLineNo">140</span>      if (valueLength == previousState.valueLength) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        flag |= FLAG_SAME_VALUE_LENGTH;<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>      int commonTimestampPrefix = findCommonTimestampPrefix(<a name="line.144"></a>
-<span class="sourceLineNo">145</span>          currentState, previousState);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>      flag |= commonTimestampPrefix &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // Check if current and previous values are the same. Compare value<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      // length first as an optimization.<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      if (valueLength == previousState.valueLength) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>        int previousValueOffset = previousState.prevOffset<a name="line.151"></a>
-<span class="sourceLineNo">152</span>            + previousState.keyLength + KeyValue.ROW_OFFSET;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        if (ByteBufferUtils.arePartsEqual(in,<a name="line.153"></a>
-<span class="sourceLineNo">154</span>                previousValueOffset, previousState.valueLength,<a name="line.154"></a>
-<span class="sourceLineNo">155</span>                valueOffset, valueLength)) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          flag |= FLAG_SAME_VALUE;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>      out.write(flag);<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.165"></a>
+<span class="sourceLineNo">143</span>      if (currentState.type == previousState.type) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        flag |= FLAG_SAME_TYPE;<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>      int commonTimestampPrefix = findCommonTimestampPrefix(<a name="line.147"></a>
+<span class="sourceLineNo">148</span>          currentState, previousState);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      flag |= commonTimestampPrefix &lt;&lt; SHIFT_TIMESTAMP_LENGTH;<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>      // Check if current and previous values are the same. Compare value<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      // length first as an optimization.<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      if (valueLength == previousState.valueLength) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        int previousValueOffset = previousState.prevOffset<a name="line.154"></a>
+<span class="sourceLineNo">155</span>            + previousState.keyLength + KeyValue.ROW_OFFSET;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        if (ByteBufferUtils.arePartsEqual(in,<a name="line.156"></a>
+<span class="sourceLineNo">157</span>                previousValueOffset, previousState.valueLength,<a name="line.157"></a>
+<span class="sourceLineNo">158</span>                valueOffset, valueLength)) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          flag |= FLAG_SAME_VALUE;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>      out.write(flag);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        ByteBufferUtils.putCompressedInt(out, keyLength);<a name="line.165"></a>
 <span class="sourceLineNo">166</span>      }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>      ByteBufferUtils.skip(in, commonPrefix);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      if (commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        // Previous and current rows are different. Copy the differing part of<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        // the row, skip the column family, and copy the qualifier.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>            currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.175"></a>
-<span class="sourceLineNo">176</span>            KeyValue.FAMILY_LENGTH_SIZE);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.177"></a>
-<span class="sourceLineNo">178</span>            currentState.qualifierLength);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      } else {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        // The common part includes the whole row. As the column family is the<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        // same across the whole file, it will automatically be included in the<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        // common prefix, so we need not special-case it here.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        int restKeyLength = keyLength - commonPrefix -<a name="line.183"></a>
-<span class="sourceLineNo">184</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        ByteBufferUtils.moveBufferToStream(out, in, restKeyLength);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      ByteBufferUtils.skip(in, commonTimestampPrefix);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          KeyValue.TIMESTAMP_SIZE - commonTimestampPrefix);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>      // Write the type if it is not the same as before.<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        out.write(currentState.type);<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>      // Write the value if it is not the same as before.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        ByteBufferUtils.copyBufferToStream(out, in, valueOffset, valueLength);<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>      // Skip key type and value in the input buffer.<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      ByteBufferUtils.skip(in, KeyValue.TYPE_SIZE + currentState.valueLength);<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><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  private int findCommonTimestampPrefix(FastDiffCompressionState left,<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      FastDiffCompressionState right) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    int prefixTimestamp = 0;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    while (prefixTimestamp &lt; (KeyValue.TIMESTAMP_SIZE - 1) &amp;&amp;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        left.timestamp[prefixTimestamp]<a name="line.210"></a>
-<span class="sourceLineNo">211</span>            == right.timestamp[prefixTimestamp]) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      prefixTimestamp++;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    return prefixTimestamp; // has to be at most 7 bytes<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>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      ByteBuffer out, FastDiffCompressionState state)<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    byte flag = source.readByte();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    int prevKeyLength = state.keyLength;<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      state.keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      state.valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.227"></a>
+<span class="sourceLineNo">167</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        ByteBufferUtils.putCompressedInt(out, valueLength);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      ByteBufferUtils.putCompressedInt(out, commonPrefix);<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>      ByteBufferUtils.skip(in, commonPrefix);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      if (commonPrefix &lt; currentState.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        // Previous and current rows are different. Copy the differing part of<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        // the row, skip the column family, and copy the qualifier.<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.176"></a>
+<span class="sourceLineNo">177</span>            currentState.rowLength + KeyValue.ROW_LENGTH_SIZE - commonPrefix);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        ByteBufferUtils.skip(in, currentState.familyLength +<a name="line.178"></a>
+<span class="sourceLineNo">179</span>            KeyValue.FAMILY_LENGTH_SIZE);<a name="line.179"></a>
+<span class="sourceLineNo">180</span>        ByteBufferUtils.moveBufferToStream(out, in,<a name="line.180"></a>
+<span class="sourceLineNo">181</span>            currentState.qualifierLength);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      } else {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>        // The common part includes the whole row. As the column family is the<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        // same across the whole file, it will automatically be included in the<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        // common prefix, so we need not special-case it here.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        int restKeyLength = keyLength - commonPrefix -<a name="line.186"></a>
+<span class="sourceLineNo">187</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        ByteBufferUtils.moveBufferToStream(out, in, restKeyLength);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      }<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      ByteBufferUtils.skip(in, commonTimestampPrefix);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      ByteBufferUtils.moveBufferToStream(out, in,<a name="line.191"></a>
+<span class="sourceLineNo">192</span>          KeyValue.TIMESTAMP_SIZE - commonTimestampPrefix);<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>      // Write the type if it is not the same as before.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>        out.write(currentState.type);<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>      // Write the value if it is not the same as before.<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        ByteBufferUtils.copyBufferToStream(out, in, valueOffset, valueLength);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      }<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>      // Skip key type and value in the input buffer.<a name="line.204"></a>
+<span class="sourceLineNo">205</span>      ByteBufferUtils.skip(in, KeyValue.TYPE_SIZE + currentState.valueLength);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int findCommonTimestampPrefix(FastDiffCompressionState left,<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      FastDiffCompressionState right) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>    int prefixTimestamp = 0;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    while (prefixTimestamp &lt; (KeyValue.TIMESTAMP_SIZE - 1) &amp;&amp;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        left.timestamp[prefixTimestamp]<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            == right.timestamp[prefixTimestamp]) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      prefixTimestamp++;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    return prefixTimestamp; // has to be at most 7 bytes<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span>  private void uncompressSingleKeyValue(DataInputStream source,<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      ByteBuffer out, FastDiffCompressionState state)<a name="line.221"></a>
+<span class="sourceLineNo">222</span>          throws IOException, EncoderBufferTooSmallException {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    byte flag = source.readByte();<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    int prevKeyLength = state.keyLength;<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>    if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      state.keyLength = ByteBufferUtils.readCompressedInt(source);<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    ByteBufferUtils.ensureSpace(out, state.keyLength + state.valueLength +<a name="line.231"></a>
-<span class="sourceLineNo">232</span>        KeyValue.ROW_OFFSET);<a name="line.232"></a>
+<span class="sourceLineNo">229</span>    if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      state.valueLength = ByteBufferUtils.readCompressedInt(source);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    int commonLength = ByteBufferUtils.readCompressedInt(source);<a name="line.232"></a>
 <span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>    int kvPos = out.position();<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    if (!state.isFirst()) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      // copy the prefix<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      int common;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      int prevOffset;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        out.putInt(state.keyLength);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        out.putInt(state.valueLength);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        prevOffset = state.prevOffset + KeyValue.ROW_OFFSET;<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        common = commonLength;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      } else {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>          prevOffset = state.prevOffset;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>          common = commonLength + KeyValue.ROW_OFFSET;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        } else {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>          out.putInt(state.keyLength);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          prevOffset = state.prevOffset + KeyValue.KEY_LENGTH_SIZE;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          common = commonLength + KeyValue.KEY_LENGTH_SIZE;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>        }<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      }<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out, prevOffset, common);<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>      // copy the rest of the key from the buffer<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      int keyRestLength;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      if (commonLength &lt; state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>        // omit the family part of the key, it is always the same<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        int rowWithSizeLength;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>        int rowRestLength;<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>        // check length of row<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        if (commonLength &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          // not yet copied, do it now<a name="line.268"></a>
-<span class="sourceLineNo">269</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.269"></a>
-<span class="sourceLineNo">270</span>              KeyValue.ROW_LENGTH_SIZE - commonLength);<a name="line.270"></a>
-<span class="sourceLineNo">271</span><a name="line.271"></a>
-<span class="sourceLineNo">272</span>          rowWithSizeLength = out.getShort(out.position() -<a name="line.272"></a>
-<span class="sourceLineNo">273</span>              KeyValue.ROW_LENGTH_SIZE) + KeyValue.ROW_LENGTH_SIZE;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>          rowRestLength = rowWithSizeLength - KeyValue.ROW_LENGTH_SIZE;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        } else {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          // already in kvBuffer, just read it<a name="line.276"></a>
-<span class="sourceLineNo">277</span>          rowWithSizeLength = out.getShort(kvPos + KeyValue.ROW_OFFSET) +<a name="line.277"></a>
-<span class="sourceLineNo">278</span>              KeyValue.ROW_LENGTH_SIZE;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          rowRestLength = rowWithSizeLength - commonLength;<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>        // copy the rest of row<a name="line.282"></a>
-<span class="sourceLineNo">283</span>        ByteBufferUtils.copyFromStreamToBuffer(out, source, rowRestLength);<a name="line.283"></a>
+<span class="sourceLineNo">234</span>    ByteBufferUtils.ensureSpace(out, state.keyLength + state.valueLength +<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        KeyValue.ROW_OFFSET);<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>    int kvPos = out.position();<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>    if (!state.isFirst()) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      // copy the prefix<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      int common;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      int prevOffset;<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>      if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>        out.putInt(state.keyLength);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        out.putInt(state.valueLength);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        prevOffset = state.prevOffset + KeyValue.ROW_OFFSET;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>        common = commonLength;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      } else {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) != 0) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>          prevOffset = state.prevOffset;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>          common = commonLength + KeyValue.ROW_OFFSET;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        } else {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          out.putInt(state.keyLength);<a name="line.254"></a>
+<span class="sourceLineNo">255</span>          prevOffset = state.prevOffset + KeyValue.KEY_LENGTH_SIZE;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>          common = commonLength + KeyValue.KEY_LENGTH_SIZE;<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><a name="line.259"></a>
+<span class="sourceLineNo">260</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out, prevOffset, common);<a name="line.260"></a>
+<span class="sourceLineNo">261</span><a name="line.261"></a>
+<span class="sourceLineNo">262</span>      // copy the rest of the key from the buffer<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      int keyRestLength;<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      if (commonLength &lt; state.rowLength + KeyValue.ROW_LENGTH_SIZE) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        // omit the family part of the key, it is always the same<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        int rowWithSizeLength;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>        int rowRestLength;<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>        // check length of row<a name="line.269"></a>
+<span class="sourceLineNo">270</span>        if (commonLength &lt; KeyValue.ROW_LENGTH_SIZE) {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>          // not yet copied, do it now<a name="line.271"></a>
+<span class="sourceLineNo">272</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.272"></a>
+<span class="sourceLineNo">273</span>              KeyValue.ROW_LENGTH_SIZE - commonLength);<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>          rowWithSizeLength = out.getShort(out.position() -<a name="line.275"></a>
+<span class="sourceLineNo">276</span>              KeyValue.ROW_LENGTH_SIZE) + KeyValue.ROW_LENGTH_SIZE;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>          rowRestLength = rowWithSizeLength - KeyValue.ROW_LENGTH_SIZE;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>        } else {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          // already in kvBuffer, just read it<a name="line.279"></a>
+<span class="sourceLineNo">280</span>          rowWithSizeLength = out.getShort(kvPos + KeyValue.ROW_OFFSET) +<a name="line.280"></a>
+<span class="sourceLineNo">281</span>              KeyValue.ROW_LENGTH_SIZE;<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          rowRestLength = rowWithSizeLength - commonLength;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        }<a name="line.283"></a>
 <span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>        // copy the column family<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.286"></a>
-<span class="sourceLineNo">287</span>            state.prevOffset + KeyValue.ROW_OFFSET + KeyValue.ROW_LENGTH_SIZE<a name="line.287"></a>
-<span class="sourceLineNo">288</span>                + state.rowLength, state.familyLength<a name="line.288"></a>
-<span class="sourceLineNo">289</span>                + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>        state.rowLength = (short) (rowWithSizeLength -<a name="line.290"></a>
-<span class="sourceLineNo">291</span>            KeyValue.ROW_LENGTH_SIZE);<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>        keyRestLength = state.keyLength - rowWithSizeLength -<a name="line.293"></a>
-<span class="sourceLineNo">294</span>            state.familyLength -<a name="line.294"></a>
-<span class="sourceLineNo">295</span>            (KeyValue.FAMILY_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      } else {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        // prevRowWithSizeLength is the same as on previous row<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        keyRestLength = state.keyLength - commonLength -<a name="line.298"></a>
-<span class="sourceLineNo">299</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      }<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      // copy the rest of the key, after column family == column qualifier<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source, keyRestLength);<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>      // copy timestamp<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      int prefixTimestamp =<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH;<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.307"></a>
-<span class="sourceLineNo">308</span>          state.prevTimestampOffset, prefixTimestamp);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      state.prevTimestampOffset = out.position() - prefixTimestamp;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          KeyValue.TIMESTAMP_SIZE - prefixTimestamp);<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>      // copy the type and value<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        out.put(state.type);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.317"></a>
-<span class="sourceLineNo">318</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>        } else {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.320"></a>
-<span class="sourceLineNo">321</span>              state.valueLength);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        }<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      } else {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.325"></a>
-<span class="sourceLineNo">326</span>              KeyValue.TYPE_SIZE);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.327"></a>
-<span class="sourceLineNo">328</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>        } else {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.330"></a>
-<span class="sourceLineNo">331</span>              state.valueLength + KeyValue.TYPE_SIZE);<a name="line.331"></a>
-<span class="sourceLineNo">332</span>        }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        state.type = out.get(state.prevTimestampOffset +<a name="line.333"></a>
-<span class="sourceLineNo">334</span>            KeyValue.TIMESTAMP_SIZE);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    } else { // this is the first element<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      state.decompressFirstKV(out, source);<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>
-<span class="sourceLineNo">340</span>    state.prevOffset = kvPos;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
+<span class="sourceLineNo">285</span>        // copy the rest of row<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        ByteBufferUtils.copyFromStreamToBuffer(out, source, rowRestLength);<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>        // copy the column family<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.289"></a>
+<span class="sourceLineNo">290</span>            state.prevOffset + KeyValue.ROW_OFFSET + KeyValue.ROW_LENGTH_SIZE<a name="line.290"></a>
+<span class="sourceLineNo">291</span>                + state.rowLength, state.familyLength<a name="line.291"></a>
+<span class="sourceLineNo">292</span>                + KeyValue.FAMILY_LENGTH_SIZE);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        state.rowLength = (short) (rowWithSizeLength -<a name="line.293"></a>
+<span class="sourceLineNo">294</span>            KeyValue.ROW_LENGTH_SIZE);<a name="line.294"></a>
+<span class="sourceLineNo">295</span><a name="line.295"></a>
+<span class="sourceLineNo">296</span>        keyRestLength = state.keyLength - rowWithSizeLength -<a name="line.296"></a>
+<span class="sourceLineNo">297</span>            state.familyLength -<a name="line.297"></a>
+<span class="sourceLineNo">298</span>            (KeyValue.FAMILY_LENGTH_SIZE + KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      } else {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>        // prevRowWithSizeLength is the same as on previous row<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        keyRestLength = state.keyLength - commonLength -<a name="line.301"></a>
+<span class="sourceLineNo">302</span>            KeyValue.TIMESTAMP_TYPE_SIZE;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      // copy the rest of the key, after column family == column qualifier<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source, keyRestLength);<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>      // copy timestamp<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      int prefixTimestamp =<a name="line.308"></a>
+<span class="sourceLineNo">309</span>          (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt; SHIFT_TIMESTAMP_LENGTH;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>      ByteBufferUtils.copyFromBufferToBuffer(out, out,<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          state.prevTimestampOffset, prefixTimestamp);<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      state.prevTimestampOffset = out.position() - prefixTimestamp;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          KeyValue.TIMESTAMP_SIZE - prefixTimestamp);<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>      // copy the type and value<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      if ((flag &amp; FLAG_SAME_TYPE) != 0) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        out.put(state.type);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.320"></a>
+<span class="sourceLineNo">321</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        } else {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              state.valueLength);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>        }<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      } else {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>        if ((flag &amp; FLAG_SAME_VALUE) != 0) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.328"></a>
+<span class="sourceLineNo">329</span>              KeyValue.TYPE_SIZE);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>          ByteBufferUtils.copyFromBufferToBuffer(out, out, state.prevOffset +<a name="line.330"></a>
+<span class="sourceLineNo">331</span>              KeyValue.ROW_OFFSET + prevKeyLength, state.valueLength);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>        } else {<a name="line.332"></a>
+<span class="sourceLineNo">333</span>          ByteBufferUtils.copyFromStreamToBuffer(out, source,<a name="line.333"></a>
+<span class="sourceLineNo">334</span>              state.valueLength + KeyValue.TYPE_SIZE);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>        }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>        state.type = out.get(state.prevTimestampOffset +<a name="line.336"></a>
+<span class="sourceLineNo">337</span>            KeyValue.TIMESTAMP_SIZE);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>      }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    } else { // this is the first element<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      state.decompressFirstKV(out, source);<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 void compressKeyValues(DataOutputStream out,<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    in.rewind();<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    FastDiffCompressionState previousState = new FastDiffCompressionState();<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    FastDiffCompressionState currentState = new FastDiffCompressionState();<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    while (in.hasRemaining()) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      compressSingleKeyValue(previousState, currentState,<a name="line.351"></a>
-<span class="sourceLineNo">352</span>          out, in);<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>      // swap previousState &lt;-&gt; currentState<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      FastDiffCompressionState tmp = previousState;<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      previousState = currentState;<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      currentState = tmp;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  @Override<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          throws IOException {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    int decompressedSize = source.readInt();<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        allocHeaderLength);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    buffer.position(allocHeaderLength);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    FastDiffCompressionState state = new FastDiffCompressionState();<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    while (source.available() &gt; skipLastBytes) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (source.available() != skipLastBytes) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      throw new IllegalStateException("Read too much bytes.");<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>    return buffer;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
+<span class="sourceLineNo">343</span>    state.prevOffset = kvPos;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  }<a name="line.344"></a>
+<span class="sourceLineNo">345</span><a name="line.345"></a>
+<span class="sourceLineNo">346</span>  @Override<a name="line.346"></a>
+<span class="sourceLineNo">347</span>  public void compressKeyValues(DataOutputStream out,<a name="line.347"></a>
+<span class="sourceLineNo">348</span>      ByteBuffer in, boolean includesMemstoreTS) throws IOException {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    in.rewind();<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    ByteBufferUtils.putInt(out, in.limit());<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    FastDiffCompressionState previousState = new FastDiffCompressionState();<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    FastDiffCompressionState currentState = new FastDiffCompressionState();<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    while (in.hasRemaining()) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      compressSingleKeyValue(previousState, currentState,<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          out, in);<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      afterEncodingKeyValue(in, out, includesMemstoreTS);<a name="line.356"></a>
+<span class="sourceLineNo">357</span><a name="line.357"></a>
+<span class="sourceLineNo">358</span>      // swap previousState &lt;-&gt; currentState<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      FastDiffCompressionState tmp = previousState;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      previousState = currentState;<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      currentState = tmp;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>  }<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>  @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  public ByteBuffer uncompressKeyValues(DataInputStream source,<a name="line.366"></a>
+<span class="sourceLineNo">367</span>      int allocHeaderLength, int skipLastBytes, boolean includesMemstoreTS)<a name="line.367"></a>
+<span class="sourceLineNo">368</span>          throws IOException {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    int decompressedSize = source.readInt();<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    ByteBuffer buffer = ByteBuffer.allocate(decompressedSize +<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        allocHeaderLength);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    buffer.position(allocHeaderLength);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    FastDiffCompressionState state = new FastDiffCompressionState();<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    while (source.available() &gt; skipLastBytes) {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      uncompressSingleKeyValue(source, buffer, state);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      afterDecodingKeyValue(source, buffer, includesMemstoreTS);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (source.available() != skipLastBytes) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      throw new IllegalStateException("Read too much bytes.");<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>  @Override<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    block.mark();<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    block.position(Bytes.SIZEOF_INT + Bytes.SIZEOF_BYTE);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    int pos = block.position();<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    block.reset();<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<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>  @Override<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  public String toString() {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return FastDiffDeltaEncoder.class.getSimpleName();<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  }<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  protected static class FastDiffSeekerState extends SeekerState {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    private byte[] prevTimestampAndType =<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        new byte[KeyValue.TIMESTAMP_TYPE_SIZE];<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    private int rowLengthWithSize;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    private int familyLengthWithSize;<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    @Override<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    protected void copyFromNext(SeekerState that) {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      super.copyFromNext(that);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      FastDiffSeekerState other = (FastDiffSeekerState) that;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      System.arraycopy(other.prevTimestampAndType, 0,<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          prevTimestampAndType, 0,<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          KeyValue.TIMESTAMP_TYPE_SIZE);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      rowLengthWithSize = other.rowLengthWithSize;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      familyLengthWithSize = other.familyLengthWithSize;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    }<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>  @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  public EncodedSeeker createSeeker(RawComparator&lt;byte[]&gt; comparator,<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      final boolean includesMemstoreTS) {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    return new BufferedEncodedSeeker&lt;FastDiffSeekerState&gt;(comparator) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      private void decode(boolean isFirst) {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        byte flag = currentBuffer.get();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          if (!isFirst) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>            System.arraycopy(current.keyBuffer,<a name="line.426"></a>
-<span class="sourceLineNo">427</span>                current.keyLength - current.prevTimestampAndType.length,<a name="line.427"></a>
-<span class="sourceLineNo">428</span>                current.prevTimestampAndType, 0,<a name="line.428"></a>
-<span class="sourceLineNo">429</span>                current.prevTimestampAndType.length);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          current.keyLength = ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        }<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        if ((flag &amp; FLAG_SAME_VALUE_LENGTH) == 0) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          current.valueLength =<a name="line.434"></a>
-<span class="sourceLineNo">435</span>              ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        }<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        current.lastCommonPrefix =<a name="line.437"></a>
-<span class="sourceLineNo">438</span>            ByteBufferUtils.readCompressedInt(currentBuffer);<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        current.ensureSpaceForKey();<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span>        if (isFirst) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          // copy everything<a name="line.443"></a>
-<span class="sourceLineNo">444</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>              current.keyLength - current.prevTimestampAndType.length);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.446"></a>
-<span class="sourceLineNo">447</span>              Bytes.SIZEOF_SHORT;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>          current.familyLengthWithSize =<a name="line.448"></a>
-<span class="sourceLineNo">449</span>              current.keyBuffer[current.rowLengthWithSize] + Bytes.SIZEOF_BYTE;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        } else if (current.lastCommonPrefix &lt; Bytes.SIZEOF_SHORT) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>          // length of row is different, copy everything except family<a name="line.451"></a>
-<span class="sourceLineNo">452</span><a name="line.452"></a>
-<span class="sourceLineNo">453</span>          // copy the row size<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          int oldRowLengthWithSize = current.rowLengthWithSize;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.455"></a>
-<span class="sourceLineNo">456</span>              Bytes.SIZEOF_SHORT - current.lastCommonPrefix);<a name="line.456"></a>
-<span class="sourceLineNo">457</span>          current.rowLengthWithSize = Bytes.toShort(current.keyBuffer, 0) +<a name="line.457"></a>
-<span class="sourceLineNo">458</span>              Bytes.SIZEOF_SHORT;<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>          // move the column family<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          System.arraycopy(current.keyBuffer, oldRowLengthWithSize,<a name="line.461"></a>
-<span class="sourceLineNo">462</span>              current.keyBuffer, current.rowLengthWithSize,<a name="line.462"></a>
-<span class="sourceLineNo">463</span>              current.familyLengthWithSize);<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>          // copy the rest of row<a name="line.465"></a>
-<span class="sourceLineNo">466</span>          currentBuffer.get(current.keyBuffer, Bytes.SIZEOF_SHORT,<a name="line.466"></a>
-<span class="sourceLineNo">467</span>              current.rowLengthWithSize - Bytes.SIZEOF_SHORT);<a name="line.467"></a>
-<span class="sourceLineNo">468</span><a name="line.468"></a>
-<span class="sourceLineNo">469</span>          // copy the qualifier<a name="line.469"></a>
-<span class="sourceLineNo">470</span>          currentBuffer.get(current.keyBuffer, current.rowLengthWithSize<a name="line.470"></a>
-<span class="sourceLineNo">471</span>              + current.familyLengthWithSize, current.keyLength<a name="line.471"></a>
-<span class="sourceLineNo">472</span>              - current.rowLengthWithSize - current.familyLengthWithSize<a name="line.472"></a>
-<span class="sourceLineNo">473</span>              - current.prevTimestampAndType.length);<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        } else if (current.lastCommonPrefix &lt; current.rowLengthWithSize) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>          // We have to copy part of row and qualifier, but the column family<a name="line.475"></a>
-<span class="sourceLineNo">476</span>          // is in the right place.<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>          // before column family (rest of row)<a name="line.478"></a>
-<span class="sourceLineNo">479</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.479"></a>
-<span class="sourceLineNo">480</span>              current.rowLengthWithSize - current.lastCommonPrefix);<a name="line.480"></a>
-<span class="sourceLineNo">481</span><a name="line.481"></a>
-<span class="sourceLineNo">482</span>          // after column family (qualifier)<a name="line.482"></a>
-<span class="sourceLineNo">483</span>          currentBuffer.get(current.keyBuffer, current.rowLengthWithSize<a name="line.483"></a>
-<span class="sourceLineNo">484</span>              + current.familyLengthWithSize, current.keyLength<a name="line.484"></a>
-<span class="sourceLineNo">485</span>              - current.rowLengthWithSize - current.familyLengthWithSize<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              - current.prevTimestampAndType.length);<a name="line.486"></a>
-<span class="sourceLineNo">487</span>        } else {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>          // copy just the ending<a name="line.488"></a>
-<span class="sourceLineNo">489</span>          currentBuffer.get(current.keyBuffer, current.lastCommonPrefix,<a name="line.489"></a>
-<span class="sourceLineNo">490</span>              current.keyLength - current.prevTimestampAndType.length<a name="line.490"></a>
-<span class="sourceLineNo">491</span>                  - current.lastCommonPrefix);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>        }<a name="line.492"></a>
-<span class="sourceLineNo">493</span><a name="line.493"></a>
-<span class="sourceLineNo">494</span>        // timestamp<a name="line.494"></a>
-<span class="sourceLineNo">495</span>        int pos = current.keyLength - current.prevTimestampAndType.length;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        int commonTimestampPrefix = (flag &amp; MASK_TIMESTAMP_LENGTH) &gt;&gt;&gt;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>          SHIFT_TIMESTAMP_LENGTH;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>          System.arraycopy(current.prevTimestampAndType, 0, current.keyBuffer,<a name="line.499"></a>
-<span class="sourceLineNo">500</span>              pos, commonTimestampPrefix);<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>        pos += commonTimestampPrefix;<a name="line.502"></a>
-<span class="sourceLineNo">503</span>        currentBuffer.get(current.keyBuffer, pos,<a name="line.503"></a>
-<span class="sourceLineNo">504</span>            Bytes.SIZEOF_LONG - commonTimestampPrefix);<a name="line.504"></a>
-<span class="sourceLineNo">505</span>        pos += Bytes.SIZEOF_LONG - commonTimestampPrefix;<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span>        // type<a name="line.507"></a>
-<span class="sourceLineNo">508</span>        if ((flag &amp; FLAG_SAME_TYPE) == 0) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          currentBuffer.get(current.keyBuffer, pos, Bytes.SIZEOF_BYTE);<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        } else if ((flag &amp; FLAG_SAME_KEY_LENGTH) == 0) {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          current.keyBuffer[pos] =<a name="line.511"></a>
-<span class="sourceLineNo">512</span>              current.prevTimestampAndType[Bytes.SIZEOF_LONG];<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>
-<span class="sourceLineNo">515</span>        // handle value<a name="line.515"></a>
-<span class="sourceLineNo">516</span>        if ((flag &amp; FLAG_SAME_VALUE) == 0) {<a name="line.516"></a>
-<span class="sourceLineNo">517</span>          current.valueOffset = currentBuffer.position();<a name="line.517"></a>
-<span class="sourceLineNo">518</span>          ByteBufferUtils.skip(currentBuffer, current.valueLength);<a name="line.518"></a>
-<span class="sourceLineNo">519</span>        }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>        if (includesMemstoreTS) {<a name="line.521"></a>
-<span class="sourceLineNo">522</span>          current.memstoreTS = ByteBufferUtils.readVLong(currentBuffer);<a name="line.522"></a>
-<span class="sourceLineNo">523</span>        } else {<a name="line.523"></a>
-<span class="sourceLineNo">524</span>          current.memstoreTS = 0;<a name="line.524"></a>
-<span class="sourceLineNo">525</span>        }<a name="line.525"></a>
-<span class="sourceLineNo">526</span>        current.nextKvOffset = currentBuffer.position();<a name="line.526"></a>
-<span class="sourceLineNo">527</span>      }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>      @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      protected void decodeFirst() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>        ByteBufferUtils.skip(currentBuffer, Bytes.SIZEOF_INT);<a name="line.531"></a>
-<span class="sourceLineNo">532</span>        decode(true);<a name="line.532"></a>
-<span class="sourceLineNo">533</span>      }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>      @Override<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      protected void decodeNext() {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>        decode(false);<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      }<a name="line.538"></a>
-<span class="sourceLineNo">539</span><a name="line.539"></a>
-<span class="sourceLineNo">540</span>      @Override<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      protected FastDiffSeekerState createSeekerState() {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return new FastDiffSeekerState();<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      }<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    };<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>}<a name="line.546"></a>
+<span class="sourceLineNo">383</span>    return buffer;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>  @Override<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public ByteBuffer getFirstKeyInBlock(ByteBuffer block) {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    block.mark();<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    block.position(Bytes.SIZEOF_INT + Bytes.SIZEOF_BYTE);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    int keyLength = ByteBufferUtils.readCompressedInt(block);<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    ByteBufferUtils.readCompressedInt(block); // valueLength<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    ByteBufferUtils.readCompressedInt(block); // commonLength<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    int pos = block.position();<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    block.reset();<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    return ByteBuffer.wrap(block.array(), block.arrayOffset() + pos, keyLength).slice();<a name="line.395"></a>
+<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
+<span class="sourceLineNo">397</span><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  @Override<a name="line.398"></a>
+<span class="sourceLineNo">399</span>  public String toString() {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    return FastDiffDeltaEncoder.class.getSimpleName();<a name="line.400"></a>
+<span class="sourceLineNo">401</span>  }<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a 

<TRUNCATED>

[05/30] hbase-site git commit: Updated 0.94 docs to 0f35a32ab123ee299f4aaaea02b4ba2d2b43cff2

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ecb8d8ba/0.94/rat-report.html
----------------------------------------------------------------------
diff --git a/0.94/rat-report.html b/0.94/rat-report.html
index 8ce7f70..4840a7d 100644
--- a/0.94/rat-report.html
+++ b/0.94/rat-report.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
-<!-- Generated by Apache Maven Doxia at 2015-11-03 -->
+<!-- Generated by Apache Maven Doxia at 2015-12-16 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -12,7 +12,7 @@
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
     <link rel="shortcut icon" href="/images/favicon.ico" />
-    <meta name="Date-Revision-yyyymmdd" content="20151103" />
+    <meta name="Date-Revision-yyyymmdd" content="20151216" />
     <meta http-equiv="Content-Language" content="en" />
         <!--Google Analytics-->
 <script type="text/javascript">
@@ -170,19 +170,19 @@
 *****************************************************
 Summary
 -------
-Generated at: 2015-11-03T11:48:22+10:00
-Notes: 5
-Binaries: 6627
-Archives: 0
-Standards: 1789
+Generated at: 2015-12-16T08:54:51-08:00
+Notes: 190
+Binaries: 9680
+Archives: 54
+Standards: 2169
 
-Apache Licensed: 1511
+Apache Licensed: 1705
 Generated Documents: 0
 
 JavaDocs are generated and so license header is optional
 Generated files do not required license headers
 
-278 Unknown Licenses
+443 Unknown Licenses
 
 *******************************
 
@@ -210,14 +210,14 @@ Unapproved licenses:
   .git/logs/refs/heads/0.94
   .git/logs/refs/heads/0.98
   .git/logs/refs/heads/asciidoc_site_theme
+  .git/logs/refs/heads/asciidoctor_site
+  .git/logs/refs/heads/asf-site
   .git/logs/refs/heads/branch-1
-  .git/logs/refs/heads/broken_link
+  .git/logs/refs/heads/chunked_guide
   .git/logs/refs/heads/declutter_svn_commits
   .git/logs/refs/heads/docs-maven-skin
-  .git/logs/refs/heads/fix_html_warnings
-  .git/logs/refs/heads/fix_javadocs
-  .git/logs/refs/heads/fluido_skin
   .git/logs/refs/heads/gh-pages
+  .git/logs/refs/heads/hadoop_search
   .git/logs/refs/heads/hbase-11339
   .git/logs/refs/heads/HBASE-12256
   .git/logs/refs/heads/HBASE-12466
@@ -249,16 +249,19 @@ Unapproved licenses:
   .git/logs/refs/heads/HBASE-14640_cascading
   .git/logs/refs/heads/HBASE-14641_jdo
   .git/logs/refs/heads/HBASE-14652
+  .git/logs/refs/heads/HBASE-14751
+  .git/logs/refs/heads/HBASE-14762
+  .git/logs/refs/heads/HBASE-14823
+  .git/logs/refs/heads/HBASE-14967
+  .git/logs/refs/heads/jbake
   .git/logs/refs/heads/jython
   .git/logs/refs/heads/master
   .git/logs/refs/heads/mixed_content
-  .git/logs/refs/heads/other-fluid-skin
-  .git/logs/refs/heads/powered_by
   .git/logs/refs/heads/ref_guide_2
-  .git/logs/refs/heads/reflow
-  .git/logs/refs/heads/reflow_config
-  .git/logs/refs/heads/stargate
+  .git/logs/refs/heads/smart_patch
   .git/logs/refs/heads/test_patch
+  .git/logs/refs/heads/try_asciidoc_site
+  .git/logs/refs/heads/xdoc_to_asciidoc
   .git/logs/refs/remotes/misty/0.1
   .git/logs/refs/remotes/misty/0.18
   .git/logs/refs/remotes/misty/0.19
@@ -311,6 +314,7 @@ Unapproved licenses:
   .git/logs/refs/remotes/origin/0.94
   .git/logs/refs/remotes/origin/0.98
   .git/logs/refs/remotes/origin/1.0
+  .git/logs/refs/remotes/origin/asf-site
   .git/logs/refs/remotes/origin/branch-1
   .git/logs/refs/remotes/origin/branch-1.0
   .git/logs/refs/remotes/origin/branch-1.1
@@ -333,93 +337,249 @@ Unapproved licenses:
   .git/objects/info/packs
   .git/ORIG_HEAD
   .git/packed-refs
-  .git/refs/heads/0.94
-  .git/refs/heads/broken_link
-  .git/refs/heads/docs-maven-skin
-  .git/refs/heads/fix_html_warnings
-  .git/refs/heads/fluido_skin
-  .git/refs/heads/gh-pages
-  .git/refs/heads/HBASE-13478
-  .git/refs/heads/HBASE-14026
-  .git/refs/heads/HBASE-14481_decommission_wiki
-  .git/refs/heads/HBASE-14532
-  .git/refs/heads/HBASE-14639_scala
-  .git/refs/heads/HBASE-14640_cascading
-  .git/refs/heads/HBASE-14641_jdo
-  .git/refs/heads/jython
-  .git/refs/heads/master
-  .git/refs/heads/other-fluid-skin
-  .git/refs/heads/ref_guide_2
-  .git/refs/heads/reflow
-  .git/refs/heads/test_patch
-  .git/refs/remotes/misty/0.1
-  .git/refs/remotes/misty/0.18
-  .git/refs/remotes/misty/0.19
-  .git/refs/remotes/misty/0.19_on_hadoop_0.18
-  .git/refs/remotes/misty/0.2
-  .git/refs/remotes/misty/0.20
-  .git/refs/remotes/misty/0.20_on_hadoop-0.18.3
-  .git/refs/remotes/misty/0.20_on_hadoop-0.21
-  .git/refs/remotes/misty/0.89
-  .git/refs/remotes/misty/0.89-fb
-  .git/refs/remotes/misty/0.89-fb-accidentally-wiped-commit-log
-  .git/refs/remotes/misty/0.89.0621
-  .git/refs/remotes/misty/0.89.20100621
-  .git/refs/remotes/misty/0.89.20100726
-  .git/refs/remotes/misty/0.89.20100830
-  .git/refs/remotes/misty/0.89.20100924
-  .git/refs/remotes/misty/0.90
-  .git/refs/remotes/misty/0.90_coprocessors
-  .git/refs/remotes/misty/0.90_master_rewrite
-  .git/refs/remotes/misty/0.92
-  .git/refs/remotes/misty/0.92.0rc4
-  .git/refs/remotes/misty/0.94
-  .git/refs/remotes/misty/0.94-test
-  .git/refs/remotes/misty/0.95
-  .git/refs/remotes/misty/0.96
-  .git/refs/remotes/misty/0.98
-  .git/refs/remotes/misty/1.0
-  .git/refs/remotes/misty/admin
-  .git/refs/remotes/misty/branch-1
-  .git/refs/remotes/misty/branch-1.0
-  .git/refs/remotes/misty/branch-1.1
-  .git/refs/remotes/misty/branch-1.1.0
-  .git/refs/remotes/misty/branch-1.2
-  .git/refs/remotes/misty/former_0.20
-  .git/refs/remotes/misty/gh-pages
-  .git/refs/remotes/misty/hbase-10070
-  .git/refs/remotes/misty/hbase-11339
-  .git/refs/remotes/misty/HBASE-12259
-  .git/refs/remotes/misty/hbase-12439
-  .git/refs/remotes/misty/HBASE-14337
-  .git/refs/remotes/misty/hbase-14439
-  .git/refs/remotes/misty/hbase-6721
-  .git/refs/remotes/misty/hbase-6721-0.98
-  .git/refs/remotes/misty/hbase-7290
-  .git/refs/remotes/misty/hbase-7290v2
-  .git/refs/remotes/misty/instant_schema_alter
-  .git/refs/remotes/misty/master
-  .git/refs/remotes/misty/testing_remove
-  .git/refs/remotes/misty/trunk_on_hadoop-0.19.1-dev_with_hadoop-4379
-  .git/refs/remotes/origin/0.98
-  .git/refs/remotes/origin/branch-1
-  .git/refs/remotes/origin/branch-1.0
-  .git/refs/remotes/origin/branch-1.1
-  .git/refs/remotes/origin/branch-1.2
-  .git/refs/remotes/origin/branch1.2
-  .git/refs/remotes/origin/hbase-12439
   .git/refs/remotes/origin/HEAD
-  .git/refs/remotes/origin/maser
-  .git/refs/remotes/origin/master
   .git/sourcetreeconfig
   .gitignore
+  0d72849581c1e5a50a2aa7757b909e5531b8d12c.patch
+  3bac31b2a49bca153df3b47a198667828b61f36e.patch
+  55087ce8887b5be38b0fda0dda3fbf2f92c13778.patch
+  5ebd7660a94bfb18e6e05b6e46195c76c099eda2.patch
+  71d41e0c9c286b4bed9cc6d5560a14268f9b1de9.patch
+  7979ac46cce36f21033f8ed03c8d0dd5fddde005.patch
+  8bf70144e40650ef972f005e2465bd0e2a087c40.patch
   CHANGES.txt
   conf/hadoop-metrics.properties
   conf/log4j.properties
   conf/regionservers
-  HBASE-14481.patch
-  HBASE-14532-v1.patch
-  HBASE-14739.patch
+  HBASE-13425-v1.patch
+  HBASE-13976.patch
+  HBASE-14823.patch
+  HBASE-14825-v4.patch
+  HBASE-14825-v6.patch
+  HBASE-14825.patch
+  HBASE-14825_misty_example.patch
+  HBASE-14830-v1.patch
+  HBASE-14967.patch
+  hbase-annotations/target/.plxarc
+  hbase-assembly/target/.plxarc
+  hbase-assembly/target/dependency-maven-plugin-markers/aopalliance-aopalliance-jar-1.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/asm-asm-jar-3.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.github.stephenc.findbugs-findbugs-annotations-jar-1.3.9-1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.google.code.findbugs-jsr305-jar-1.3.9.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.google.code.gson-gson-jar-2.2.4.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.google.guava-guava-jar-12.0.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.google.inject-guice-jar-3.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.google.inject.extensions-guice-servlet-jar-3.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.google.protobuf-protobuf-java-jar-2.5.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.jamesmurty.utils-java-xmlbuilder-jar-0.4.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.jcraft-jsch-jar-0.1.42.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.lmax-disruptor-jar-3.3.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.sun.jersey-jersey-client-jar-1.9.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.sun.jersey-jersey-core-jar-1.9.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.sun.jersey-jersey-json-jar-1.9.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.sun.jersey-jersey-server-jar-1.9.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.sun.jersey.contribs-jersey-guice-jar-1.9.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.sun.xml.bind-jaxb-impl-jar-2.2.3-1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.thoughtworks.paranamer-paranamer-jar-2.3.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/com.yammer.metrics-metrics-core-jar-2.2.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-beanutils-commons-beanutils-core-jar-1.8.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-beanutils-commons-beanutils-jar-1.7.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-cli-commons-cli-jar-1.2.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-codec-commons-codec-jar-1.9.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-collections-commons-collections-jar-3.2.2.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-configuration-commons-configuration-jar-1.6.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-daemon-commons-daemon-jar-1.0.13.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-digester-commons-digester-jar-1.8.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-el-commons-el-jar-1.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-httpclient-commons-httpclient-jar-3.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-io-commons-io-jar-2.4.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-lang-commons-lang-jar-2.6.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-logging-commons-logging-jar-1.2.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/commons-net-commons-net-jar-3.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/io.netty-netty-all-jar-4.0.30.Final.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/javax.activation-activation-jar-1.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/javax.inject-javax.inject-jar-1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/javax.servlet-servlet-api-jar-2.5.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/javax.xml.bind-jaxb-api-jar-2.2.2.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/jdk.tools-jdk.tools-jar-1.7.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/junit-junit-jar-4.12.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/log4j-log4j-jar-1.2.17.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/net.java.dev.jets3t-jets3t-jar-0.9.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.avro-avro-jar-1.7.4.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.commons-commons-compress-jar-1.4.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.commons-commons-math-jar-2.2.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.commons-commons-math3-jar-3.1.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.curator-curator-client-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.curator-curator-framework-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.curator-curator-recipes-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.directory.api-api-asn1-api-jar-1.0.0-M20.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.directory.api-api-util-jar-1.0.0-M20.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.directory.server-apacheds-i18n-jar-2.0.0-M15.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.directory.server-apacheds-kerberos-codec-jar-2.0.0-M15.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-annotations-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-auth-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-client-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-common-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-common-test-jar-tests-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-hdfs-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-hdfs-test-jar-tests-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-mapreduce-client-app-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-mapreduce-client-common-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-mapreduce-client-core-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-mapreduce-client-hs-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-mapreduce-client-jobclient-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-mapreduce-client-jobclient-test-jar-tests-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-mapreduce-client-shuffle-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-minicluster-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-yarn-api-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-yarn-client-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-yarn-common-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-yarn-server-applicationhistoryservice-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-yarn-server-common-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-yarn-server-nodemanager-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-yarn-server-resourcemanager-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-yarn-server-tests-test-jar-tests-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hadoop-hadoop-yarn-server-web-proxy-jar-2.7.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-annotations-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-annotations-test-jar-tests-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-client-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-common-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-common-test-jar-tests-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-external-blockcache-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-hadoop-compat-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-hadoop-compat-test-jar-tests-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-hadoop2-compat-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-hadoop2-compat-test-jar-tests-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-it-test-jar-tests-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-prefix-tree-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-procedure-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-protocol-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-resource-bundle-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-rest-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-server-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-server-test-jar-tests-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-shell-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-testing-util-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.hbase-hbase-thrift-jar-2.0.0-SNAPSHOT.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.htrace-htrace-core-jar-3.1.0-incubating.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.httpcomponents-httpclient-jar-4.2.5.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.httpcomponents-httpcore-jar-4.4.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.thrift-libthrift-jar-0.9.3.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.zookeeper-zookeeper-jar-3.4.6.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.apache.zookeeper-zookeeper-test-jar-tests-3.4.6.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.codehaus.jackson-jackson-core-asl-jar-1.9.13.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.codehaus.jackson-jackson-jaxrs-jar-1.9.13.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.codehaus.jackson-jackson-mapper-asl-jar-1.9.13.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.codehaus.jackson-jackson-xc-jar-1.9.13.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.codehaus.jettison-jettison-jar-1.3.3.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.fusesource.leveldbjni-leveldbjni-all-jar-1.8.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.hamcrest-hamcrest-core-jar-1.3.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.jamon-jamon-runtime-jar-2.4.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.jruby-jruby-complete-jar-1.6.8.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.jruby.jcodings-jcodings-jar-1.0.8.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.jruby.joni-joni-jar-2.1.2.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.mockito-mockito-all-jar-1.10.8.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.mortbay.jetty-jetty-jar-6.1.26.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.mortbay.jetty-jetty-sslengine-jar-6.1.26.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.mortbay.jetty-jetty-util-jar-6.1.26.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.mortbay.jetty-jsp-2.1-jar-6.1.14.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.mortbay.jetty-jsp-api-2.1-jar-6.1.14.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.mortbay.jetty-servlet-api-2.5-jar-6.1.14.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.slf4j-slf4j-api-jar-1.7.7.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.slf4j-slf4j-log4j12-jar-1.7.7.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.tukaani-xz-jar-1.0.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/org.xerial.snappy-snappy-java-jar-1.0.4.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/tomcat-jasper-compiler-jar-5.5.23.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/tomcat-jasper-runtime-jar-5.5.23.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/xerces-xercesImpl-jar-2.9.1.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/xml-apis-xml-apis-jar-1.3.04.marker
+  hbase-assembly/target/dependency-maven-plugin-markers/xmlenc-xmlenc-jar-0.52.marker
+  hbase-assembly/target/NOTICE.aggregate
+  hbase-checkstyle/target/.plxarc
+  hbase-client/target/.plxarc
+  hbase-common/target/.plxarc
+  hbase-common/target/antrun/build-main.xml
+  hbase-common/target/generated-sources/java/org/apache/hadoop/hbase/package-info.java
+  hbase-common/target/test-classes/mrapp-generated-classpath
+  hbase-examples/target/.plxarc
+  hbase-examples/target/test-classes/mrapp-generated-classpath
+  hbase-external-blockcache/target/.plxarc
+  hbase-external-blockcache/target/test-classes/mrapp-generated-classpath
+  hbase-hadoop-compat/target/.plxarc
+  hbase-hadoop2-compat/target/.plxarc
+  hbase-hadoop2-compat/target/test-classes/mrapp-generated-classpath
+  hbase-it/target/.plxarc
+  hbase-it/target/test-classes/mrapp-generated-classpath
+  hbase-prefix-tree/target/.plxarc
+  hbase-procedure/target/.plxarc
+  hbase-protocol/target/.plxarc
+  hbase-resource-bundle/target/.plxarc
+  hbase-resource-bundle/target/classes/META-INF/DEPENDENCIES
+  hbase-resource-bundle/target/classes/META-INF/maven/remote-resources.xml
+  hbase-resource-bundle/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
+  hbase-rest/target/.plxarc
+  hbase-rest/target/antrun/build-main.xml
+  hbase-rest/target/classes/hbase-webapps/rest/WEB-INF/web.xml
+  hbase-rest/target/generated-sources/java/org/apache/hadoop/hbase/generated/rest/rest_jsp.java
+  hbase-rest/target/hbase-webapps/rest/WEB-INF/web.xml
+  hbase-server/target/.plxarc
+  hbase-server/target/antrun/build-main.xml
+  hbase-server/target/classes/hbase-webapps/master/WEB-INF/web.xml
+  hbase-server/target/classes/hbase-webapps/regionserver/WEB-INF/web.xml
+  hbase-server/target/classes/hbase-webapps/static/fonts/glyphicons-halflings-regular.svg
+  hbase-server/target/classes/hbase-webapps/static/js/jquery.min.js
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/common/TaskMonitorTmpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/common/TaskMonitorTmplImpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/master/AssignmentManagerStatusTmpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/master/AssignmentManagerStatusTmplImpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/master/BackupMasterStatusTmpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/master/BackupMasterStatusTmplImpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmplImpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmplImpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheViewTmplImpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmplImpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmpl.java
+  hbase-server/target/generated-jamon/org/apache/hadoop/hbase/tmpl/regionserver/ServerMetricsTmplImpl.java
+  hbase-server/target/generated-sources/java/org/apache/hadoop/hbase/generated/master/master_jsp.java
+  hbase-server/target/generated-sources/java/org/apache/hadoop/hbase/generated/master/snapshot_jsp.java
+  hbase-server/target/generated-sources/java/org/apache/hadoop/hbase/generated/master/table_jsp.java
+  hbase-server/target/generated-sources/java/org/apache/hadoop/hbase/generated/master/tablesDetailed_jsp.java
+  hbase-server/target/generated-sources/java/org/apache/hadoop/hbase/generated/master/zk_jsp.java
+  hbase-server/target/generated-sources/java/org/apache/hadoop/hbase/generated/regionserver/region_jsp.java
+  hbase-server/target/generated-sources/java/org/apache/hadoop/hbase/generated/regionserver/regionserver_jsp.java
+  hbase-server/target/generated-sources/java/org/apache/hadoop/hbase/generated/regionserver/storeFile_jsp.java
+  hbase-server/target/hbase-webapps/master/WEB-INF/web.xml
+  hbase-server/target/hbase-webapps/regionserver/WEB-INF/web.xml
+  hbase-server/target/hbase-webapps/static/fonts/glyphicons-halflings-regular.svg
+  hbase-server/target/hbase-webapps/static/js/jquery.min.js
+  hbase-server/target/test-classes/mrapp-generated-classpath
+  hbase-shaded/hbase-shaded-client/target/.plxarc
+  hbase-shaded/hbase-shaded-server/target/.plxarc
+  hbase-shaded/target/.plxarc
+  hbase-shell/target/.plxarc
+  hbase-shell/target/test-classes/mrapp-generated-classpath
+  hbase-spark/target/.plxarc
+  hbase-spark/target/classes.-10589544.timestamp
+  hbase-spark/target/test-classes.-1777903286.timestamp
+  hbase-testing-util/target/.plxarc
+  hbase-thrift/target/.plxarc
+  hbase-thrift/target/antrun/build-main.xml
+  hbase-thrift/target/classes/hbase-webapps/static/fonts/glyphicons-halflings-regular.svg
+  hbase-thrift/target/classes/hbase-webapps/static/js/jquery.min.js
+  hbase-thrift/target/classes/hbase-webapps/thrift/WEB-INF/web.xml
+  hbase-thrift/target/generated-sources/java/org/apache/hadoop/hbase/generated/thrift/thrift_jsp.java
+  hbase-thrift/target/hbase-webapps/static/fonts/glyphicons-halflings-regular.svg
+  hbase-thrift/target/hbase-webapps/static/js/jquery.min.js
+  hbase-thrift/target/hbase-webapps/thrift/WEB-INF/web.xml
+  hbase-thrift/target/test-classes/mrapp-generated-classpath
   src/main/avro/hbase.avpr
   src/main/java/org/apache/hadoop/hbase/protobuf/generated/ErrorHandlingProtos.java
   src/main/java/org/apache/hadoop/hbase/protobuf/generated/HBaseProtos.java
@@ -463,6 +623,11 @@ Unapproved licenses:
   src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
   src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java
   src/packages/deb/hbase.control/conffile
+  src/site/asciidoc/asciidoctor.css
+  src/site/asciidoc/images/big_h_logo.svg
+  src/site/asciidoc/images/hbase_logo.svg
+  src/site/asciidoc/templates/section.html.slim
+  src/site/asciidoc/templates/toc.html.slim
   src/site/resources/css/freebsd_docbook.css
   src/site/resources/images/big_h_logo.svg
   src/site/resources/images/hbase_logo.svg
@@ -471,6 +636,114 @@ Unapproved licenses:
 
 Archives:
 
+ + file1.zip
+ 
+ + hbase-annotations/target/hbase-annotations-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-annotations/target/hbase-annotations-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-checkstyle/target/hbase-checkstyle-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-checkstyle/target/hbase-checkstyle-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-client/target/hbase-client-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-client/target/hbase-client-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-client/target/hbase-client-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-common/target/hbase-common-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-common/target/hbase-common-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-common/target/hbase-common-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-examples/target/hbase-examples-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-examples/target/hbase-examples-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-examples/target/hbase-examples-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-external-blockcache/target/hbase-external-blockcache-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-external-blockcache/target/hbase-external-blockcache-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-external-blockcache/target/hbase-external-blockcache-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-hadoop-compat/target/hbase-hadoop-compat-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-hadoop-compat/target/hbase-hadoop-compat-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-hadoop-compat/target/hbase-hadoop-compat-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-hadoop2-compat/target/hbase-hadoop2-compat-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-hadoop2-compat/target/hbase-hadoop2-compat-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-hadoop2-compat/target/hbase-hadoop2-compat-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-it/target/hbase-it-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-it/target/hbase-it-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-prefix-tree/target/hbase-prefix-tree-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-prefix-tree/target/hbase-prefix-tree-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-prefix-tree/target/hbase-prefix-tree-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-procedure/target/hbase-procedure-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-procedure/target/hbase-procedure-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-procedure/target/hbase-procedure-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-protocol/target/hbase-protocol-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-protocol/target/hbase-protocol-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-protocol/target/hbase-protocol-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-resource-bundle/target/hbase-resource-bundle-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-rest/target/hbase-rest-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-rest/target/hbase-rest-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-rest/target/hbase-rest-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-server/target/hbase-server-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-server/target/hbase-server-2.0.0-SNAPSHOT-test-sources.jar
+ 
+ + hbase-server/target/hbase-server-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-server/target/hbase-server-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-shaded/hbase-shaded-client/target/hbase-shaded-client-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-shaded/hbase-shaded-server/target/hbase-shaded-server-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-shell/target/hbase-shell-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-shell/target/hbase-shell-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-shell/target/hbase-shell-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-spark/target/hbase-spark-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-spark/target/hbase-spark-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-testing-util/target/hbase-testing-util-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-testing-util/target/hbase-testing-util-2.0.0-SNAPSHOT.jar
+ 
+ + hbase-thrift/target/hbase-thrift-2.0.0-SNAPSHOT-sources.jar
+ 
+ + hbase-thrift/target/hbase-thrift-2.0.0-SNAPSHOT-tests.jar
+ 
+ + hbase-thrift/target/hbase-thrift-2.0.0-SNAPSHOT.jar
+ 
 *****************************************************
   Files with Apache License headers will be marked AL
   Binary files (which do not require AL headers) will be marked B
@@ -499,14 +772,14 @@ Archives:
  !????? .git/logs/refs/heads/0.94
  !????? .git/logs/refs/heads/0.98
  !????? .git/logs/refs/heads/asciidoc_site_theme
+ !????? .git/logs/refs/heads/asciidoctor_site
+ !????? .git/logs/refs/heads/asf-site
  !????? .git/logs/refs/heads/branch-1
- !????? .git/logs/refs/heads/broken_link
+ !????? .git/logs/refs/heads/chunked_guide
  !????? .git/logs/refs/heads/declutter_svn_commits
  !????? .git/logs/refs/heads/docs-maven-skin
- !????? .git/logs/refs/heads/fix_html_warnings
- !????? .git/logs/refs/heads/fix_javadocs
- !????? .git/logs/refs/heads/fluido_skin
  !????? .git/logs/refs/heads/gh-pages
+ !????? .git/logs/refs/heads/hadoop_search
  !????? .git/logs/refs/heads/hbase-11339
  !????? .git/logs/refs/heads/HBASE-12256
  !????? .git/logs/refs/heads/HBASE-12466
@@ -538,16 +811,19 @@ Archives:
  !????? .git/logs/refs/heads/HBASE-14640_cascading
  !????? .git/logs/refs/heads/HBASE-14641_jdo
  !????? .git/logs/refs/heads/HBASE-14652
+ !????? .git/logs/refs/heads/HBASE-14751
+ !????? .git/logs/refs/heads/HBASE-14762
+ !????? .git/logs/refs/heads/HBASE-14823
+ !????? .git/logs/refs/heads/HBASE-14967
+ !????? .git/logs/refs/heads/jbake
  !????? .git/logs/refs/heads/jython
  !????? .git/logs/refs/heads/master
  !????? .git/logs/refs/heads/mixed_content
- !????? .git/logs/refs/heads/other-fluid-skin
- !????? .git/logs/refs/heads/powered_by
  !????? .git/logs/refs/heads/ref_guide_2
- !????? .git/logs/refs/heads/reflow
- !????? .git/logs/refs/heads/reflow_config
- !????? .git/logs/refs/heads/stargate
+ !????? .git/logs/refs/heads/smart_patch
  !????? .git/logs/refs/heads/test_patch
+ !????? .git/logs/refs/heads/try_asciidoc_site
+ !????? .git/logs/refs/heads/xdoc_to_asciidoc
  !????? .git/logs/refs/remotes/misty/0.1
  !????? .git/logs/refs/remotes/misty/0.18
  !????? .git/logs/refs/remotes/misty/0.19
@@ -600,6 +876,7 @@ Archives:
  !????? .git/logs/refs/remotes/origin/0.94
  !????? .git/logs/refs/remotes/origin/0.98
  !????? .git/logs/refs/remotes/origin/1.0
+ !????? .git/logs/refs/remotes/origin/asf-site
  !????? .git/logs/refs/remotes/origin/branch-1
  !????? .git/logs/refs/remotes/origin/branch-1.0
  !????? .git/logs/refs/remotes/origin/branch-1.1
@@ -619,6702 +896,90 @@ Archives:
  !????? .git/logs/refs/remotes/origin/maser
  !????? .git/logs/refs/remotes/origin/master
  !????? .git/logs/refs/stash
-  B     .git/objects/00/00b685cad4eab5c2d6f46a5358eb1f9ce9b84d
-  B     .git/objects/00/05748979c2d2619075e76fe8c186644b9e9ba0
-  B     .git/objects/00/0a121c045e6250249870b97a605c168b034fc3
-  B     .git/objects/00/0ab0b792a5636d4689783172201ff7eacf57eb
-  B     .git/objects/00/146d895e35bbc4c35d532b4788376b1e2bd2cb
-  B     .git/objects/00/26f1af85e1eb43491660bcd6546c181a997db0
-  B     .git/objects/00/2dd48b186ccf785b7301e50e43ab737e928d44
-  B     .git/objects/00/40e45d4a78d1b81e9ac7569f691a597fb6792c
-  B     .git/objects/00/49b4c930c4dc7ae853b023926ca5ec9e0768af
-  B     .git/objects/00/5040694d421d461afde4a7c512dba27fad4692
-  B     .git/objects/00/519617aacd9206acaea407929790ce86bf20bd
-  B     .git/objects/00/55b7026af0e9338b22f27f65a7162bc02fb178
-  B     .git/objects/00/560442dd729be471f9ad5fdb71376957ad965a
-  B     .git/objects/00/5df272dc5abbd3dfe800f75072dae97e85c5c5
-  B     .git/objects/00/692893926ea87830333b93748cab890ddd3e53
-  B     .git/objects/00/7e4dfa1384f9746174442a01f512a5744a83da
-  B     .git/objects/00/8008bd2394afa5c57c42c3dfbd89483a608b5b
-  B     .git/objects/00/89b174a25f41585261f86c6c31c113f8fddc55
-  B     .git/objects/00/8d15df36ec2fa24be096b5a22abee974cc5c9c
-  B     .git/objects/00/9d2ff59ca617a9691a1e309219cf4b5ae9f273
-  B     .git/objects/00/c02d2191c38002a43215bb3f24e6b9ea6da1a0
-  B     .git/objects/00/d44697e742766ac7f84d9208e177ec3974f8db
-  B     .git/objects/00/d8c8eef43c9c6b5e918e1fa11ec2bbf4384155
-  B     .git/objects/00/dcd07832f21a172c5981dc443556a65b822f56
-  B     .git/objects/00/dd738df98cb004cb99f103e8c247fd8642da50
-  B     .git/objects/00/edb092cb917ad68b81b550c4b5028239c25b8e
-  B     .git/objects/00/f1d8efdfc1a02ad97fe3454ff65aa85a88047e
-  B     .git/objects/00/f3972561a1415f7c6a7c4465855b7595cfa948
-  B     .git/objects/00/fd63b19176811300bc9109aabdc76dd2da918d
-  B     .git/objects/01/06bd143a510513bba8b0aea4579a4b8a34fe87
-  B     .git/objects/01/190e7b022f8b7b61964fe89b869fdfaa1ae113
-  B     .git/objects/01/1de5e3cc7e44426faed1731464281da5b0d7fb
-  B     .git/objects/01/293898f9f4bbbbf790810af6b91870c2da3302
-  B     .git/objects/01/2e9d878529000ed41112e74b710a5801045a77
-  B     .git/objects/01/3bdff400d0abc908ffe74ac1772ecc32b0d926
-  B     .git/objects/01/4081acb0505df276ce625e96da01b6170ccb4b
-  B     .git/objects/01/416986582e0804386ad1dc920211d2b8fe4de2
-  B     .git/objects/01/42f0347aaa814d2ce2b95e2092009b0658f045
-  B     .git/objects/01/4c3cd316e8f013c4974c00fd7a341d48d8f90e
-  B     .git/objects/01/584fb98850d8514a62a2a7cb8af3c5401064ce
-  B     .git/objects/01/646820e8d0e2ff116a4ac62644841cb270e32b
-  B     .git/objects/01/66f823c34e8de598234d64a76e6cd0a8acd239
-  B     .git/objects/01/688ca330bab8ea2e7fc8ab6213d1a17cef8ef4
-  B     .git/objects/01/71f75a5f297f6e283787191a974a14dc896bf4
-  B     .git/objects/01/81a2ffbbed667e19a05c61359a03291b333f2b
-  B     .git/objects/01/8cbe9637ce39eac8e51775bdcadd906036afa1
-  B     .git/objects/01/8d384f860ef10a0a2625c11a8d567ca0c58177
-  B     .git/objects/01/912c2d01ac2721a8e33fc78f91a4c5bd64d46e
-  B     .git/objects/01/96642635d71771a7d091fa6caa1ba277511ace
-  B     .git/objects/01/aa76544352aedee47c0e4c11056452a75f788a
-  B     .git/objects/01/cd0f193d3621aaf80447f04a1b78e2384809aa
-  B     .git/objects/01/e7bd05b4941527d6af917af59b7d6e7f19e6d6
-  B     .git/objects/01/edb8c0c7ade2393e75fd38ae6eb1062e439482
-  B     .git/objects/01/fb0348a16a63ee1726694c4651144c1c7ff232
-  B     .git/objects/02/011c010b980f319f5fa89250b758872dedce0c
-  B     .git/objects/02/05ed1b38b3f09083f957016dc73af38c464baa
-  B     .git/objects/02/1ad847ae7cf1ba0e6e64e72550acfd96e5a517
-  B     .git/objects/02/1bd3b26d32116388e9b458e49ce5a804a695d8
-  B     .git/objects/02/1f626f579b3491efe2b24251d945521b36cf19
-  B     .git/objects/02/2416c921ff36254f1a6aad0ae506e9bb40ac9a
-  B     .git/objects/02/2433c3cf21f400722e44d7f4d73c512db27bd1
-  B     .git/objects/02/24b5a56b980281d3d2ee2249b628e1e149c459
-  B     .git/objects/02/2b65d30b2dab28cda2f0200880f9179b4db3ec
-  B     .git/objects/02/34769a164e0bc8cfa15a6e36c929e712decab4
-  B     .git/objects/02/3d7e30515b2a9d4962c839a4881907baf6ef7e
-  B     .git/objects/02/40f55b11ea460a310e8b1e97e687c2a4e01f0d
-  B     .git/objects/02/4a06b7eb1efb0b126318117b7dcd5fb396bc2f
-  B     .git/objects/02/4b2462563460db0aafed53968dbb8cbfe5bdbc
-  B     .git/objects/02/52cc862fb8397c4ad3e75788de47afa40aeaec
-  B     .git/objects/02/58149151156910ce3aec14bfba7cad6436663d
-  B     .git/objects/02/7529f79ce41919619e1a1792f09294e0bdd9a9
-  B     .git/objects/02/77a65fb1bcc1a4a5dddab89b5aaeeb90f12191
-  B     .git/objects/02/7b9a1ebd381f69ce0f47a96296e6a72d5171c6
-  B     .git/objects/02/86f8a2f673417c4b377a3efa763c2c9e7755ea
-  B     .git/objects/02/8e294f1f8044f3dddfd13fd6043ff2d9ca5158
-  B     .git/objects/02/932f22df6dd8872e5491e0aba7772081886bbc
-  B     .git/objects/02/93b427273fb870d7e4cf0932d2cd5cff9fcb50
-  B     .git/objects/02/9a058726d2cc6c463206ba97b72d6cd410b10a
-  B     .git/objects/02/9de723f45480b4b4c3a03077ee9fa718779b0f
-  B     .git/objects/02/a99edce1f26d77e800db3608e791890eed6f6c
-  B     .git/objects/02/aa861d5a388bc7b81a8584df479699b82ef703
-  B     .git/objects/02/adaaf3457eee1c3fe0101a67462c4f9bdd1535
-  B     .git/objects/02/c905111dba82e32250095b4af860adf133c443
-  B     .git/objects/02/ca8032a186fa71c28eedea148d16ca1dabde74
-  B     .git/objects/02/d833b8e4508e6ad9636cbb689268fbe25c93ea
-  B     .git/objects/02/dc7c58f0b750fa1a9120dd9f899103a13e0c22
-  B     .git/objects/02/de350429e8190a288c7258044988eb2ac80306
-  B     .git/objects/02/e2ee491913be6975531181d30542b79a304878
-  B     .git/objects/02/f46f4d0e506a0219a358eaaee7d05242f5bce1
-  B     .git/objects/02/f80c1996a7180e31807cec90681564f56478f8
-  B     .git/objects/03/0c25e811862f7f506b2dfbb6132c7f52be9f2c
-  B     .git/objects/03/1a06a59beb005173b24c655da0da9eccf45fe6
-  B     .git/objects/03/1bd457faaf0f3780d77b7952c0551d7f0aa14f
-  B     .git/objects/03/2556c44abebb22e5b653302535a749b2d110bf
-  B     .git/objects/03/2717e3e64fd00b7e130d8c5f469aaa8c86196d
-  B     .git/objects/03/28e9268a5f1415f1fd325d682a9a62949afc4f
-  B     .git/objects/03/398bf029c906fe73e3d4e9912d8c79cd82e621
-  B     .git/objects/03/4ea23fc3f7fd456f9cfecb73b2038709865c8f
-  B     .git/objects/03/7997f04ccc3aca21c3f74af7b54bb8d5b0a528
-  B     .git/objects/03/7b3998f2dbcdd2af4880aa6a21b66d0fd9266c
-  B     .git/objects/03/838a3abbdedcd72f027efb7c14afbebaa657f3
-  B     .git/objects/03/85849205b3d2133a97965b6cadc02568bdc643
-  B     .git/objects/03/85c72547f95e8b2e5f0656bba50d0a4a15d9d7
-  B     .git/objects/03/a4945f242da6f7c6e34dcb98b51b8f6358d407
-  B     .git/objects/03/aa059e304b24b9605aa02f94bc89cbb0d4f554
-  B     .git/objects/03/c1a697fc4022588a67303565a90f285167e0c6
-  B     .git/objects/03/c2b9cc82cae11c6956ea88d38f379f8b6ed54b
-  B     .git/objects/03/d46840f0168db4c93d9509eabedce5edcd37cc
-  B     .git/objects/03/d83cbd28fedbc1808662e04ef435ef5f33b50f
-  B     .git/objects/03/e25afb9b9601db1c7d98961b38eab99edfe866
-  B     .git/objects/03/e7aa9dec009a0d1a306812b6b0cb78c2ecfd8d
-  B     .git/objects/03/f198eee954885118c186dd88093522cf9418e6
-  B     .git/objects/03/f37ccff90b7cd94da06ff9d5fa182ce7f9bcdd
-  B     .git/objects/03/f773c34f50c52f289d7aa4fc2b9881761ba04f
-  B     .git/objects/03/fe9dd508fe6d26d5e0be645b6f6cb51f727e67
-  B     .git/objects/04/0146dc2d360293c7827d1df35880d806074040
-  B     .git/objects/04/0f23dec0f0b091fbcf572643618f6c87d553b3
-  B     .git/objects/04/1bdc7a34593816b5587c6d33ef8d5b9a09ebc3
-  B     .git/objects/04/2a0d744bce668befe708be99cb314283b5dcd6
-  B     .git/objects/04/5786d1e39cfb8bfe693e17b519c5e83dac0ad2
-  B     .git/objects/04/7e86a86ee07512bb913390b4ea02cd93dd65fc
-  B     .git/objects/04/80ec6a729c81b45e0b73b5d2df4e7c69cbc50e
-  B     .git/objects/04/86601990972d7fade2daf9c0c1281d2b97adc7
-  B     .git/objects/04/90757f3078144f93c4ac495361d0eb8153e28f
-  B     .git/objects/04/95faec919bfce71f07265af50b936fb3a3f51c
-  B     .git/objects/04/a47f6325bd50b067166284a5ecceefdcd19cca
-  B     .git/objects/04/ae0387c74ec2e04bc24b22c1b9b98d3583d90e
-  B     .git/objects/04/bae94fad2c1b48437fe0251e078759f09a6808
-  B     .git/objects/04/ce4a381592ceae1b92c90e19872023f8d3ff17
-  B     .git/objects/04/dcf56235b4a3da1f2c2423785a25599277d708
-  B     .git/objects/04/e1172c7c54a1faf61ab9e3b334ecb54a80bc5c
-  B     .git/objects/05/134a04f6a7eeb9a391e8a68693565b77070a4b
-  B     .git/objects/05/20c2e1a9f054caa8efcd5f187218068522384b
-  B     .git/objects/05/280b744c680b6d9068d512f4f74361496ff439
-  B     .git/objects/05/37287cbdbb218dc7584c433ffe26e61c55ddd2
-  B     .git/objects/05/4401762843d6645e6e6e4c90c1b3dd99e15f28
-  B     .git/objects/05/498129f0c4587f4fe6b012d22e9850018fa486
-  B     .git/objects/05/5e7e286adcc989b97d4a45eb7f3765eac90981
-  B     .git/objects/05/6022901c3de476c8537aa68aff0156acbac0aa
-  B     .git/objects/05/757fa0aae8e529b02e07d52b2ba2376a04e8b9
-  B     .git/objects/05/905211bba924a73ccf4a5a3a75b7a44b2617ce
-  B     .git/objects/05/935d0f58422398d327c0412fa10495fd387f68
-  B     .git/objects/05/ae1fefb7ade1936bf614c4e151f31aa8eb17af
-  B     .git/objects/05/be24f8f4822ec12a11dd49171e3715792ff089
-  B     .git/objects/05/c10b67dd78856104fb55e3add8db75d720275b
-  B     .git/objects/05/d486ad82d5ac3358f8e20b6465e84244a6f307
-  B     .git/objects/05/d49f0363ea64f83f2553c9c57767390cebc665
-  B     .git/objects/05/db1f3121e177922f05b14c1bbec492a52ec32e
-  B     .git/objects/05/f2f485553d771722e762acb63a1a941cae047f
-  B     .git/objects/05/f3dd88318e331af2d542fc4809c5b8cd1916b4
-  B     .git/objects/06/0abb8d9f1b43789fc7af53ac797cccc0097167
-  B     .git/objects/06/1587b561469a9d84e72c4e410ce93723306b0d
-  B     .git/objects/06/28a908ee9b9ec30d813edc7551e7c2c88a5422
-  B     .git/objects/06/49d08d54b24b1ee9238c415da3baff3b9d9ddd
-  B     .git/objects/06/4cfa7b2efee485094994c2c66f5b8628cc9f5f
-  B     .git/objects/06/50bdf7f96e50e3f8a387d3735e5bed65a27016
-  B     .git/objects/06/5d2089d9294c71746a0ed4c2b139ef7f2125db
-  B     .git/objects/06/5ee2d60a20bcf3829a35f796824cea79da514d
-  B     .git/objects/06/6d330d508a5fdcd3df8cc07e8ee07689b46022
-  B     .git/objects/06/6d6f7911edd0c44fb6e695b3d5644bdb46f9a7
-  B     .git/objects/06/79c5c151c0e6211403648fd92c4f6a4a9a9cf5
-  B     .git/objects/06/7a83161be43c22c5faf8f9b3c416384b935c3b
-  B     .git/objects/06/9022351d15a27e6cea16c2c6ce105d906da6d5
-  B     .git/objects/06/92961c3f4112a223043aaf2c82b243dd670ed1
-  B     .git/objects/06/930d1b423cf69c687e09ea33c54ba99df21e4d
-  B     .git/objects/06/9b22ef1de54cd7ab2f4dbf39582ad694d755a0
-  B     .git/objects/06/9ea9721d05adde0845a8d679e5c0ca21d065ef
-  B     .git/objects/06/b3ff0efa4eacc0e8836f5132d9b8690e9379a0
-  B     .git/objects/06/c9d1996526041a555a8f671503bcd923c07548
-  B     .git/objects/06/f35f5ab4a76bf5684602f889569c5259222784
-  B     .git/objects/07/1b34f2c806896368b5b029ecc2c144e4aa2c41
-  B     .git/objects/07/1bb21cb46dff8955db96cc2683d46108839439
-  B     .git/objects/07/1f2bb39ce62dbc9764c4f5c96e1469f3877f45
-  B     .git/objects/07/2f0c4074b1c4285c5e359a13b5b438f1322d94
-  B     .git/objects/07/3182531d8d4a01e3057ea099bea5a33189a96f
-  B     .git/objects/07/4d512fa67f7a00d2fd3771d56c383d9c7da299
-  B     .git/objects/07/5e411c48cefbb71775229f4867751c375f710d
-  B     .git/objects/07/5f8e3a5933f5be09db2d1c4cf7080d6c1e372c
-  B     .git/objects/07/704b4fc71db4c439f3c15ed787b50804c4aa81
-  B     .git/objects/07/7720cf9fe5053b2e4614ba78c52e5fca8fe5db
-  B     .git/objects/07/7a0769f11b84fb3f8342cf5c47f2e6197e37f9
-  B     .git/objects/07/7b8eefe85b8a6ccb84890970b53780694cb3fc
-  B     .git/objects/07/7f4c26f9fa6eafd05a5dedf8621710386c1655
-  B     .git/objects/07/92ad3e3fa29f444af01b9a58da949fd1516af4
-  B     .git/objects/07/a81175625e84bf25041f58b93486c827aa3572
-  B     .git/objects/07/b12f704f5ab2a0ab4d5662ead7757b85ee20cd
-  B     .git/objects/07/ba3e8db7235c14c29dbabcd991542e5b3ab05a
-  B     .git/objects/07/cba569836215f4fa14e957d437492e718ed6d5
-  B     .git/objects/07/cc26032762666db2978041c5fb58378523d8dd
-  B     .git/objects/07/d5d58f8f744abc538194d05fd21fae613183d4
-  B     .git/objects/07/da5314bd318b2937526aafa7b763d460a1a55a
-  B     .git/objects/07/e965db117cec54f936f07107f9a4bbf5b4a3dd
-  B     .git/objects/07/f0cab8cc643f0c6371be43239e5c9388b063e3
-  B     .git/objects/07/fc95341a60cc16feceea6230294677ffc7c7a0
-  B     .git/objects/07/ffb08095e02cad2cb55bb70a42ecab8ebf1722
-  B     .git/objects/08/01baf843accd9a060314084e11d4883b131a0b
-  B     .git/objects/08/194446044a0e0222b7d1390561e91844ae6620
-  B     .git/objects/08/33a43017442c5f9a5c8c670dfdbe35c1895008
-  B     .git/objects/08/365ac84d29be71b6b8f4481cdbbcae54a36033
-  B     .git/objects/08/427e0ad3387fffce1399f77852dec91fead3a3
-  B     .git/objects/08/451645176c4a5f38a8fcda442cabe49c065441
-  B     .git/objects/08/499dd4ea0a95862f69f18dd4003a9282c4f4f1
-  B     .git/objects/08/7a4053d788b3a22ffcbdf7f21b5b61bd526d00
-  B     .git/objects/08/7fa1b183dc62cfc78b2d9abe7f1f0a58be0177
-  B     .git/objects/08/8287c0a9fff7ab479a75104439cc677e7c0a4a
-  B     .git/objects/08/834a83a4108b9efe11a2dd8113bb9b9168f06c
-  B     .git/objects/08/87b1d85a4156beedf0a67aef37520c6de7c0ef
-  B     .git/objects/08/bafdc3f4bb98bc7a4165028361c1b1f93bc2e8
-  B     .git/objects/08/c339ffcefee6be7a521ad1b8c7dec72d40f06c
-  B     .git/objects/08/c5ee92fb37d7c51bf39670f94821aba4bc0315
-  B     .git/objects/08/d7e47f6bd886a5273ef5ac0db18aad1679b577
-  B     .git/objects/08/ec4eb06fdac49015502401d5a344389e3b16c1
-  B     .git/objects/08/fb109107a0ca275bb46d92c4f6335996e47f4c
-  B     .git/objects/08/ff1d8f3ad3f19dd2d301f641097fd9324df371
-  B     .git/objects/09/03422984fe31a5ed6855938287eb53a92fa589
-  B     .git/objects/09/11fc3c25f50050599ac778e646888539279385
-  B     .git/objects/09/1259fea833c947766d171226461011a7869315
-  B     .git/objects/09/2ad6e2ee1a9feeb9575cd5477b4c8e5ca9c740
-  B     .git/objects/09/2e089f37de5809028eecb4a5eca15b2e9bcbc4
-  B     .git/objects/09/2f8b8ad7d4bf5d74142c3acbd80d7a8ebd8ebc
-  B     .git/objects/09/37ad8cb7b5ac380f6ae4967d239eebf0240a2a
-  B     .git/objects/09/3a181ada21ef6ae3603f7548000a9ce779d786
-  B     .git/objects/09/414226f261e5d2857641f2c4a08353e6645725
-  B     .git/objects/09/4b5e8b190a9bd9f26d5ffd16402221fbd35225
-  B     .git/objects/09/6b0dce9e78a839add04c7ab3bbdc148b4c7c8d
-  B     .git/objects/09/72ff7c914e129458ba8d845b6dff15679c1a31
-  B     .git/objects/09/839d2766ea94f966a99c4490562b06ad56f201
-  B     .git/objects/09/8962d210092107552f24f7d47028cb9944ddc7
-  B     .git/objects/09/8ff4f22849410a748878d811b0b13f9559868f
-  B     .git/objects/09/9205249452a1bf2569245cf7d4bb0311c21c39
-  B     .git/objects/09/a0e786fc9daaad2933efbb57193803537e711e
-  B     .git/objects/09/ac3f285aff051ba522c61c5c71270e1f148cde
-  B     .git/objects/09/ad761e7627298c140f595e76861755d00cf218
-  B     .git/objects/09/b12066a4f15e5187292841d3990f39ad64c925
-  B     .git/objects/09/b87be3d4068844ba00ab84f9de382fb3e0c7a9
-  B     .git/objects/09/b9f14527a4d72ace351bd8d3d95190f7a80b9e
-  B     .git/objects/09/cdadbdfdfccd78c68a767ecd7b5bb8bc10a6ce
-  B     .git/objects/09/d0280dbf645d329e5e133c8f01eb4dfa608fe7
-  B     .git/objects/09/d28f20479a7425b9f20ec72debd3e920215dbc
-  B     .git/objects/09/dd2bf6e3b679d3d72dd16ba18ac9951fe27ec9
-  B     .git/objects/09/e98193b2cfa3720b8e6045a9d10c309605cc36
-  B     .git/objects/09/ef44594598b7cfa2bf8932a27a72ae839ffe1c
-  B     .git/objects/09/f096e8683e47bb7b211993adc104a6fb032dd7
-  B     .git/objects/09/f3532221ff0c5410818a9d6316ea5aa0d2fde6
-  B     .git/objects/09/f69786f94d93256f08aad3c52b5560c6eb5f24
-  B     .git/objects/0a/06301ced91b2e3a0a6062db8afe502b3fc509b
-  B     .git/objects/0a/064f6aa0218535758cba1c366dacb59fb3280b
-  B     .git/objects/0a/080ae0db58a422382c5646d66d29b79b08c6b9
-  B     .git/objects/0a/0c9fecc5654cd65eaceb1a0ffc103bb03c38fa
-  B     .git/objects/0a/25bccc6b7460510434cbb03a03056a4fdf76be
-  B     .git/objects/0a/2f9f01af7d05ab88677d844f791024b0f476b7
-  B     .git/objects/0a/35539dba4bc5c0671a27e8c1458c26e7e09d03
-  B     .git/objects/0a/58dec7288f44db145e79720e975d88a2801b38
-  B     .git/objects/0a/74dee238d26d093cb855f570a09bc3d718c581
-  B     .git/objects/0a/7eea7194041eaa04084903a6d6971c6f58e868
-  B     .git/objects/0a/80e585ad84c1df3e983121246ac7c4cedd456d
-  B     .git/objects/0a/8d406f48f9f00baebc3b7ff4796c5bbe61a460
-  B     .git/objects/0a/9bc1b80726d272f0bc1413573b2846863f3efd
-  B     .git/objects/0a/abff92cd952b27b4ccabf707f67b0d6eedd824
-  B     .git/objects/0a/af92218fdce497170efd6aac311a722da8cfaf
-  B     .git/objects/0a/b443a2038cfbe6edd9138db5045850dcb7d3e3
-  B     .git/objects/0a/b70638cde3190c695603ba0fe34b7a75282a4a
-  B     .git/objects/0a/b8f07a5dcab6d6ce0a7384af1cbadbe5f3d0d0
-  B     .git/objects/0a/c5b0189b4c770f7ebbc38e0ef7b621d87dd5e2
-  B     .git/objects/0a/c695b4694dce63c3c4881d5c7a47e39cd9ffc0
-  B     .git/objects/0a/c707cede03fa05419c85e4127208a2f88685a8
-  B     .git/objects/0a/c830cbe90dfe2be4350757e5496beca1002fb1
-  B     .git/objects/0b/119c73c91dcedbdd2df4f85eb4213430b4a3da
-  B     .git/objects/0b/162d6bc42d085af415217cb28fcca5feeb2dce
-  B     .git/objects/0b/16a9e14869ca83eee2a480e8f2b4659f3ebcad
-  B     .git/objects/0b/1a60483f2c6442cf94553b907f50148669dcca
-  B     .git/objects/0b/1cb6e22f4cddb955f5f3ae4d500ac268562fa3
-  B     .git/objects/0b/22e3a26c784e00fc8b5daad32d27ebddbc7a84
-  B     .git/objects/0b/29f4958506a6ffed86c17a3c09dafd41abc05c
-  B     .git/objects/0b/2d98e67e370f81a1ff17e5b049315465529195
-  B     .git/objects/0b/3724bfc4b38b87967ec005bf2009be1cc815a0
-  B     .git/objects/0b/54b95c1b75609cc3c5066a26c062e9a387a320
-  B     .git/objects/0b/60e4dd719f0938defd0d0a1dab65fb551f0092
-  B     .git/objects/0b/61fca1e5c31bf03ea1937fe07f9c81b1d42094
-  B     .git/objects/0b/6b9d6659750e08a54303e46d45bf44010df63f
-  B     .git/objects/0b/92354ec0d91b1d2cc56d72739e7f203304199f
-  B     .git/objects/0b/93307aa12827e596464ec06228e96725a6ca44
-  B     .git/objects/0b/97e31ed9828f1b0aa8a183160628aee0ad9578
-  B     .git/objects/0b/9d07d304d27bf14a8d217d359d7854810669ca
-  B     .git/objects/0b/a03fda374e88b014ee86d3208311a4cd77e809
-  B     .git/objects/0b/bb707b1f9cf640fd55dcc565851c3890101468
-  B     .git/objects/0b/bd57d15373e49c6d45609b70f1c1f0c6fa6444
-  B     .git/objects/0b/bd976de2deecc3a04b3a3cda0f9ad90cc07423
-  B     .git/objects/0b/be5540f296326ade71b022ef3e01d9d62300a7
-  B     .git/objects/0b/da48259d850225077af845f350a1637911d238
-  B     .git/objects/0b/f800f812ad632eb214eff347cd03f24ad3863f
-  B     .git/objects/0b/fe4a26797248486957edcf2f08531a90b2d722
-  B     .git/objects/0c/0533c31f7b8c47ea171fc0b7f00d6989c53389
-  B     .git/objects/0c/0ce088651a6214bdf17a2e95a102f58fa0b51c
-  B     .git/objects/0c/10591da3b0a491c8b039540edd7da36dfba337
-  B     .git/objects/0c/119dcf5442b663558be492357eeb1736d32784
-  B     .git/objects/0c/1b4a67e0aa8561a0bd60c33c7c1eb0eb80560e
-  B     .git/objects/0c/1cf67ced69feac3319d0fafda7965b166a08ab
-  B     .git/objects/0c/2e2abdcb2caa9b6921fc6c54ea9aba8393819e
-  B     .git/objects/0c/35446027e35b5f97690bcd7ac9921a983de8ce
-  B     .git/objects/0c/3ea087243c518eb24cbead39599f17df7c5a0a
-  B     .git/objects/0c/4a28317c010d36add91d24549cae134db655c5
-  B     .git/objects/0c/4c9b90b2751328b77967d86f27014dff253374
-  B     .git/objects/0c/4d272762048baa75f886da740c98af9da787d7
-  B     .git/objects/0c/52f7b72170bf6621bf4afe4703e6385aeae794
-  B     .git/objects/0c/6439e24c209cf44e183877f2d2b0391c9105dc
-  B     .git/objects/0c/68fc1d171f89998a68b0a588017c2523aa67c1
-  B     .git/objects/0c/6c81d1a31401cca56bdadb264c4d280d3dde3c
-  B     .git/objects/0c/72ee7d63add3f3bf44c9516d6c6d16c21e6797
-  B     .git/objects/0c/736cebab5d38f5cb6bee61f47b99c5c815af14
-  B     .git/objects/0c/786ecd7399273c39a39f0b2e94ade4f9edca7b
-  B     .git/objects/0c/a5d5be918bc4b6ae24bdea0683b91deb675b3c
-  B     .git/objects/0c/a69f972d788c584384526b38f9ced11d9bd51a
-  B     .git/objects/0c/a78edbbd542c731eefdb5f614b137caf509915
-  B     .git/objects/0c/aa54474abba0c8ae3b70d544deccc10e94085e
-  B     .git/objects/0c/b6b7ef1f395166a8cbd1028b08c046b4250bb0
-  B     .git/objects/0c/bf0e1501e0f89382341cbbf2286e114a8cb354
-  B     .git/objects/0c/dd707db30d78320b49e46dee1f74d2cfc4576a
-  B     .git/objects/0c/e87fa13894e12c391846e50e3d67cc873c5cba
-  B     .git/objects/0c/f27d5fe83b38ab29b132b52003b72b9ae38105
-  B     .git/objects/0c/f28d5d0a3e4fff0860f0bf25deb2292af905ce
-  B     .git/objects/0d/0450f33796fcebbb3540de61964c8b06024c9d
-  B     .git/objects/0d/04dd53f497f49d1ee1840d1a2bbf251bafbeee
-  B     .git/objects/0d/206cb3f785398c5e56492023d319db20f788ab
-  B     .git/objects/0d/237e42f1f0675ebd133e258b570b6be51e2b6d
-  B     .git/objects/0d/2bbd9b0ade6f3d900d16fe9d5138af5bdd9bd8
-  B     .git/objects/0d/2ed3d83edb70135c59f775c8eae82cbda14acb
-  B     .git/objects/0d/321a37754cf3bcf26fbf806202b91f1a5a2a59
-  B     .git/objects/0d/39ac2066ea820b5b9bec564619a6940444ef73
-  B     .git/objects/0d/3f7e9f4f95f0ca7f8500b9c3a5e396d9bb2ebd
-  B     .git/objects/0d/47e6a207efa0ffa9b8a5431d112e18fa78633b
-  B     .git/objects/0d/47edbf7ee66aeb63e940509f7baf8d87c3a834
-  B     .git/objects/0d/49edb70d2d996f1b29e20bb4b697eebb0c118e
-  B     .git/objects/0d/50da5649b431b492ec40d8b4ca31cfaf3a819c
-  B     .git/objects/0d/62d8cb2d65016c44c1625af7176c03bff8fcd3
-  B     .git/objects/0d/65d8691b6532fb052f0e0315c75121f735368f
-  B     .git/objects/0d/720b6304c279f3d8e06565e0e767f2f0f6486a
-  B     .git/objects/0d/7441be3da13e0c34a40e2115d3389f9346bcc5
-  B     .git/objects/0d/7553393d4fbcdf398ac85f182aebeda4281bf6
-  B     .git/objects/0d/7c3a573bff73ed43eaeae3b60cd49cd785d327
-  B     .git/objects/0d/a76e5350c267a41c592fb6baf8d47b7c4bfe4f
-  B     .git/objects/0d/ab502639489d331f5f84e0023581a6b1059715
-  B     .git/objects/0d/bed6fee9c5d2eb13563ea5eb700093c354fa1a
-  B     .git/objects/0d/c423948feddcae4cab7d7ed52e30e1bf527ce0
-  B     .git/objects/0d/d1ff50d6fa706895299ed4ce214f2a2c9c7d87
-  B     .git/objects/0d/d9d85a832d7a6359902008c4fea6b4df34bf32
-  B     .git/objects/0d/dc4f55183ccfcae90fb4dfc6566889f9002f70
-  B     .git/objects/0d/e91535ec665113cc87c2fcc639cab2709daf61
-  B     .git/objects/0d/ef8a350ed791df5374d467df8f841aa11b9339
-  B     .git/objects/0d/ff2a7676f84df42bc31ce543494c88fbb11dc4
-  B     .git/objects/0e/0de5320e8884b8ecc2e3cca450d9ff0d3e4caf
-  B     .git/objects/0e/11706745fc8a95327cc163542a8856e0510fc8
-  B     .git/objects/0e/16cd3c9ecd12ec57e782bd8a5472d88897703c
-  B     .git/objects/0e/36c7d6b13d5f1e0b5a3a302e9dd761a7f2f13a
-  B     .git/objects/0e/375220d5ec2ba51f157120a071323dbbaa3616
-  B     .git/objects/0e/399b492003d80098638cba68f5d3c196089c55
-  B     .git/objects/0e/4d78f927fb986157f2779007b38997c7bbbadb
-  B     .git/objects/0e/5335300c2f26381f923b6b3d524514dc97ac11
-  B     .git/objects/0e/5f999d55010ff3bab7fc80de7df9e1f3551164
-  B     .git/objects/0e/67732d129c7f4f937166499a4e8974772f4223
-  B     .git/objects/0e/6dd3257b1bebe3e12c84aace59dd9cf0dcac2b
-  B     .git/objects/0e/755d00164c26ccda0fa4029409cee7f92bb891
-  B     .git/objects/0e/8deaadbd8d9319ed77fe29cf206127a8699377
-  B     .git/objects/0e/b79bea8415cee02c5094ddc256e8a1400918d0
-  B     .git/objects/0e/d205cdbcd3431b3088414f1b6967afd7a57b61
-  B     .git/objects/0e/d90ff0db17b94b462e14e0a12491918eca436f
-  B     .git/objects/0e/eb80783d25a850864b78e23aaf7f8fd00bdeb7
-  B     .git/objects/0e/eee40c494f92bea11c63e43cf00314296e9eed
-  B     .git/objects/0e/ff441b108997802f93e4a2f6bdcf78f58da241
-  B     .git/objects/0f/0f2a2f4c914c337e937d92f30da772f923c238
-  B     .git/objects/0f/110dde3e309dca23544a179b8987ffaa27e802
-  B     .git/objects/0f/14f70ac31e061130b20b1312a9aa0c212d4f27
-  B     .git/objects/0f/28d45e52819c9bedba909b221fcca42243daf9
-  B     .git/objects/0f/30074b073c32f019ac30247e4dd5218403a30a
-  B     .git/objects/0f/468275db29fba724e357371c4c139cfbeccdd6
-  B     .git/objects/0f/5502fde3e1823d9885255012ab823585258528
-  B     .git/objects/0f/5a8ea427c6a3e8033aae143c34726f7256d1bf
-  B     .git/objects/0f/6ec611e653eec03cd3d2c516cbfcb202090916
-  B     .git/objects/0f/78e40041e3b543ab41c5057515eb7e50d31009
-  B     .git/objects/0f/7f917fe1c54217c9c5be27c5091cccd29dac3e
-  B     .git/objects/0f/8051e58a90a1ce5603c5820ce9fae6194e558a
-  B     .git/objects/0f/8108534331186038bc12a1721f05fdddaaf70e
-  B     .git/objects/0f/9069eb53b0269cecc2a05845876afab582ee70
-  B     .git/objects/0f/9ac195b927862eb9c2976ed94f2115465d9ebb
-  B     .git/objects/0f/a4a93fb5f5f131c5bba9aa3ee1e514af87371b
-  B     .git/objects/0f/aa8017d02dfef3162c52c51ef9cd264db40056
-  B     .git/objects/0f/ade38fa40ff05ca491fa5148740efcf286928d
-  B     .git/objects/0f/bc4090ac57761cfd9157c53c9ad0b08ca17b13
-  B     .git/objects/0f/cdaab2b9d582b408bc5f315a7ad671561affe6
-  B     .git/objects/0f/cea46f26d73de0c0f61c02b544620662b96d1f
-  B     .git/objects/0f/d0a9e455d48b6e45c6e9ac360bd14abe215430
-  B     .git/objects/0f/e06ec92af4ae7999a0da4e1aa0b5e8c257cd49
-  B     .git/objects/0f/e3f845976ae8efd63dec1a3855269de7218341
-  B     .git/objects/0f/ef39dbb1714cbe67860067b2a99dfb5b994ee4
-  B     .git/objects/0f/ef3d89e0df1f8bc49a0cd827f2607c7d7fd2f0
-  B     .git/objects/0f/fe31f0da3a33bd922501625c2cecf2af3dd532
-  B     .git/objects/10/195e84b6a035af8d9bba4d224809ad438f92d2
-  B     .git/objects/10/39c37436998b74f2d6d6ca4baada09abfd79c8
-  B     .git/objects/10/6a89db233648a7d75af84280e36e7bef4dcab1
-  B     .git/objects/10/71d727247ccd7b1f5ec7342d6b92d74e30f04d
-  B     .git/objects/10/722025d6e86fd32d703a15b4bb4895316ee174
-  B     .git/objects/10/7d461d45578226ec5854e909bed57cb016ab34
-  B     .git/objects/10/9dc00c933ae0766ba0b2ee77f0dfcd9a34c9ab
-  B     .git/objects/10/b4002878d4f60eef0ca90d9e0c97f58cad746f
-  B     .git/objects/10/b861bd2a583eeb3fec072b4fc1560ef972d51b
-  B     .git/objects/10/c02d4c38887d5782796d91affc411ff9f7c248
-  B     .git/objects/10/c70dca29f53d3f42909a4d1bd036b1b0216180
-  B     .git/objects/10/d0a2de21ee95b857d4117bae21cccd0991f988
-  B     .git/objects/10/d77731eb41ed5377e343c9643577d57a935994
-  B     .git/objects/10/d8597fc4c5343c5321cc8211375bf5ba57ce8c
-  B     .git/objects/10/e4a86d7453137642e13964029b5d31d588d3e7
-  B     .git/objects/10/fc01e371dba26c7665d81155c3b8854c142f8a
-  B     .git/objects/11/09198fb9dfd4c76e0a228a42f8b9e26309a543
-  B     .git/objects/11/25e3aa7f54935725bb910f26bbbbbcc6fd21a5
-  B     .git/objects/11/28c855ad97a9f44f61b112089330d8256e1b75
-  B     .git/objects/11/3180cd44e1024652a98052507db1e6f9025019
-  B     .git/objects/11/35e83563923236b245319454a5dc8bc222a3aa
-  B     .git/objects/11/48b89e100d9b2f2164da90f48a273172ac733c
-  B     .git/objects/11/4dc16eb8056f4c0aeeba67f07f78963c24f1bb
-  B     .git/objects/11/52ea81c9067990c5a9d117557cc62b8ddcc282
-  B     .git/objects/11/68b7ff730a5d2526b3efa7f0d0b9f05e1ab2db
-  B     .git/objects/11/7d08f92a1d1abb3fb18f421f4c64c904bf2495
-  B     .git/objects/11/8844577799fc083449c403305e9f5937bc17bd
-  B     .git/objects/11/8f520a51bc24e9bdb13ae2c50e4ba8c8c65332
-  B     .git/objects/11/9f4ce5ff6a98f3b13c03054064e994bbb03a43
-  B     .git/objects/11/a3f026246a3bd2216a7d2729be20544dae9511
-  B     .git/objects/11/aa60beb2ec1e834fddff3ee951e664deb0b83e
-  B     .git/objects/11/ad60f5093ed5cd73d4d5cd999ff60f4a871051
-  B     .git/objects/11/b0317c05403503783839988d75254df2cdf771
-  B     .git/objects/11/bd8e4df3d70f536d7c113dc2148c6a0e086bea
-  B     .git/objects/11/f5284f7a4eb7c4958bdcf46d52a1bb42ab1aa7
-  B     .git/objects/11/f61c95bb23d87730f97411c7ba1675b8cf57a7
-  B     .git/objects/11/fe500eb5106aa0ff835b8f813f7b5e041c5d18
-  B     .git/objects/12/009a9811f6c616971240d6eaa4fa9e78e46786
-  B     .git/objects/12/00c8f1bc906bac9cfb591b1908a95f206b2b9c
-  B     .git/objects/12/053c6d3ed94efa68dc0619f32ab1add9c4f103
-  B     .git/objects/12/08779b8ec5d8fd48e212f32bb2fa8a26beeb2c
-  B     .git/objects/12/2186a42fe6c8fecbc51fa968770a29636f2270
-  B     .git/objects/12/2b264320aac780acddd152853b9815a69ad467
-  B     .git/objects/12/3141e5be664bb3aa53317829848181283362d4
-  B     .git/objects/12/406df8a8a8ea4a16c181f9da6a1cbbb17c3b8f
-  B     .git/objects/12/435be8e4b0ead0605e9e3e24b7754c9f66ff23
-  B     .git/objects/12/5c59b556a789118d42b0b06ba14ff2a01faaac
-  B     .git/objects/12/70391488ce9982474f565b5331c94591572600
-  B     .git/objects/12/723b98fb08541f27a292ea0d23e320e1945d7b
-  B     .git/objects/12/762b6037da7536fac8fba6709c0b566cc8c160
-  B     .git/objects/12/77f1dc96a124e00134085e0bd6d84a347eeccc
-  B     .git/objects/12/82ad1f733fe3b58c5d149ab7798244759dc087
-  B     .git/objects/12/83e34875e2447cd7be42e1693b9cfd7869a6a3
-  B     .git/objects/12/86b664bf1fd06149fbc47dfe9ab91ca60d7dd2
-  B     .git/objects/12/8c30470d5f77cbe5485d6194c5bb085c92349e
-  B     .git/objects/12/8ed82173d9eeaf17b521d0f72074110ad94793
-  B     .git/objects/12/8ee195efe3d552c9816599454b8bb080dace4c
-  B     .git/objects/12/970221800e679919dc973e4d4d145b7570aded
-  B     .git/objects/12/a1192baa92ef32baf81085e87664a74dd6f629
-  B     .git/objects/12/a408f5a07c2f979393e5469adb671690e04dac
-  B     .git/objects/12/a718d0ca507c911f589d2926cfc408e4155b0e
-  B     .git/objects/12/a752fd8644c7ddbcda133cc0a4c917e4d1a81f
-  B     .git/objects/12/aa6d6298c2382c6317fa32d77ba7c19722c279
-  B     .git/objects/12/acfbbee749776313774619757c96b90be10425
-  B     .git/objects/12/b74dbd5dca83776661e65edd0d3817a90e5cd0
-  B     .git/objects/12/b8233355bf683a5ebc6b36091f8d8049e52b41
-  B     .git/objects/12/d59816514a6006ec4b8417f395b3798a6cea91
-  B     .git/objects/12/d61d301712cb93abf650361902847a3cfbec99
-  B     .git/objects/12/d69badd51641dd5ffe303bde0342a197a6c61b
-  B     .git/objects/12/fbddcd6d6649f921ec7731d4e4017ee5e5d7c0
-  B     .git/objects/13/11a4f9fff7602b3580525c701f91880f109db4
-  B     .git/objects/13/1aae3673a27dd53eedabe4eeb07a39dbbec3ae
-  B     .git/objects/13/21776a21088193b5bc5b00a7cbf053346ac058
-  B     .git/objects/13/36289edc960e602a546758194dc3b4656ff60e
-  B     .git/objects/13/38f3a03d2f1e41d6def08e8b9fa0b7f2e86ff5
-  B     .git/objects/13/483ad9132ebc1be0147762e5a06a7f02e74873
-  B     .git/objects/13/52baabf499f522bf1ca455434a83fa83e63403
-  B     .git/objects/13/579cd3d16c757c3a8ab2ff62d1b22eba8502e4
-  B     .git/objects/13/617c726eaa26889ec1d706b2dd4be3c4ddd3c3
-  B     .git/objects/13/739cc714119737a6a041054911259edeea7c26
-  B     .git/objects/13/7c03ee1840aed84674514faedc2ecc95d94a85
-  B     .git/objects/13/7cf6ad76bad4b10b626cc72189c887cf10b19b
-  B     .git/objects/13/84d436deae8fa97e55f12acf76683a9e8505bb
-  B     .git/objects/13/894f7448e593d65e642fb1a53853995bf70226
-  B     .git/objects/13/8cc022512d46ccc055ccce588e4c71698216d5
-  B     .git/objects/13/92bf6ad653d2ce4f1929d2f48b94f0e442ba2e
-  B     .git/objects/13/97ed085dae5caa3561cc705d74ad226b260301
-  B     .git/objects/13/9d5cadea8984ab1a964d6235ef631579c4b590
-  B     .git/objects/13/aa98ef1a34ce71cdb790ce323148d57a2e2f10
-  B     .git/objects/13/b2b1a4c164177136a705dd2b4bf8349aea0913
-  B     .git/objects/13/b575f28bc09d5535ce1ce767e8f99e19a3bb60
-  B     .git/objects/13/b63dccfc7874020f8bd667102bf0620557130d
-  B     .git/objects/13/c3c0e844b076453ed6ed76df50f9dfb97d3e04
-  B     .git/objects/13/ce390fb5d4eccfaf2d60200864481e5ae3dce8
-  B     .git/objects/13/cf8c6920b27fca5b49b22fae0ccc2ac9feca9a
-  B     .git/objects/13/e6812e6140ea7c3721d45913c9dbb868f6d3bd
-  B     .git/objects/13/f215aa51ed47250785513378f180c01958688e
-  B     .git/objects/13/f4d8e1f42cc6eadd132f8d8630e80d89aa7672
-  B     .git/objects/13/f5c1660e93279ca5a3c97564a61cb8485e894e
-  B     .git/objects/14/07cd0438119c12aacc7e71b5d587336d11f5c4
-  B     .git/objects/14/13fc609ab6f21774de0cb7e01360095584f65b
-  B     .git/objects/14/262f7c63002b068e3209c8639f529921fbd383
-  B     .git/objects/14/283641448b748c02d52f085ab22392c89226eb
-  B     .git/objects/14/2a4039599e45c6338bf05abb6fdbe65c88e17f
-  B     .git/objects/14/37cb24ef48fdc0a2fe8624e91ad96d903afafc
-  B     .git/objects/14/41ce7a387597fe4fe01505b8c20596c4405511
-  B     .git/objects/14/458541b004fa3ae8d9a41c163d0ee2b7da02bb
-  B     .git/objects/14/514e54e26599c15a18a254a700067dba6762b1
-  B     .git/objects/14/5ca4a412c7976fb5614658e1d595542ac4cb79
-  B     .git/objects/14/70ef6290eff164c68b54593e289673aba47572
-  B     .git/objects/14/8a80e099fc7fad3af37b42c40f2c8fb0ec2dea
-  B     .git/objects/14/8e5b3be9c285abaede26c7aa71a22f743ad483
-  B     .git/objects/14/9055351e1ec2af3fbe4959c10d507f925087f3
-  B     .git/objects/14/9809facd79927b483c066aba58c97af739109a
-  B     .git/objects/14/9a3cf3353f246a6f451ac3769939ffc4671228
-  B     .git/objects/14/a308c1c71e8e6a47fa7f95036013e1700dd975
-  B     .git/objects/14/a76b723bff115b413730bbda10ba7de587bc86
-  B     .git/objects/14/bdc97ff4cb3a2ec758ef3664cf9ba6d47d4611
-  B     .git/objects/14/c66a876e6e05da8b5100101d6318bbd2e4fb13
-  B     .git/objects/14/cac3be86c67054281089003a624f3fb25c2861
-  B     .git/objects/14/cc1263c4723db2dd55ef4c9f47187403a78eb3
-  B     .git/objects/14/cfbf6c7468f43db8d88b8636e591a431bee41b
-  B     .git/objects/14/d018ce31e2fad3b2fece41610465361118c4ac
-  B     .git/objects/14/d033f031d3de67344bf1b0d498054a7e9a93f9
-  B     .git/objects/14/d350873b11e8d749f902eeca11d7fe5f660c4d
-  B     .git/objects/14/e1d156ac8693fe58e949f16d837f1aadd1f9ae
-  B     .git/objects/14/ec0f25fe8c2c7dfc46fade375350ff86c92f70
-  B     .git/objects/15/0fd1332e19a3ae48a7318244cfc958eb10b38f
-  B     .git/objects/15/12193c39523ec1aabe5519b57072a6cd02e637
-  B     .git/objects/15/12193ca4f3c5f28212f10b5382577de093fcfa
-  B     .git/objects/15/141d2054b9de1ceefeacc7f09e9c0b2dace852
-  B     .git/objects/15/21274e6bb3809e4ecc6a210dbc9cc4f8dbc27f
-  B     .git/objects/15/23ea053b0ebd05e6398a43726f9a372582c468
-  B     .git/objects/15/43dbdcc6650dfd016196ce599530090f4f3bb3
-  B     .git/objects/15/4dcbebaf54d6197641eaf0ff77e5ef408fed03
-  B     .git/objects/15/556b54a21fba3b7adf37f7300e6b75ad65f40f
-  B     .git/objects/15/579dfe8c093f49170e6dffa3bcbcd65bcc1a24
-  B     .git/objects/15/5abc7a7f0726c9cc77ec9b7a1c946f85eead5a
-  B     .git/objects/15/5ea0c7d74ab9487ab3c18b2799e1a7d089b29f
-  B     .git/objects/15/6da7793c770dec655a215d70abd8ea09d36c2c
-  B     .git/objects/15/72ecac81300f9ac23622b199a7e31411f6060f
-  B     .git/objects/15/7a64d7b156845f586d159b51a88168a15f4fb1
-  B     .git/objects/15/7f5976b8a4df73871de497c70c324c6e5b6ad3
-  B     .git/objects/15/801bd8cd0b5c7a76847cd06fc394a02cf67bef
-  B     .git/objects/15/8280bc645221b5a52df9efdcaa6339fd9f1147
-  B     .git/objects/15/8f2ab46bba81ad5c89e2f74d104717a5d9ab79
-  B     .git/objects/15/91e76ec0f65c93f3efe2c12e78caf645b53e51
-  B     .git/objects/15/9504b27bec1e5d9634ec0213f0459e15cd88f2
-  B     .git/objects/15/9a634f7efcb16748341c2e3bc79f93994230e8
-  B     .git/objects/15/b4e50de8b880773820d05f43d94c5f44f2f4b2
-  B     .git/objects/15/b8c9294eb4235a84b715a19c1fadf1e07511d2
-  B     .git/objects/15/c2ac3ebc09a7b7f37cad014b540ff38d010af5
-  B     .git/objects/15/c2ddf1ddb81e2dd820d987273d8c60a11fcae9
-  B     .git/objects/15/cbb698ce6c914b024032089276503f367ad61b
-  B     .git/objects/15/ddaeea74218782def6e35c77f8668f41229ec2
-  B     .git/objects/15/e18a71a4f27136a22a87da34f53bfb644ca07e
-  B     .git/objects/15/e6c22e2d3a1e71c2a33a9dc6108b64f1e1ff2e
-  B     .git/objects/15/efa4793c953619ed9e3727f173a4e6d2b03cd7
-  B     .git/objects/16/1220c50445a0c4f784ca67bbc1bf4bba3555ff
-  B     .git/objects/16/180fd7aef9b6d86e7107479d55721ec391e9c0
-  B     .git/objects/16/1b563344aa939f62c79938d8b7f7ddef45de49
-  B     .git/objects/16/216e43754d3500f2ffeab5863ad829a3473e70
-  B     .git/objects/16/246cb1bda9bd6eb57f09e9519767878e7dc144
-  B     .git/objects/16/248a9c84063a2bcc8952c87ecf20b32891287f
-  B     .git/objects/16/26a3f2e0992d734c0edd57af4acf31288b5298
-  B     .git/objects/16/362e1b2c6bdd7099425a30192657564d3b4073
-  B     .git/objects/16/3d6df638583065f2efe4abf57e9a1baf62ac41
-  B     .git/objects/16/4738210ebae5a56f0a83ff6cd2f441266dcabd
-  B     .git/objects/16/491b7ab177147b4b2d8d01a86dbde79a85dbce
-  B     .git/objects/16/71154c309ee00da1beebc610cabb468b199275
-  B     .git/objects/16/81af4ab6b8668f0433ee6fc427e29e793a3389
-  B     .git/objects/16/84bc76d40d4880bf843c95c6c5f0c054ba57ae
-  B     .git/objects/16/854ac2dda90f8d597bb837ada5ecec32bbc20a
-  B     .git/objects/16/8567d92b29a8a23e8e68f1032f92b8fed44571
-  B     .git/objects/16/89df267a81e901788085d6e3c7f21c427e3a3d
-  B     .git/objects/16/99743a5f51de865d380d3fa9db7047a57cd013
-  B     .git/objects/16/a31b8924a46a191ebfb6f41f0027b591712fb2
-  B     .git/objects/16/a6844b1cee225f8e648cbf36158e2277ab45b5
-  B     .git/objects/16/ac3e707844c782d067d4771c99aca64bea0d65
-  B     .git/objects/16/afdea10d5ad8f4555429fd41a88ff272bb83fd
-  B     .git/objects/16/b2250bc7580ec85d6d72e292161e03a16053b2
-  B     .git/objects/16/bb1b0707e36e64a8d5fc505ae641ef0db0dace
-  B     .git/objects/16/c7caa4540844e0bf580f8b541c3272862afc2e
-  B     .git/objects/16/cbe2e79bacb499ddcbd24c3ac20b01df1507f4
-  B     .git/objects/16/d4fdda336eed69bc599ecb801379df7746c50c
-  B     .git/objects/16/ff57bea94645aae30ba9b6bf4375b2eec202f1
-  B     .git/objects/17/000cf41da71cdd592ad69dc1c59d310def05c8
-  B     .git/objects/17/16a60c3e1eb6b146e1aa4ed54b412180541add
-  B     .git/objects/17/19d37091077919214debde706297dfeb216395
-  B     .git/objects/17/2191cc7bcf157a506e0a3e1104233caadc45ea
-  B     .git/objects/17/43b0af277d5eac40b436aebdf2994713845b67
-  B     .git/objects/17/53c17e2a8ce02dc51da1c0bc5a12540f2c8384
-  B     .git/objects/17/559db779028502a429f4be01b3f510b4c702b6
-  B     .git/objects/17/56d17e8d40a8812e355db71fb460077083af76
-  B     .git/objects/17/61ef3f1b1bc0258befa8dca9ce5cd5f2c39733
-  B     .git/objects/17/6d6d3e02b07900161b37af855c2d2defb3f8d2
-  B     .git/objects/17/6eebbd32ff3a62eafe6318d1658f097d03aa54
-  B     .git/objects/17/7634192f7805cce92f9feb2be2755995548a06
-  B     .git/objects/17/7fb6bdbdb2022b2e4480619afb6bf688aa98c2
-  B     .git/objects/17/86f687522d5d0618b62cd09488a49991c0bab6
-  B     .git/objects/17/8b1b76e2a843fa2a053595803fe1c294679555
-  B     .git/objects/17/985904095343e99a725c604a568ee41bb778e4
-  B     .git/objects/17/9bc6e682e69d1ae7964f04be2f27d7553e72b6
-  B     .git/objects/17/a30b5a29e7f953e6a6e184f74c1f12d6b961a4
-  B     .git/objects/17/c3f1f923ee239714e7a07375057709a732c37d
-  B     .git/objects/17/ceffda012be9df7eaf9bbfec4352d439882f6e
-  B     .git/objects/17/d2a3436a81320c25c0811c40a037effd3f25a4
-  B     .git/objects/17/e0da57e657bccc4ce6ebcab8321c8c0de02c2a
-  B     .git/objects/17/e9fa7ff179e7552dd44a9e06b4bef1bf805eed
-  B     .git/objects/17/edff1b8dcc57bf761a665c98e4149f8f530b7b
-  B     .git/objects/17/f625b0a5801c2bc162a6a8a200e634bcb3b24d
-  B     .git/objects/17/f9410685b6f2e519e35142c0fcda3af188de62
-  B     .git/objects/17/fae9fa905c9d929f67e40409fbcab6afc20c63
-  B     .git/objects/18/01f9aaeb085cc86e013ebbbe26c3af48ba19bf
-  B     .git/objects/18/061c32051c17323e2152d4596983276e7e7217
-  B     .git/objects/18/0703705da25a206e6f576ca7500f1c45561861
-  B     .git/objects/18/1b2697298fd213a41b0fad129b69f6c5cdca25
-  B     .git/objects/18/1bc900fd041dbfd468e406ac9b1b1774050bec
-  B     .git/objects/18/2d39df8af5e78816b2344c9920227b5bf88e4d
-  B     .git/objects/18/39c584182376455e2ae90781db4d5534fdb4ee
-  B     .git/objects/18/3b951fb7cc47872792a60a70585279e8c11b64
-  B     .git/objects/18/530c9d91956c9efe1bd371607256b0f7e083ca
-  B     .git/objects/18/5a62a403e48b88fc6a7725e17cd6815dceec23
-  B     .git/objects/18/67af9eecc02a1aee9227e4020d98c3350a0786
-  B     .git/objects/18/70430bd5602ec29254b417521f3002cc45b51f
-  B     .git/objects/18/7805af66929715b59e8d408c88b0542c85d608
-  B     .git/objects/18/80c7964c3462e8f168a701a53fb633ac462881
-  B     .git/objects/18/8446981aaf264489eb9df7e8e643ea9e8ce10f
-  B     .git/objects/18/a824c13a6ea43260e2f1a9331ed2475f29e7d6
-  B     .git/objects/18/b2f8a20b5d793993929a7da36ef55e464705e1
-  B     .git/objects/18/bd0200f4b457b442e28b0bb097a75b3c9950da
-  B     .git/objects/18/c3f0fd31340149efbae2e4535df264e1eef827
-  B     .git/objects/18/d8f90dadfe99c678d3b106d33ef6037df69ac4
-  B     .git/objects/18/df24d586c40254c40ac83ea76ca022c8c181f0
-  B     .git/objects/18/e6645c2c6f368112886073b75d8e4cf6a78628
-  B     .git/objects/18/eb9c4ff7337bca22841d55e587f70f09edfd8c
-  B     .git/objects/19/001c1cb5719c6e9aaef1548399ba8aba79f09e
-  B     .git/objects/19/0bd26d5db61f99e75cfc3c914442207a2580cd
-  B     .git/objects/19/0cc69f0c59ea45aaf8bbcf1ffc8d3a5a241875
-  B     .git/objects/19/0e423b52ff2f808cb6e232ad86292319067067
-  B     .git/objects/19/140f01fb14055886488b9eb433697605f6021a
-  B     .git/objects/19/1a252aff19b0bf540668403a994c88c0c620d9
-  B     .git/objects/19/1b571534530b45c1892da37a65172fe4a5837d
-  B     .git/objects/19/26428d9c8d2f67b47b8cbc17f470683539f744
-  B     .git/objects/19/2d597d18178ec10eb63c6de538e9311e7b782f
-  B     .git/objects/19/5732924c8f22c5c8e87dcd6b0d3ae718dbea14
-  B     .git/objects/19/5c16f6d5b289f6dfdbc9757e00617efe0a96cb
-  B     .git/objects/19/69d589ff9c1ceb08216dbb53445fb5dde89c91
-  B     .git/objects/19/6d873434e59031108b198954bc72443ba0450f
-  B     .git/objects/19/6edae7c9fc2b8cf652f0a1991f6ae277dac93b
-  B     .git/objects/19/70cbe158e7a0497ff68bf3b5988e64f488006e
-  B     .git/objects/19/72b37aeb8df13f4ef5153f155945bd66e7684f
-  B     .git/objects/19/78876b57f9cd048e0c3e532c2fc176360c5327
-  B     .git/objects/19/82ae38632b1cfd2a3f796c40ccaf4142ee991d
-  B     .git/objects/19/85f48527f4b5e0cc9cb132f72558cb7b2e8a74
-  B     .git/objects/19/8cbd0d76a16727fa2aff8a779dba5491613672
-  B     .git/objects/19/9292d99e5f553f747398455fb671a5825f8fea
-  B     .git/objects/19/93e4fb03c943a578e191dd91fea0126a6377f4
-  B     .git/objects/19/94f49f75eb9da6a44e5531a6b19995c0af7893
-  B     .git/objects/19/bb60f0b93e94b716c0f39982650e122b5c7914
-  B     .git/objects/19/e1e21fb401ff3dae830e2484f55d562371bacf
-  B     .git/objects/19/ef61732caf1f2189e17fee42dccca61b4ba2de
-  B     .git/objects/19/f9e13af0c7ffbfaa99f9b914e803d4bb47706a
-  B     .git/objects/1a/03c648b8e08b8471a5df066c619ff7370e7ca2
-  B     .git/objects/1a/0f5e747bf9f5b0778c48e1910e2736203f54d7
-  B     .git/objects/1a/1d7464ca534f2871bebd7eb4dc111e0319da95
-  B     .git/objects/1a/28a6f8e3caa5400f36cdfbb3caec8b4546a1e0
-  B     .git/objects/1a/35a29c1ddc431ec57f576f743c6b9ac7d9e77a
-  B     .git/objects/1a/53190c8bdf686712348aaace7552b0e219d126
-  B     .git/objects/1a/56b230bd5a6cb38b5a7d8016af4ffb55e77da9
-  B     .git/objects/1a/5ea00bf2ae183e9dd95a903039f125ae9e0015
-  B     .git/objects/1a/603651b05625aa49fb549b5a177108af01e1ae
-  B     .git/objects/1a/686b27ce04e88e4a1b8223f8365c20d6cebc87
-  B     .git/objects/1a/704402bb293a2030a2311fbf24dd5f09458903
-  B     .git/objects/1a/8da28036bbe63444a8c4c5d62a9790db357f5d
-  B     .git/objects/1a/91e09cc1cd1dae3595b479aee3391296d7cb92
-  B     .git/objects/1a/9ba28affc43729740aeaf0147e6a7d4a0384ab
-  B     .git/objects/1a/a1005188c4c1ba5ee06fa3be2cf63cc1ef6f81
-  B     .git/objects/1a/a40acf7714f0c012e202cb3f1716133d304d31
-  B     .git/objects/1a/a48702ade89144706c2e053b857df81917fe99
-  B     .git/objects/1a/a637c0c86ba2b130a444f74becf8c0fc015882
-  B     .git/objects/1a/aeb0f57ad15811a2c2cb6eb690aef2db92f10d
-  B     .git/objects/1a/d0e3117bcd4c8b947b643000be7a45eec8b3de
-  B     .git/objects/1a/d7f7282e35375764b4fbb067f129ff6d7ccfcc
-  B     .git/objects/1a/f44bc8c2f84da7a292f28fdca8b99e2468a411
-  B     .git/objects/1a/f9e35a18d42d36117a79a2bbb3d83c3811c8e0
-  B     .git/objects/1a/fe221fddaba10f9ed7a826d3c9d236385abe4c
-  B     .git/objects/1b/0f7961ed8a72f94229e06c6bb1144884301fe1
-  B     .git/objects/1b/155cf4a908c773e53b65ab4425afc34a564639
-  B     .git/objects/1b/2902806321ee8f48e039811f59b0680939daba
-  B     .git/objects/1b/34fe9c8bbfcb52085e210571b331beae3949d3
-  B     .git/objects/1b/5d8076ab031f400d158c150fa975d848bca9bb
-  B     .git/objects/1b/5f17ec21d91185b858c4b46609290106d6c63e
-  B     .git/objects/1b/64223e8b9241df0ac5aa82b25907ef4e08f236
-  B     .git/objects/1b/703ae8b37b148490174b4e041267e17813f17a
-  B     .git/objects/1b/7a8239c284e94a1087d43d32f4675b4629da19
-  B     .git/objects/1b/8b612b8bcd700d491443b3d90f4f9d21060f20
-  B     .git/objects/1b/9d2d48abccb3b12ed7712e8e6d6b128b11d047
-  B     .git/objects/1b/ad3f5dd88e58caee27ca95cceed65955c04be2
-  B     .git/objects/1b/adc5b2d8e3487524ea7392a7cf75787a3d20fb
-  B     .git/objects/1b/afb5ff017200a835d9429b63b3a020a77af41a
-  B     .git/objects/1b/b7c5714f7a2b11f17869b777f56e67fbf6442e
-  B     .git/objects/1b/c50ef2963709cea4d5ec179046a7315c8dd722
-  B     .git/objects/1b/ca452e94c28a4d0b88e7e16cfa143a1500c6f9
-  B     .git/objects/1b/cd2924e86a20ae9b1b30f413367a9925c11fb2
-  B     .git/objects/1b/d27ca6b3a545962390064e4d1f915df2aba45e
-  B     .git/objects/1b/d35bc116157e3486580eeb15e6fa9a4fa64392
-  B     .git/objects/1b/d4e07960872456c00f6f73aa5317812233c41a
-  B     .git/objects/1b/dca172aad02ebace98fa1d7d4709f98276e45f
-  B     .git/objects/1b/e18efaf2a34678453144bfde64bd73f13de26f
-  B     .git/objects/1b/e1c3ff06ca372cd5f350a4ea73f1fc6162e08e
-  B     .git/objects/1b/e57853919fe4ffeefb50d241c587c2e4e573f2
-  B     .git/objects/1b/eb0927de9a00c2afa5e260eeadef6d0bd0e0ba
-  B     .git/objects/1b/ff4596f4222056a0bec9de019bc31ed272c424
-  B     .git/objects/1c/0321943487a67f5fa18683562d83f665cda706
-  B     .git/objects/1c/03a2cd74f6110a62c3fc878a27897187220eae
-  B     .git/objects/1c/0458d5c7c71e17c6a864e539319c96ca60aee0
-  B     .git/objects/1c/091cccecc94669a26e793e7e8948ab444bec82
-  B     .git/objects/1c/1928ae036075e3acbf5904f8bea11c9d032f78
-  B     .git/objects/1c/2a4cdbf3e82751583825fc3a2e0a3903a3d638
-  B     .git/objects/1c/2d2903fd7fdedc7308f117a8e27f1b146cfba0
-  B     .git/objects/1c/3da8c849f82b6b6481b3be3e0609f23dadd5c3
-  B     .git/objects/1c/3e326ba32be643d7aa629ba7dcefdcd267d2e4
-  B     .git/objects/1c/5bf6a01310f614162497e8f9a5103fd2bc01e3
-  B     .git/objects/1c/64384c3d11d8a33f86f33b8394c63ca528353b
-  B     .git/objects/1c/68c100eda153c3eee66e7758100ab3ce4ba64c
-  B     .git/objects/1c/75cfc447b393c457f741d1b026b6148ec82978
-  B     .git/objects/1c/7c20c7c56a448e73f08c39949b4e8beb204343
-  B     .git/objects/1c/7c65ee72b77db9822ab22cdc782a43d54e4a9e
-  B     .git/objects/1c/982510d4f20063efac51463fe6da9c6a04c202
-  B     .git/objects/1c/99fe348893fea78b8e47baa853c44fa1bda03c
-  B     .git/objects/1c/9d0a00e2ecb77806f5fc870c388eace9a50c99
-  B     .git/objects/1c/a9707edffb5999b10b02593fc5047d99234a77
-  B     .git/objects/1c/b366033c70dbc71b2ed0e0f33bf5d0daabdd13
-  B     .git/objects/1c/b56894f00a141f59fb6df7c57bd3c1e62d8d14
-  B     .git/objects/1c/bb9aaae5c4e1c8b210a464ef71be202207d483
-  B     .git/objects/1c/be42d8751f88c238c30ae5c02ce3e4f60e646a
-  B     .git/objects/1c/bff5d19633e6d6b85eafdf94716a7af5bf861a
-  B     .git/objects/1c/d880420db4b9697e2fef57876582c013d88bfa
-  B     .git/objects/1c/e59a63f07b9068e668ad3572bee69ee1fe52ad
-  B     .git/objects/1c/e68908483500e345afa2f369eddfe7fa587e5c
-  B     .git/objects/1c/ec99ba6cd39befbd521f335a643582a179df40
-  B     .git/objects/1c/eda2da1feea9bc23cc2efb811e57ab952a5e14
-  B     .git/objects/1c/f2fe21a8d74da2c3447407cc2cafbe7f6e6104
-  B     .git/objects/1c/fe715b5b3b7c32eb228a538f05464c22185ede
-  B     .git/objects/1d/0022bccd95e23da9246b16175109613f062194
-  B     .git/objects/1d/003ee73ee688f9c9c59bf96308cbc4df52ec32
-  B     .git/objects/1d/00bf49c7257b8178382a440c7430b579eafe2d
-  B     .git/objects/1d/0f166b9e2d5ca9be4a4dc82dfaf9776f9402e4
-  B     .git/objects/1d/17162bee8d119fb26f62c68fc1d83bc627c2d1
-  B     .git/objects/1d/1ecc7a3e63d7ccd3350dc28462b15dee26d850
-  B     .git/objects/1d/20ac9a06ddbf953877911c4e0419625804cc8e
-  B     .git/objects/1d/2eab51b85c552638d927ec85d3fb28c70206e2
-  B     .git/objects/1d/4a1d28888d35c86e81cd7476b03c81bc6e2bed
-  B     .git/objects/1d/5dd5c6140eaaa4208524cf2eb155afa9ec43fd
-  B     .git/objects/1d/6525b0897270fbdf253b3da7810de1feaf3f1d
-  B     .git/objects/1d/6f1ce866184c58917f06dadbc0e9a879ff514b
-  B     .git/objects/1d/7b7821e86d22651551bd29c33956392620ab49
-  B     .git/objects/1d/8fb8fa069db2e89d59f6b9fff4a372a77e661b
-  B     .git/objects/1d/a0b8fd35bcecbe0f7405a725f5e367a1f2e2cc
-  B     .git/objects/1d/a7d2d119baeb5843ac15592ab7ea6cc33585ac
-  B     .git/objects/1d/b1c034a693fe2534dfe115af54b11b51d2ae84
-  B     .git/objects/1d/b1df85bce819ac5e6fc5b7194e03bf9ceab259
-  B     .git/objects/1d/c4cd85074348b65e786f243b569995598d6319
-  B     .git/objects/1d/c7f2d44a55bf5e82cacfe65c9c8cf4874f5ca4
-  B     .git/objects/1d/d0e97584557b62e696b85ce432a318857aabb9
-  B     .git/objects/1d/eb11511bd059545a2e2559c4d3a264d433d161
-  B     .git/objects/1d/ff107a0eaf14350c71be0b9375deb13cef352e
-  B     .git/objects/1e/0284e67a22e5a59653c1f4650d698cb99ad4ed
-  B     .git/objects/1e/0b17a22ce621fe5dfb21d8fb12f52d320738e6
-  B     .git/objects/1e/1319280bedd144a564489e2d41dec6a26b72ce
-  B     .git/objects/1e/1bdfb3a19cb3fbc7d98e84b1d3eda57da431e2
-  B     .git/objects/1e/374783a2e649e6948e0e842d24207b1a9766ef
-  B     .git/objects/1e/3ab029e631aac322eff40419743f2ad2660772
-  B     .git/objects/1e/3f8932404e15a0fd7acb3cac76911d1e1cfc53
-  B     .git/objects/1e/404f6eddaf4a1b48b9cf0377b3469fff6327bf
-  B     .git/objects/1e/453c798a89bd3929f67c9a4e8fbfa48c183934
-  B     .git/objects/1e/50feea85caf10f626d8956230a49feae83aaf1
-  B     .git/objects/1e/7869fcb1808602dd55bc8e82c99238ccd3f5c2
-  B     .git/objects/1e/797948793e0869a94eab27aefa6eec58a84d65
-  B     .git/objects/1e/958dcf300cf0ab625db3e407e88f3f4f598e12
-  B     .git/objects/1e/9c3049f7cc06828cca55e3b21f60d4ea31f334
-  B     .git/objects/1e/9ed8bb8189b3b21ae2589cdf953709b48807ac
-  B     .git/objects/1e/9f97d024ba67da0e2d1c278262bca22537c3eb
-  B     .git/objects/1e/a2c92780cd5f38e0c18d106bbf25406c1b8630
-  B     .git/objects/1e/a2d10672fa92bb0dcbfc78ee237a48d9211ef6
-  B     .git/objects/1e/a9d6608329ff7341b4dc23581c871b47764765
-  B     .git/objects/1e/af50a4b18e55be78079b222834fbc896f01654
-  B     .git/objects/1e/af7d5b6273f3636050cfcbc8e469d7f71e7020
-  B     .git/objects/1e/b0409c50385f37e8426a35ac74a0d8812a05bb
-  B     .git/objects/1e/bfebe6858fe72ea4eb2adfe7055cb3d8139750
-  B     .git/objects/1e/c34fb6855daf961f5b2096c241eac5c69f4515
-  B     .git/objects/1e/c52df7e3229ce69a12eb5fa6572a9f69965864
-  B     .git/objects/1e/c8604915d875f6144b082b7f83eea4f03e7272
-  B     .git/objects/1e/d64b5fa84385fbe10a7e9cd0c0e11647f48ef8
-  B     .git/objects/1e/e397484dbc4409d05d4eb36edbe8dedfe0225f
-  B     .git/objects/1e/f00890f3a41d389ad4329005eb0299e696fd42
-  B     .git/objects/1e/f533e93a974f250f471a5c54f326878e5d8bd1
-  B     .git/objects/1e/f976c1da58a9247c45cd264289ab686f4f7351
-  B     .git/objects/1e/fcdd8432bb5e71236b8273eb310497c45811d6
-  B     .git/objects/1f/0693fda6843fdc28f3a836a20d84cd754edce1
-  B     .git/objects/1f/07ada57a071ff42ef7695ba6e9bb4c0b79c12c
-  B     .git/objects/1f/13f09474c9bbddfd75f7553e720cca1115b1dc
-  B     .git/objects/1f/1b69d725846993c23d6e94db40e4c18dc79523
-  B     .git/objects/1f/1e07ce266591ef766368bdab265913333cc9b6
-  B     .git/objects/1f/28c9872c344d65aa83cb4c973f7a27d0635f44
-  B     .git/objects/1f/29598529dac9bbbd4b423525490f3b9184c7bb
-  B     .git/objects/1f/2ccf0bc4069997038ad3833c79f086771cd205
-  B     .git/objects/1f/2e5fd6d3810eafd950fcda71e74bed42e8cb17
-  B     .git/objects/1f/324ae2300c665eb0796e11e3c5a77d4da1d2a2
-  B     .git/objects/1f/5bf048478f9a22cc203a0b4f58bc429dad92cb
-  B     .git/objects/1f/618457c3c6c35cfdab0f3ea847b4412737f517
-  B     .git/objects/1f/63b3799b1ca7c36851d523aab2d681a4f74fb9
-  B     .git/objects/1f/66c1a61e09bf2d4e34a70ecab4e17b837e4e29
-  B     .git/objects/1f/6b36cf3b9394e078699df566224b9198e012ba
-  B     .git/objects/1f/794f2025f042822566cd8e32f6de92fee51054
-  B     .git/objects/1f/7ef18bcb79771c47726cddb43dc14812d99b48
-  B     .git/objects/1f/82aa9ef5c2d7756c44914506bdce6dd54455cd
-  B     .git/objects/1f/8f62de994711c36f7a65139b66e8209faf1959
-  B     .git/objects/1f/987cabc35a4566f84c1fee88cc990faaa0c197
-  B     .git/objects/1f/a1658fdc6d2aaaffb12ca11263e6c16394038e
-  B     .git/objects/1f/a6c26932a4ba2fde19d9cf25d5bbb18716e2f0
-  B     .git/objects/1f/b5ad544bd7e0871eac7a9dd4ba291de1668874
-  B     .git/objects/1f/bedaa4e3aa96638c3977145107c0f3d79c8c12
-  B     .git/objects/1f/c3dcc72e1c1939967073dc74984374d9907b50
-  B     .git/objects/1f/c51c93160d372072a8558082cc0542ac7c81dd
-  B     .git/objects/1f/cb51eadadd41c44c5128805e1b909572aeeac4
-  B     .git/objects/1f/d8839ebfdb303dc90c81706d4a1ad1828f6b65
-  B     .git/objects/1f/e417f14e644adddc46c1d2caebeb339b3b2b0c
-  B     .git/objects/1f/e48a873807517bfe0b4465448597d229d10e32
-  B     .git/objects/1f/f361bf3f925baeb6caaa8ade7872f225cc463e
-  B     .git/objects/1f/f3f7d8d8a7058dc80d98597ed4ada678f0c872
-  B     .git/objects/1f/fbb71d0427cc3d5b348c10c9761febdc3ff70b
-  B     .git/objects/20/0e4944a16ea4fa4e87f4b83f2707dc54387e7b
-  B     .git/objects/20/1497c946e0ace9c7d01223e2a92be35f5c8f29
-  B     .git/objects/20/1f2f729015062d66aaa600895c0fff9a7d9973
-  B     .git/objects/20/1f8fa094f5b92ba9ba36f81c5024e8927fc927
-  B     .git/objects/20/259b0d4d250f0cab6c2ac6726f9b704c19fb39
-  B     .git/objects/20/2e1dbb60d5f5f040d9f8b93d22c94a1ab4922e
-  B     .git/objects/20/38862ffd1c25f64c1491cd11e2b11e00bcd493
-  B     .git/objects/20/3b48aa5d6681b7d88fb4c374ef402fd8e8772f
-  B     .git/objects/20/3f751d761215c9a663c0ff8598953c74dc6fb4
-  B     .git/objects/20/4499121baf531ee9fdc08599c9338b9eef4380
-  B     .git/objects/20/5454bf6e40639302cdbd8c8689e38bca4680ba
-  B     .git/objects/20/5cc1b9ac0067183abe1a3902b230ab731e18ab
-  B     .git/objects/20/6224493d6ba5a5ad68cb8803a63a0a423168ba
-  B     .git/objects/20/740b8d88b43de71ec14950dbef245d7d7c1e01
-  B     .git/objects/20/9b9e190b3fb709cd4c8e89eaeaedac0fc6f7e0
-  B     .git/objects/20/a2a577ad47ad45bcf28e1937ed6d5700ffc55c
-  B     .git/objects/20/a815f488ba7c76608091dfead171529da9f20d
-  B     .git/objects/20/ae19a194ca19d1d5cd6c42d4f054f4301181ee
-  B     .git/objects/20/b0642a45cc465ea7c0bc0c6e84bc73c1064021
-  B     .git/objects/20/b7e15b0f06b7b0baf3eca6bfdc621d93d5d66a
-  B     .git/objects/20/baa1db5fdf9e22655a0f851c4401d36b9e7ef9
-  B     .git/objects/20/f2a71ea757d625bc1c94882623fd93832436bc
-  B     .git/objects/20

<TRUNCATED>