hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mi...@apache.org
Subject [30/51] [partial] hbase git commit: Published site at 5ebd7660a94bfb18e6e05b6e46195c76c099eda2.
Date Wed, 18 Nov 2015 07:51:18 GMT
http://git-wip-us.apache.org/repos/asf/hbase/blob/20c64fef/apidocs/src-html/org/apache/hadoop/hbase/io/TimeRange.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/io/TimeRange.html b/apidocs/src-html/org/apache/hadoop/hbase/io/TimeRange.html
index f90186d..75af40f 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/io/TimeRange.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/io/TimeRange.html
@@ -76,124 +76,123 @@
 <span class="sourceLineNo">068</span>   * Represents interval [minStamp, maxStamp)<a name="line.68"></a>
 <span class="sourceLineNo">069</span>   * @param minStamp the minimum timestamp, inclusive<a name="line.69"></a>
 <span class="sourceLineNo">070</span>   * @param maxStamp the maximum timestamp, exclusive<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * @throws IOException<a name="line.71"></a>
+<span class="sourceLineNo">071</span>   * @throws IllegalArgumentException<a name="line.71"></a>
 <span class="sourceLineNo">072</span>   */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  public TimeRange(long minStamp, long maxStamp)<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  throws IOException {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    if (minStamp &lt; 0 || maxStamp &lt; 0) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      throw new IllegalArgumentException("Timestamp cannot be negative. minStamp:" + minStamp<a name="line.76"></a>
-<span class="sourceLineNo">077</span>        + ", maxStamp:" + maxStamp);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    if(maxStamp &lt; minStamp) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      throw new IOException("maxStamp is smaller than minStamp");<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    }<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    this.minStamp = minStamp;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    this.maxStamp = maxStamp;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * Represents interval [minStamp, maxStamp)<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * @param minStamp the minimum timestamp, inclusive<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @param maxStamp the maximum timestamp, exclusive<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * @throws IOException<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public TimeRange(byte [] minStamp, byte [] maxStamp)<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  throws IOException {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    this(Bytes.toLong(minStamp), Bytes.toLong(maxStamp));<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>   * @return the smallest timestamp that should be considered<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public long getMin() {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    return minStamp;<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>   * @return the biggest timestamp that should be considered<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public long getMax() {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    return maxStamp;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  }<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /**<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * Check if it is for all time<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   * @return true if it is for all time<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  public boolean isAllTime() {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    return allTime;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * Check if the specified timestamp is within this TimeRange.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * &lt;p&gt;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * Returns true if within interval [minStamp, maxStamp), false<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * if not.<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @param bytes timestamp to check<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * @param offset offset into the bytes<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * @return true if within TimeRange, false if not<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   */<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  public boolean withinTimeRange(byte [] bytes, int offset) {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    if(allTime) return true;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    return withinTimeRange(Bytes.toLong(bytes, offset));<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  }<a name="line.131"></a>
-<span class="sourceLineNo">132</span><a name="line.132"></a>
-<span class="sourceLineNo">133</span>  /**<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * Check if the specified timestamp is within this TimeRange.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * &lt;p&gt;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * Returns true if within interval [minStamp, maxStamp), false<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * if not.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @param timestamp timestamp to check<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * @return true if within TimeRange, false if not<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  public boolean withinTimeRange(long timestamp) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    if(allTime) return true;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    // check if &gt;= minStamp<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    return (minStamp &lt;= timestamp &amp;&amp; timestamp &lt; maxStamp);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>  /**<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   * Check if the specified timestamp is within this TimeRange.<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * &lt;p&gt;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * Returns true if within interval [minStamp, maxStamp), false<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * if not.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * @param timestamp timestamp to check<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @return true if within TimeRange, false if not<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public boolean withinOrAfterTimeRange(long timestamp) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    if(allTime) return true;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    // check if &gt;= minStamp<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    return (timestamp &gt;= minStamp);<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>  /**<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * Compare the timestamp to timerange<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   * @param timestamp<a name="line.163"></a>
-<span class="sourceLineNo">164</span>   * @return -1 if timestamp is less than timerange,<a name="line.164"></a>
-<span class="sourceLineNo">165</span>   * 0 if timestamp is within timerange,<a name="line.165"></a>
-<span class="sourceLineNo">166</span>   * 1 if timestamp is greater than timerange<a name="line.166"></a>
-<span class="sourceLineNo">167</span>   */<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  public int compare(long timestamp) {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    if (allTime) return 0;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    if (timestamp &lt; minStamp) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return -1;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    } else if (timestamp &gt;= maxStamp) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return 1;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    } else {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>      return 0;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    }<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  @Override<a name="line.179"></a>
-<span class="sourceLineNo">180</span>  public String toString() {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    StringBuilder sb = new StringBuilder();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    sb.append("maxStamp=");<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    sb.append(this.maxStamp);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    sb.append(", minStamp=");<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    sb.append(this.minStamp);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    return sb.toString();<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">073</span>  public TimeRange(long minStamp, long maxStamp) {<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    if (minStamp &lt; 0 || maxStamp &lt; 0) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      throw new IllegalArgumentException("Timestamp cannot be negative. minStamp:" + minStamp<a name="line.75"></a>
+<span class="sourceLineNo">076</span>        + ", maxStamp:" + maxStamp);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    }<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    if(maxStamp &lt; minStamp) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      throw new IllegalArgumentException("maxStamp is smaller than minStamp");<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    }<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    this.minStamp = minStamp;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    this.maxStamp = maxStamp;<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>  /**<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * Represents interval [minStamp, maxStamp)<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * @param minStamp the minimum timestamp, inclusive<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param maxStamp the maximum timestamp, exclusive<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @throws IOException<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public TimeRange(byte [] minStamp, byte [] maxStamp)<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  throws IOException {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    this(Bytes.toLong(minStamp), Bytes.toLong(maxStamp));<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">096</span>  /**<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @return the smallest timestamp that should be considered<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public long getMin() {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    return minStamp;<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>  /**<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @return the biggest timestamp that should be considered<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public long getMax() {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return maxStamp;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  /**<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * Check if it is for all time<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * @return true if it is for all time<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public boolean isAllTime() {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return allTime;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  /**<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   * Check if the specified timestamp is within this TimeRange.<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   * &lt;p&gt;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * Returns true if within interval [minStamp, maxStamp), false<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * if not.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * @param bytes timestamp to check<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   * @param offset offset into the bytes<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * @return true if within TimeRange, false if not<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   */<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public boolean withinTimeRange(byte [] bytes, int offset) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    if(allTime) return true;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return withinTimeRange(Bytes.toLong(bytes, offset));<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  /**<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * Check if the specified timestamp is within this TimeRange.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * &lt;p&gt;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * Returns true if within interval [minStamp, maxStamp), false<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * if not.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @param timestamp timestamp to check<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * @return true if within TimeRange, false if not<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  public boolean withinTimeRange(long timestamp) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    if(allTime) return true;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    // check if &gt;= minStamp<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    return (minStamp &lt;= timestamp &amp;&amp; timestamp &lt; maxStamp);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  /**<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * Check if the specified timestamp is within this TimeRange.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * &lt;p&gt;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   * Returns true if within interval [minStamp, maxStamp), false<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   * if not.<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   * @param timestamp timestamp to check<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   * @return true if within TimeRange, false if not<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public boolean withinOrAfterTimeRange(long timestamp) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    if(allTime) return true;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    // check if &gt;= minStamp<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    return (timestamp &gt;= minStamp);<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>   * Compare the timestamp to timerange<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   * @param timestamp<a name="line.162"></a>
+<span class="sourceLineNo">163</span>   * @return -1 if timestamp is less than timerange,<a name="line.163"></a>
+<span class="sourceLineNo">164</span>   * 0 if timestamp is within timerange,<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * 1 if timestamp is greater than timerange<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   */<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public int compare(long timestamp) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    if (allTime) return 0;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    if (timestamp &lt; minStamp) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      return -1;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    } else if (timestamp &gt;= maxStamp) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      return 1;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    } else {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      return 0;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  }<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public String toString() {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    StringBuilder sb = new StringBuilder();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    sb.append("maxStamp=");<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    sb.append(this.maxStamp);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    sb.append(", minStamp=");<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    sb.append(this.minStamp);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return sb.toString();<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span>}<a name="line.187"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/20c64fef/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ImportTsv.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ImportTsv.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ImportTsv.html
index 7e43812..7e1985c 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ImportTsv.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/ImportTsv.html
@@ -671,117 +671,124 @@
 <span class="sourceLineNo">663</span>      "Record with invalid timestamps (blank, non-numeric) will be treated as bad record.\n" +<a name="line.663"></a>
 <span class="sourceLineNo">664</span>      "Note: if you use this option, then '" + TIMESTAMP_CONF_KEY + "' option will be ignored.\n" +<a name="line.664"></a>
 <span class="sourceLineNo">665</span>      "\n" +<a name="line.665"></a>
-<span class="sourceLineNo">666</span>      TsvParser.ATTRIBUTES_COLUMN_SPEC+" can be used to specify Operation Attributes per record.\n"+<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      " Should be specified as key=&gt;value where "+TsvParser.DEFAULT_ATTRIBUTES_COLUMN_INDEX+ " is used \n"+<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      " as the seperator.  Note that more than one OperationAttributes can be specified.\n"+<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      "By default importtsv will load data directly into HBase. To instead generate\n" +<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      "HFiles of data to prepare for a bulk data load, pass the option:\n" +<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      "  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output\n" +<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      "  Note: if you do not use this option, then the target table must already exist in HBase\n" +<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      "\n" +<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      "Other options that may be specified with -D include:\n" +<a name="line.674"></a>
-<span class="sourceLineNo">675</span>      "  -D" + DRY_RUN_CONF_KEY + "=true - Dry run mode. Data is not actually populated into" +<a name="line.675"></a>
-<span class="sourceLineNo">676</span>      " table. If table does not exist, it is created but deleted in the end.\n" +<a name="line.676"></a>
-<span class="sourceLineNo">677</span>      "  -D" + SKIP_LINES_CONF_KEY + "=false - fail if encountering an invalid line\n" +<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      "  -D" + LOG_BAD_LINES_CONF_KEY + "=true - logs invalid lines to stderr\n" +<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      "  '-D" + SEPARATOR_CONF_KEY + "=|' - eg separate on pipes instead of tabs\n" +<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      "  -D" + TIMESTAMP_CONF_KEY + "=currentTimeAsLong - use the specified timestamp for the import\n" +<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      "  -D" + MAPPER_CONF_KEY + "=my.Mapper - A user-defined Mapper to use instead of " +<a name="line.681"></a>
-<span class="sourceLineNo">682</span>      DEFAULT_MAPPER.getName() + "\n" +<a name="line.682"></a>
-<span class="sourceLineNo">683</span>      "  -D" + JOB_NAME_CONF_KEY + "=jobName - use the specified mapreduce job name for the import\n" +<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      "  -D" + CREATE_TABLE_CONF_KEY + "=no - can be used to avoid creation of table by this tool\n" +<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      "  Note: if you set this to 'no', then the target table must already exist in HBase\n" +<a name="line.685"></a>
-<span class="sourceLineNo">686</span>      "  -D" + NO_STRICT_COL_FAMILY + "=true - ignore column family check in hbase table. " +<a name="line.686"></a>
-<span class="sourceLineNo">687</span>      "Default is false\n\n" +<a name="line.687"></a>
-<span class="sourceLineNo">688</span>      "For performance consider the following options:\n" +<a name="line.688"></a>
-<span class="sourceLineNo">689</span>      "  -Dmapreduce.map.speculative=false\n" +<a name="line.689"></a>
-<span class="sourceLineNo">690</span>      "  -Dmapreduce.reduce.speculative=false";<a name="line.690"></a>
-<span class="sourceLineNo">691</span><a name="line.691"></a>
-<span class="sourceLineNo">692</span>    System.err.println(usage);<a name="line.692"></a>
-<span class="sourceLineNo">693</span>  }<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>  @Override<a name="line.695"></a>
-<span class="sourceLineNo">696</span>  public int run(String[] args) throws Exception {<a name="line.696"></a>
-<span class="sourceLineNo">697</span>    if (args.length &lt; 2) {<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      usage("Wrong number of arguments: " + args.length);<a name="line.698"></a>
-<span class="sourceLineNo">699</span>      return -1;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>    }<a name="line.700"></a>
+<span class="sourceLineNo">666</span>      "Other special columns that can be specified are " + TsvParser.CELL_TTL_COLUMN_SPEC +<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      " and " + TsvParser.CELL_VISIBILITY_COLUMN_SPEC + ".\n" +<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      TsvParser.CELL_TTL_COLUMN_SPEC + " designates that this column will be used " +<a name="line.668"></a>
+<span class="sourceLineNo">669</span>      "as a Cell's Time To Live (TTL) attribute.\n" +<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      TsvParser.CELL_VISIBILITY_COLUMN_SPEC + " designates that this column contains the " +<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      "visibility label expression.\n" +<a name="line.671"></a>
+<span class="sourceLineNo">672</span>      "\n" +<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      TsvParser.ATTRIBUTES_COLUMN_SPEC+" can be used to specify Operation Attributes per record.\n"+<a name="line.673"></a>
+<span class="sourceLineNo">674</span>      " Should be specified as key=&gt;value where "+TsvParser.DEFAULT_ATTRIBUTES_COLUMN_INDEX+ " is used \n"+<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      " as the seperator.  Note that more than one OperationAttributes can be specified.\n"+<a name="line.675"></a>
+<span class="sourceLineNo">676</span>      "By default importtsv will load data directly into HBase. To instead generate\n" +<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      "HFiles of data to prepare for a bulk data load, pass the option:\n" +<a name="line.677"></a>
+<span class="sourceLineNo">678</span>      "  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output\n" +<a name="line.678"></a>
+<span class="sourceLineNo">679</span>      "  Note: if you do not use this option, then the target table must already exist in HBase\n" +<a name="line.679"></a>
+<span class="sourceLineNo">680</span>      "\n" +<a name="line.680"></a>
+<span class="sourceLineNo">681</span>      "Other options that may be specified with -D include:\n" +<a name="line.681"></a>
+<span class="sourceLineNo">682</span>      "  -D" + DRY_RUN_CONF_KEY + "=true - Dry run mode. Data is not actually populated into" +<a name="line.682"></a>
+<span class="sourceLineNo">683</span>      " table. If table does not exist, it is created but deleted in the end.\n" +<a name="line.683"></a>
+<span class="sourceLineNo">684</span>      "  -D" + SKIP_LINES_CONF_KEY + "=false - fail if encountering an invalid line\n" +<a name="line.684"></a>
+<span class="sourceLineNo">685</span>      "  -D" + LOG_BAD_LINES_CONF_KEY + "=true - logs invalid lines to stderr\n" +<a name="line.685"></a>
+<span class="sourceLineNo">686</span>      "  '-D" + SEPARATOR_CONF_KEY + "=|' - eg separate on pipes instead of tabs\n" +<a name="line.686"></a>
+<span class="sourceLineNo">687</span>      "  -D" + TIMESTAMP_CONF_KEY + "=currentTimeAsLong - use the specified timestamp for the import\n" +<a name="line.687"></a>
+<span class="sourceLineNo">688</span>      "  -D" + MAPPER_CONF_KEY + "=my.Mapper - A user-defined Mapper to use instead of " +<a name="line.688"></a>
+<span class="sourceLineNo">689</span>      DEFAULT_MAPPER.getName() + "\n" +<a name="line.689"></a>
+<span class="sourceLineNo">690</span>      "  -D" + JOB_NAME_CONF_KEY + "=jobName - use the specified mapreduce job name for the import\n" +<a name="line.690"></a>
+<span class="sourceLineNo">691</span>      "  -D" + CREATE_TABLE_CONF_KEY + "=no - can be used to avoid creation of table by this tool\n" +<a name="line.691"></a>
+<span class="sourceLineNo">692</span>      "  Note: if you set this to 'no', then the target table must already exist in HBase\n" +<a name="line.692"></a>
+<span class="sourceLineNo">693</span>      "  -D" + NO_STRICT_COL_FAMILY + "=true - ignore column family check in hbase table. " +<a name="line.693"></a>
+<span class="sourceLineNo">694</span>      "Default is false\n\n" +<a name="line.694"></a>
+<span class="sourceLineNo">695</span>      "For performance consider the following options:\n" +<a name="line.695"></a>
+<span class="sourceLineNo">696</span>      "  -Dmapreduce.map.speculative=false\n" +<a name="line.696"></a>
+<span class="sourceLineNo">697</span>      "  -Dmapreduce.reduce.speculative=false";<a name="line.697"></a>
+<span class="sourceLineNo">698</span><a name="line.698"></a>
+<span class="sourceLineNo">699</span>    System.err.println(usage);<a name="line.699"></a>
+<span class="sourceLineNo">700</span>  }<a name="line.700"></a>
 <span class="sourceLineNo">701</span><a name="line.701"></a>
-<span class="sourceLineNo">702</span>    // When MAPPER_CONF_KEY is null, the user wants to use the provided TsvImporterMapper, so<a name="line.702"></a>
-<span class="sourceLineNo">703</span>    // perform validation on these additional args. When it's not null, user has provided their<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    // own mapper, thus these validation are not relevant.<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    // TODO: validation for TsvImporterMapper, not this tool. Move elsewhere.<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    if (null == getConf().get(MAPPER_CONF_KEY)) {<a name="line.706"></a>
-<span class="sourceLineNo">707</span>      // Make sure columns are specified<a name="line.707"></a>
-<span class="sourceLineNo">708</span>      String[] columns = getConf().getStrings(COLUMNS_CONF_KEY);<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      if (columns == null) {<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        usage("No columns specified. Please specify with -D" +<a name="line.710"></a>
-<span class="sourceLineNo">711</span>            COLUMNS_CONF_KEY+"=...");<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        return -1;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      }<a name="line.713"></a>
-<span class="sourceLineNo">714</span><a name="line.714"></a>
-<span class="sourceLineNo">715</span>      // Make sure they specify exactly one column as the row key<a name="line.715"></a>
-<span class="sourceLineNo">716</span>      int rowkeysFound = 0;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      for (String col : columns) {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        if (col.equals(TsvParser.ROWKEY_COLUMN_SPEC)) rowkeysFound++;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      if (rowkeysFound != 1) {<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        usage("Must specify exactly one column as " + TsvParser.ROWKEY_COLUMN_SPEC);<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        return -1;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      }<a name="line.723"></a>
-<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span>      // Make sure we have at most one column as the timestamp key<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      int tskeysFound = 0;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>      for (String col : columns) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>        if (col.equals(TsvParser.TIMESTAMPKEY_COLUMN_SPEC))<a name="line.728"></a>
-<span class="sourceLineNo">729</span>          tskeysFound++;<a name="line.729"></a>
+<span class="sourceLineNo">702</span>  @Override<a name="line.702"></a>
+<span class="sourceLineNo">703</span>  public int run(String[] args) throws Exception {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>    if (args.length &lt; 2) {<a name="line.704"></a>
+<span class="sourceLineNo">705</span>      usage("Wrong number of arguments: " + args.length);<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      return -1;<a name="line.706"></a>
+<span class="sourceLineNo">707</span>    }<a name="line.707"></a>
+<span class="sourceLineNo">708</span><a name="line.708"></a>
+<span class="sourceLineNo">709</span>    // When MAPPER_CONF_KEY is null, the user wants to use the provided TsvImporterMapper, so<a name="line.709"></a>
+<span class="sourceLineNo">710</span>    // perform validation on these additional args. When it's not null, user has provided their<a name="line.710"></a>
+<span class="sourceLineNo">711</span>    // own mapper, thus these validation are not relevant.<a name="line.711"></a>
+<span class="sourceLineNo">712</span>    // TODO: validation for TsvImporterMapper, not this tool. Move elsewhere.<a name="line.712"></a>
+<span class="sourceLineNo">713</span>    if (null == getConf().get(MAPPER_CONF_KEY)) {<a name="line.713"></a>
+<span class="sourceLineNo">714</span>      // Make sure columns are specified<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      String[] columns = getConf().getStrings(COLUMNS_CONF_KEY);<a name="line.715"></a>
+<span class="sourceLineNo">716</span>      if (columns == null) {<a name="line.716"></a>
+<span class="sourceLineNo">717</span>        usage("No columns specified. Please specify with -D" +<a name="line.717"></a>
+<span class="sourceLineNo">718</span>            COLUMNS_CONF_KEY+"=...");<a name="line.718"></a>
+<span class="sourceLineNo">719</span>        return -1;<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      }<a name="line.720"></a>
+<span class="sourceLineNo">721</span><a name="line.721"></a>
+<span class="sourceLineNo">722</span>      // Make sure they specify exactly one column as the row key<a name="line.722"></a>
+<span class="sourceLineNo">723</span>      int rowkeysFound = 0;<a name="line.723"></a>
+<span class="sourceLineNo">724</span>      for (String col : columns) {<a name="line.724"></a>
+<span class="sourceLineNo">725</span>        if (col.equals(TsvParser.ROWKEY_COLUMN_SPEC)) rowkeysFound++;<a name="line.725"></a>
+<span class="sourceLineNo">726</span>      }<a name="line.726"></a>
+<span class="sourceLineNo">727</span>      if (rowkeysFound != 1) {<a name="line.727"></a>
+<span class="sourceLineNo">728</span>        usage("Must specify exactly one column as " + TsvParser.ROWKEY_COLUMN_SPEC);<a name="line.728"></a>
+<span class="sourceLineNo">729</span>        return -1;<a name="line.729"></a>
 <span class="sourceLineNo">730</span>      }<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      if (tskeysFound &gt; 1) {<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        usage("Must specify at most one column as "<a name="line.732"></a>
-<span class="sourceLineNo">733</span>            + TsvParser.TIMESTAMPKEY_COLUMN_SPEC);<a name="line.733"></a>
-<span class="sourceLineNo">734</span>        return -1;<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      }<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span>      int attrKeysFound = 0;<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      for (String col : columns) {<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        if (col.equals(TsvParser.ATTRIBUTES_COLUMN_SPEC))<a name="line.739"></a>
-<span class="sourceLineNo">740</span>          attrKeysFound++;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>      }<a name="line.741"></a>
-<span class="sourceLineNo">742</span>      if (attrKeysFound &gt; 1) {<a name="line.742"></a>
-<span class="sourceLineNo">743</span>        usage("Must specify at most one column as "<a name="line.743"></a>
-<span class="sourceLineNo">744</span>            + TsvParser.ATTRIBUTES_COLUMN_SPEC);<a name="line.744"></a>
-<span class="sourceLineNo">745</span>        return -1;<a name="line.745"></a>
-<span class="sourceLineNo">746</span>      }<a name="line.746"></a>
-<span class="sourceLineNo">747</span><a name="line.747"></a>
-<span class="sourceLineNo">748</span>      // Make sure one or more columns are specified excluding rowkey and<a name="line.748"></a>
-<span class="sourceLineNo">749</span>      // timestamp key<a name="line.749"></a>
-<span class="sourceLineNo">750</span>      if (columns.length - (rowkeysFound + tskeysFound + attrKeysFound) &lt; 1) {<a name="line.750"></a>
-<span class="sourceLineNo">751</span>        usage("One or more columns in addition to the row key and timestamp(optional) are required");<a name="line.751"></a>
+<span class="sourceLineNo">731</span><a name="line.731"></a>
+<span class="sourceLineNo">732</span>      // Make sure we have at most one column as the timestamp key<a name="line.732"></a>
+<span class="sourceLineNo">733</span>      int tskeysFound = 0;<a name="line.733"></a>
+<span class="sourceLineNo">734</span>      for (String col : columns) {<a name="line.734"></a>
+<span class="sourceLineNo">735</span>        if (col.equals(TsvParser.TIMESTAMPKEY_COLUMN_SPEC))<a name="line.735"></a>
+<span class="sourceLineNo">736</span>          tskeysFound++;<a name="line.736"></a>
+<span class="sourceLineNo">737</span>      }<a name="line.737"></a>
+<span class="sourceLineNo">738</span>      if (tskeysFound &gt; 1) {<a name="line.738"></a>
+<span class="sourceLineNo">739</span>        usage("Must specify at most one column as "<a name="line.739"></a>
+<span class="sourceLineNo">740</span>            + TsvParser.TIMESTAMPKEY_COLUMN_SPEC);<a name="line.740"></a>
+<span class="sourceLineNo">741</span>        return -1;<a name="line.741"></a>
+<span class="sourceLineNo">742</span>      }<a name="line.742"></a>
+<span class="sourceLineNo">743</span><a name="line.743"></a>
+<span class="sourceLineNo">744</span>      int attrKeysFound = 0;<a name="line.744"></a>
+<span class="sourceLineNo">745</span>      for (String col : columns) {<a name="line.745"></a>
+<span class="sourceLineNo">746</span>        if (col.equals(TsvParser.ATTRIBUTES_COLUMN_SPEC))<a name="line.746"></a>
+<span class="sourceLineNo">747</span>          attrKeysFound++;<a name="line.747"></a>
+<span class="sourceLineNo">748</span>      }<a name="line.748"></a>
+<span class="sourceLineNo">749</span>      if (attrKeysFound &gt; 1) {<a name="line.749"></a>
+<span class="sourceLineNo">750</span>        usage("Must specify at most one column as "<a name="line.750"></a>
+<span class="sourceLineNo">751</span>            + TsvParser.ATTRIBUTES_COLUMN_SPEC);<a name="line.751"></a>
 <span class="sourceLineNo">752</span>        return -1;<a name="line.752"></a>
 <span class="sourceLineNo">753</span>      }<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>    // If timestamp option is not specified, use current system time.<a name="line.756"></a>
-<span class="sourceLineNo">757</span>    long timstamp = getConf().getLong(TIMESTAMP_CONF_KEY, System.currentTimeMillis());<a name="line.757"></a>
-<span class="sourceLineNo">758</span><a name="line.758"></a>
-<span class="sourceLineNo">759</span>    // Set it back to replace invalid timestamp (non-numeric) with current<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    // system time<a name="line.760"></a>
-<span class="sourceLineNo">761</span>    getConf().setLong(TIMESTAMP_CONF_KEY, timstamp);<a name="line.761"></a>
+<span class="sourceLineNo">754</span><a name="line.754"></a>
+<span class="sourceLineNo">755</span>      // Make sure one or more columns are specified excluding rowkey and<a name="line.755"></a>
+<span class="sourceLineNo">756</span>      // timestamp key<a name="line.756"></a>
+<span class="sourceLineNo">757</span>      if (columns.length - (rowkeysFound + tskeysFound + attrKeysFound) &lt; 1) {<a name="line.757"></a>
+<span class="sourceLineNo">758</span>        usage("One or more columns in addition to the row key and timestamp(optional) are required");<a name="line.758"></a>
+<span class="sourceLineNo">759</span>        return -1;<a name="line.759"></a>
+<span class="sourceLineNo">760</span>      }<a name="line.760"></a>
+<span class="sourceLineNo">761</span>    }<a name="line.761"></a>
 <span class="sourceLineNo">762</span><a name="line.762"></a>
-<span class="sourceLineNo">763</span>    dryRunTableCreated = false;<a name="line.763"></a>
-<span class="sourceLineNo">764</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.764"></a>
-<span class="sourceLineNo">765</span>    boolean success = job.waitForCompletion(true);<a name="line.765"></a>
-<span class="sourceLineNo">766</span>    if (dryRunTableCreated) {<a name="line.766"></a>
-<span class="sourceLineNo">767</span>      deleteTable(getConf(), args);<a name="line.767"></a>
-<span class="sourceLineNo">768</span>    }<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    return success ? 0 : 1;<a name="line.769"></a>
-<span class="sourceLineNo">770</span>  }<a name="line.770"></a>
-<span class="sourceLineNo">771</span><a name="line.771"></a>
-<span class="sourceLineNo">772</span>  public static void main(String[] args) throws Exception {<a name="line.772"></a>
-<span class="sourceLineNo">773</span>    int status = ToolRunner.run(HBaseConfiguration.create(), new ImportTsv(), args);<a name="line.773"></a>
-<span class="sourceLineNo">774</span>    System.exit(status);<a name="line.774"></a>
-<span class="sourceLineNo">775</span>  }<a name="line.775"></a>
-<span class="sourceLineNo">776</span>}<a name="line.776"></a>
+<span class="sourceLineNo">763</span>    // If timestamp option is not specified, use current system time.<a name="line.763"></a>
+<span class="sourceLineNo">764</span>    long timstamp = getConf().getLong(TIMESTAMP_CONF_KEY, System.currentTimeMillis());<a name="line.764"></a>
+<span class="sourceLineNo">765</span><a name="line.765"></a>
+<span class="sourceLineNo">766</span>    // Set it back to replace invalid timestamp (non-numeric) with current<a name="line.766"></a>
+<span class="sourceLineNo">767</span>    // system time<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    getConf().setLong(TIMESTAMP_CONF_KEY, timstamp);<a name="line.768"></a>
+<span class="sourceLineNo">769</span><a name="line.769"></a>
+<span class="sourceLineNo">770</span>    dryRunTableCreated = false;<a name="line.770"></a>
+<span class="sourceLineNo">771</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.771"></a>
+<span class="sourceLineNo">772</span>    boolean success = job.waitForCompletion(true);<a name="line.772"></a>
+<span class="sourceLineNo">773</span>    if (dryRunTableCreated) {<a name="line.773"></a>
+<span class="sourceLineNo">774</span>      deleteTable(getConf(), args);<a name="line.774"></a>
+<span class="sourceLineNo">775</span>    }<a name="line.775"></a>
+<span class="sourceLineNo">776</span>    return success ? 0 : 1;<a name="line.776"></a>
+<span class="sourceLineNo">777</span>  }<a name="line.777"></a>
+<span class="sourceLineNo">778</span><a name="line.778"></a>
+<span class="sourceLineNo">779</span>  public static void main(String[] args) throws Exception {<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    int status = ToolRunner.run(HBaseConfiguration.create(), new ImportTsv(), args);<a name="line.780"></a>
+<span class="sourceLineNo">781</span>    System.exit(status);<a name="line.781"></a>
+<span class="sourceLineNo">782</span>  }<a name="line.782"></a>
+<span class="sourceLineNo">783</span>}<a name="line.783"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/20c64fef/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index d8786fe..705345f 100644
--- a/book.html
+++ b/book.html
@@ -8635,15 +8635,17 @@ The rowkey of LOG_TYPES would be:</p>
 <div class="ulist">
 <ul>
 <li>
-<p>[type] (e.g., byte indicating hostname vs. event-type)</p>
+<p><code>[type]</code> (e.g., byte indicating hostname vs. event-type)</p>
 </li>
 <li>
-<p>[bytes] variable length bytes for raw hostname or event-type.</p>
+<p><code>[bytes]</code> variable length bytes for raw hostname or event-type.</p>
 </li>
 </ul>
 </div>
 <div class="paragraph">
-<p>A column for this rowkey could be a long with an assigned number, which could be obtained by using an <a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#incrementColumnValue%28byte" class="bare">http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#incrementColumnValue%28byte</a>,%20byte[],%20byte[],%20long%29[HBase counter].</p>
+<p>A column for this rowkey could be a long with an assigned number, which could be obtained
+by using an
+<a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#incrementColumnValue%28byte[],%20byte[],%20byte[],%20long%29">HBase counter</a>.</p>
 </div>
 <div class="paragraph">
 <p>So the resulting composite rowkey would be:</p>
@@ -8671,7 +8673,9 @@ The rowkey of LOG_TYPES would be:</p>
 <div class="paragraph">
 <p>This effectively is the OpenTSDB approach.
 What OpenTSDB does is re-write data and pack rows into columns for certain time-periods.
-For a detailed explanation, see: link:http://opentsdb.net/schema.html, and <a href="http://www.cloudera.com/content/cloudera/en/resources/library/hbasecon/video-hbasecon-2012-lessons-learned-from-opentsdb.html">Lessons Learned from OpenTSDB</a> from HBaseCon2012.</p>
+For a detailed explanation, see: link:http://opentsdb.net/schema.html, and
+<a href="http://www.cloudera.com/content/cloudera/en/resources/library/hbasecon/video-hbasecon-2012-lessons-learned-from-opentsdb.html">Lessons Learned from OpenTSDB</a>
+from HBaseCon2012.</p>
 </div>
 <div class="paragraph">
 <p>But this is how the general concept works: data is ingested, for example, in this manner&#8230;&#8203;</p>
@@ -8855,10 +8859,10 @@ Assume that the class structure is as follows:</p>
 <div class="ulist">
 <ul>
 <li>
-<p>[order-rowkey]</p>
+<p><code>[order-rowkey]</code></p>
 </li>
 <li>
-<p>[shipping location number] (e.g., 1st location, 2nd, etc.)</p>
+<p><code>[shipping location number]</code> (e.g., 1st location, 2nd, etc.)</p>
 </li>
 </ul>
 </div>
@@ -8868,13 +8872,13 @@ Assume that the class structure is as follows:</p>
 <div class="ulist">
 <ul>
 <li>
-<p>[order-rowkey]</p>
+<p><code>[order-rowkey]</code></p>
 </li>
 <li>
-<p>[shipping location number] (e.g., 1st location, 2nd, etc.)</p>
+<p><code>[shipping location number]</code> (e.g., 1st location, 2nd, etc.)</p>
 </li>
 <li>
-<p>[line item number] (e.g., 1st lineitem, 2nd, etc.)</p>
+<p><code>[line item number]</code> (e.g., 1st lineitem, 2nd, etc.)</p>
 </li>
 </ul>
 </div>
@@ -8910,10 +8914,10 @@ The cons of such an approach is that to retrieve information about any Order, yo
 <div class="ulist">
 <ul>
 <li>
-<p>[order-rowkey]</p>
+<p><code>[order-rowkey]</code></p>
 </li>
 <li>
-<p>[ORDER record type]</p>
+<p><code>[ORDER record type]</code></p>
 </li>
 </ul>
 </div>
@@ -8923,13 +8927,13 @@ The cons of such an approach is that to retrieve information about any Order, yo
 <div class="ulist">
 <ul>
 <li>
-<p>[order-rowkey]</p>
+<p><code>[order-rowkey]</code></p>
 </li>
 <li>
-<p>[SHIPPING record type]</p>
+<p><code>[SHIPPING record type]</code></p>
 </li>
 <li>
-<p>[shipping location number] (e.g., 1st location, 2nd, etc.)</p>
+<p><code>[shipping location number]</code> (e.g., 1st location, 2nd, etc.)</p>
 </li>
 </ul>
 </div>
@@ -8939,16 +8943,16 @@ The cons of such an approach is that to retrieve information about any Order, yo
 <div class="ulist">
 <ul>
 <li>
-<p>[order-rowkey]</p>
+<p><code>[order-rowkey]</code></p>
 </li>
 <li>
-<p>[LINE record type]</p>
+<p><code>[LINE record type]</code></p>
 </li>
 <li>
-<p>[shipping location number] (e.g., 1st location, 2nd, etc.)</p>
+<p><code>[shipping location number]</code> (e.g., 1st location, 2nd, etc.)</p>
 </li>
 <li>
-<p>[line item number] (e.g., 1st lineitem, 2nd, etc.)</p>
+<p><code>[line item number]</code> (e.g., 1st lineitem, 2nd, etc.)</p>
 </li>
 </ul>
 </div>
@@ -8964,13 +8968,13 @@ The cons of such an approach is that to retrieve information about any Order, yo
 <div class="ulist">
 <ul>
 <li>
-<p>[order-rowkey]</p>
+<p><code>[order-rowkey]</code></p>
 </li>
 <li>
-<p>[LINE record type]</p>
+<p><code>[LINE record type]</code></p>
 </li>
 <li>
-<p>[line item number] (e.g., 1st lineitem, 2nd, etc., care must be taken that there are unique across the entire order)</p>
+<p><code>[line item number]</code> (e.g., 1st lineitem, 2nd, etc., care must be taken that there are unique across the entire order)</p>
 </li>
 </ul>
 </div>
@@ -11782,13 +11786,23 @@ The correct way to apply cell level labels is to do so in the application code w
 </li>
 </ol>
 </div>
+</div>
+<div class="sect3">
+<h4 id="reading_cells_with_labels"><a class="anchor" href="#reading_cells_with_labels"></a>59.3.3. Reading Cells with Labels</h4>
 <div class="paragraph">
-<p><a href="#reading_cells_with_labels">[reading_cells_with_labels]</a>
-==== Reading Cells with Labels
-When you issue a Scan or Get, HBase uses your default set of authorizations to filter out cells that you do not have access to. A superuser can set the default set of authorizations for a given user by using the <code>set_auths</code> HBase Shell command or the <a href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#setAuths(org.apache.hadoop.hbase.client.Connection,%20java.lang.String" class="bare">http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#setAuths(org.apache.hadoop.hbase.client.Connection,%20java.lang.String</a>,%20java.lang.String)[VisibilityClient.setAuths()] method.</p>
+<p>When you issue a Scan or Get, HBase uses your default set of authorizations to
+filter out cells that you do not have access to. A superuser can set the default
+set of authorizations for a given user by using the <code>set_auths</code> HBase Shell command
+or the
+<a href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityClient.html#setAuths(org.apache.hadoop.hbase.client.Connection,%20java.lang.String\">],%20java.lang.String)[VisibilityClient.setAuths()</a> method.</p>
 </div>
 <div class="paragraph">
-<p>You can specify a different authorization during the Scan or Get, by passing the AUTHORIZATIONS option in HBase Shell, or the <a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Scan.html#setAuthorizations%28org.apache.hadoop.hbase.security.visibility.Authorizations%29">setAuthorizations()</a> method if you use the API. This authorization will be combined with your default set as an additional filter. It will further filter your results, rather than giving you additional authorization.</p>
+<p>You can specify a different authorization during the Scan or Get, by passing the
+AUTHORIZATIONS option in HBase Shell, or the
+<a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Scan.html#setAuthorizations%28org.apache.hadoop.hbase.security.visibility.Authorizations%29">setAuthorizations()</a>
+method if you use the API. This authorization will be combined with your default
+set as an additional filter. It will further filter your results, rather than
+giving you additional authorization.</p>
 </div>
 <div class="exampleblock">
 <div class="title">Example 33. HBase Shell</div>
@@ -11835,7 +11849,7 @@ public <span class="predefined-type">Void</span> run() <span class="directive">t
 </div>
 </div>
 <div class="sect3">
-<h4 id="_implementing_your_own_visibility_label_algorithm"><a class="anchor" href="#_implementing_your_own_visibility_label_algorithm"></a>59.3.3. Implementing Your Own Visibility Label Algorithm</h4>
+<h4 id="_implementing_your_own_visibility_label_algorithm"><a class="anchor" href="#_implementing_your_own_visibility_label_algorithm"></a>59.3.4. Implementing Your Own Visibility Label Algorithm</h4>
 <div class="paragraph">
 <p>Interpreting the labels authenticated for a given get/scan request is a pluggable algorithm.</p>
 </div>
@@ -11843,11 +11857,11 @@ public <span class="predefined-type">Void</span> run() <span class="directive">t
 <p>You can specify a custom plugin or plugins by using the property <code>hbase.regionserver.scan.visibility.label.generator.class</code>. The output for the first <code>ScanLabelGenerator</code> will be the input for the next one, until the end of the list.</p>
 </div>
 <div class="paragraph">
-<p>The default implementation, which was implemented in <a href="https://issues.apache.org/jira/browse/HBASE-12466">HBASE-12466</a>, loads two plugins, <code>FeedUserAuthScanLabelGenerator</code> and <code>DefinedSetFilterScanLabelGenerator</code>. See <a href="#reading_cells_with_labels">[reading_cells_with_labels]</a>.</p>
+<p>The default implementation, which was implemented in <a href="https://issues.apache.org/jira/browse/HBASE-12466">HBASE-12466</a>, loads two plugins, <code>FeedUserAuthScanLabelGenerator</code> and <code>DefinedSetFilterScanLabelGenerator</code>. See <a href="#reading_cells_with_labels">Reading Cells with Labels</a>.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_replicating_visibility_tags_as_strings"><a class="anchor" href="#_replicating_visibility_tags_as_strings"></a>59.3.4. Replicating Visibility Tags as Strings</h4>
+<h4 id="_replicating_visibility_tags_as_strings"><a class="anchor" href="#_replicating_visibility_tags_as_strings"></a>59.3.5. Replicating Visibility Tags as Strings</h4>
 <div class="paragraph">
 <p>As mentioned in the above sections, the interface <code>VisibilityLabelService</code> could be used to implement a different way of storing the visibility expressions in the cells. Clusters with replication enabled also must replicate the visibility expressions to the peer cluster. If <code>DefaultVisibilityLabelServiceImpl</code> is used as the implementation for <code>VisibilityLabelService</code>, all the visibility expression are converted to the corresponding expression based on the ordinals for each visibility label stored in the labels table. During replication, visible cells are also replicated with the ordinal-based expression intact. The peer cluster may not have the same <code>labels</code> table with the same ordinal mapping for the visibility labels. In that case, replicating the ordinals makes no sense. It would be better if the replication occurred with the visibility expressions transmitted as strings. To replicate the visibility expression as strings to the peer 
 cluster, create a <code>RegionServerObserver</code> configuration which works based on the implementation of the <code>VisibilityLabelService</code> interface. The configuration below enables replication of visibility expressions to peer clusters as strings. See <a href="https://issues.apache.org/jira/browse/HBASE-11639">HBASE-11639</a> for more details.</p>
 </div>
@@ -12114,8 +12128,10 @@ Next, configure fallback to the old master key in the <em>hbase-site.xml</em> fi
 <h3 id="hbase.secure.bulkload"><a class="anchor" href="#hbase.secure.bulkload"></a>59.5. Secure Bulk Load</h3>
 <div class="paragraph">
 <p>Bulk loading in secure mode is a bit more involved than normal setup, since the client has to transfer the ownership of the files generated from the MapReduce job to HBase.
-Secure bulk loading is implemented by a coprocessor, named link:http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.html
-[SecureBulkLoadEndpoint], which uses a staging directory configured by the configuration property <code>hbase.bulkload.staging.dir</code>, which defaults to <em>/tmp/hbase-staging/</em>.</p>
+Secure bulk loading is implemented by a coprocessor, named
+<a href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.html">SecureBulkLoadEndpoint</a>,
+which uses a staging directory configured by the configuration property <code>hbase.bulkload.staging.dir</code>, which defaults to
+<em>/tmp/hbase-staging/</em>.</p>
 </div>
 <div class="ulist">
 <div class="title">Secure Bulk Load Algorithm</div>
@@ -12506,7 +12522,7 @@ If a region has both an empty start and an empty end key, it is the only region
 <div class="paragraph">
 <p>In the (hopefully unlikely) event that programmatic processing of catalog metadata
 is required, see the
-<a href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/util/Writables.html#getHRegionInfo%28byte" class="bare">http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/util/Writables.html#getHRegionInfo%28byte</a>%29[Writables]
+<a href="http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/util/Writables.html#getHRegionInfo%28byte[]%29">Writables</a>
 utility.</p>
 </div>
 </div>
@@ -15003,112 +15019,152 @@ This list is not exhaustive.
 To tune these parameters from the defaults, edit the <em>hbase-default.xml</em> file.
 For a full list of all configuration parameters available, see <a href="#config.files">config.files</a></p>
 </div>
-<table class="tableblock frame-all grid-all spread">
-<colgroup>
-<col style="width: 33%;">
-<col style="width: 33%;">
-<col style="width: 33%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Parameter</th>
-<th class="tableblock halign-left valign-top">Description</th>
-<th class="tableblock halign-left valign-top">Default</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.min</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The minimum number of StoreFiles which must be eligible for compaction before compaction can run. The goal of tuning <code>hbase.hstore.compaction.min</code> is to avoid ending up with too many tiny StoreFiles to compact. Setting this value to 2 would cause a minor compaction each time you have two StoreFiles in a Store, and this is probably not appropriate. If you set this value too high, all the other values will need to be adjusted accordingly. For most cases, the default value is appropriate. In previous versions of HBase, the parameter hbase.hstore.compaction.min was called <code>hbase.hstore.compactionThreshold</code>.</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.max</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The maximum number of StoreFiles which will be selected for a single minor compaction, regardless of the number of eligible StoreFiles. Effectively, the value of hbase.hstore.compaction.max controls the length of time it takes a single compaction to complete. Setting it larger means that more StoreFiles are included in a compaction. For most cases, the default value is appropriate.</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">10</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.min.size</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>A StoreFile smaller than this size will always be eligible for minor compaction. StoreFiles this size or larger are evaluated by <code>hbase.hstore.compaction.ratio</code> to determine if they are eligible. Because this limit represents the "automatic include" limit for all StoreFiles smaller than this value, this value may need to be reduced in write-heavy environments where many files in the 1-2 MB range are being flushed, because every StoreFile will be targeted for compaction and the resulting StoreFiles may still be under the minimum size and require further compaction. If this parameter is lowered, the ratio check is triggered more quickly. This addressed some issues seen in earlier versions of HBase but changing this parameter is no longer necessary in most situations.</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">128 MB</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.max.size</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>An StoreFile larger than this size will be excluded from compaction. The effect of raising <code>hbase.hstore.compaction.max.size</code> is fewer, larger StoreFiles that do not get compacted often. If you feel that compaction is happening too often without much benefit, you can try raising this value.</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Long.MAX_VALUE</code></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.ratio</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>For minor compaction, this ratio is used to determine whether a given StoreFile which is larger than <code>hbase.hstore.compaction.min.size</code> is eligible for compaction. Its effect is to limit compaction of large StoreFile. The value of <code>hbase.hstore.compaction.ratio</code> is expressed as a floating-point decimal.</p>
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>hbase.hstore.compaction.min</code></dt>
+<dd>
+<p>The minimum number of StoreFiles which must be eligible for compaction before compaction can run.
+The goal of tuning <code>hbase.hstore.compaction.min</code> is to avoid ending up with too many tiny StoreFiles
+to compact. Setting this value to 2 would cause a minor compaction each time you have two StoreFiles
+in a Store, and this is probably not appropriate. If you set this value too high, all the other
+values will need to be adjusted accordingly. For most cases, the default value is appropriate.
+In previous versions of HBase, the parameter <code>hbase.hstore.compaction.min</code> was called
+<code>hbase.hstore.compactionThreshold</code>.</p>
+<div class="paragraph">
+<p><strong>Default</strong>: 3</p>
+</div>
+</dd>
+<dt class="hdlist1"><code>hbase.hstore.compaction.max</code></dt>
+<dd>
+<p>The maximum number of StoreFiles which will be selected for a single minor compaction,
+regardless of the number of eligible StoreFiles. Effectively, the value of
+<code>hbase.hstore.compaction.max</code> controls the length of time it takes a single
+compaction to complete. Setting it larger means that more StoreFiles are included
+in a compaction. For most cases, the default value is appropriate.</p>
+<div class="paragraph">
+<p><strong>Default</strong>: 10</p>
 </div>
+</dd>
+<dt class="hdlist1"><code>hbase.hstore.compaction.min.size</code></dt>
+<dd>
+<p>A StoreFile smaller than this size will always be eligible for minor compaction.
+StoreFiles this size or larger are evaluated by <code>hbase.hstore.compaction.ratio</code>
+to determine if they are eligible. Because this limit represents the "automatic
+include" limit for all StoreFiles smaller than this value, this value may need
+to be reduced in write-heavy environments where many files in the 1-2 MB range
+are being flushed, because every StoreFile will be targeted for compaction and
+the resulting StoreFiles may still be under the minimum size and require further
+compaction. If this parameter is lowered, the ratio check is triggered more quickly.
+This addressed some issues seen in earlier versions of HBase but changing this
+parameter is no longer necessary in most situations.</p>
+<div class="paragraph">
+<p><strong>Default</strong>:128 MB</p>
+</div>
+</dd>
+<dt class="hdlist1"><code>hbase.hstore.compaction.max.size</code></dt>
+<dd>
+<p>A StoreFile larger than this size will be excluded from compaction. The effect of
+raising <code>hbase.hstore.compaction.max.size</code> is fewer, larger StoreFiles that do not
+get compacted often. If you feel that compaction is happening too often without
+much benefit, you can try raising this value.</p>
+<div class="paragraph">
+<p><strong>Default</strong>: <code>Long.MAX_VALUE</code></p>
+</div>
+</dd>
+<dt class="hdlist1"><code>hbase.hstore.compaction.ratio</code></dt>
+<dd>
+<p>For minor compaction, this ratio is used to determine whether a given StoreFile
+which is larger than <code>hbase.hstore.compaction.min.size</code> is eligible for compaction.
+Its effect is to limit compaction of large StoreFile. The value of
+<code>hbase.hstore.compaction.ratio</code> is expressed as a floating-point decimal.</p>
 <div class="ulist">
 <ul>
 <li>
-<p>A large ratio, such as 10, will produce a single giant StoreFile. Conversely, a value of .25, will produce behavior similar to the BigTable compaction algorithm, producing four StoreFiles.</p>
+<p>A large ratio, such as 10, will produce a single giant StoreFile. Conversely,
+a value of .25, will produce behavior similar to the BigTable compaction algorithm,
+producing four StoreFiles.</p>
 </li>
 <li>
-<p>A moderate value of between 1.0 and 1.4 is recommended. When tuning this value, you are balancing write costs with read costs. Raising the value (to something like 1.4) will have more write costs, because you will compact larger StoreFiles. However, during reads, HBase will need to seek through fewer StoreFiles to accomplish the read. Consider this approach if you cannot take advantage of <a href="#bloom">[bloom]</a>.</p>
+<p>A moderate value of between 1.0 and 1.4 is recommended. When tuning this value,
+you are balancing write costs with read costs. Raising the value (to something like
+1.4) will have more write costs, because you will compact larger StoreFiles.
+However, during reads, HBase will need to seek through fewer StoreFiles to
+accomplish the read. Consider this approach if you cannot take advantage of <a href="#bloom">[bloom]</a>.</p>
 </li>
 <li>
-<p>Alternatively, you can lower this value to something like 1.0 to reduce the background cost of writes, and use  to limit the number of StoreFiles touched during reads. For most cases, the default value is appropriate.</p>
+<p>Alternatively, you can lower this value to something like 1.0 to reduce the
+background cost of writes, and use  to limit the number of StoreFiles touched
+during reads. For most cases, the default value is appropriate.</p>
+<div class="paragraph">
+<p><strong>Default</strong>: <code>1.2F</code></p>
+</div>
 </li>
 </ul>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.2F</code></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hstore.compaction.ratio.offpeak</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The compaction ratio used during off-peak compactions, if off-peak hours are also configured (see below). Expressed as a floating-point decimal. This allows for more aggressive (or less aggressive, if you set it lower than <code>hbase.hstore.compaction.ratio</code>) compaction during a set time period. Ignored if off-peak is disabled (default). This works the same as hbase.hstore.compaction.ratio.</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>5.0F</code></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.offpeak.start.hour</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The start of off-peak hours, expressed as an integer between 0 and 23, inclusive. Set to -1 to disable off-peak.</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code> (disabled)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.offpeak.end.hour</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>The end of off-peak hours, expressed as an integer between 0 and 23, inclusive. Set to -1 to disable off-peak.</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code> (disabled)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.regionserver.thread.compaction.throttle</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>There are two different thread pools for compactions, one for large compactions and the other for small compactions. This helps to keep compaction of lean tables (such as <code>hbase:meta</code>) fast. If a compaction is larger than this threshold, it goes into the large compaction pool. In most cases, the default value is appropriate.</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>2 x hbase.hstore.compaction.max x hbase.hregion.memstore.flush.size</code> (which defaults to <code>128</code>)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hregion.majorcompaction</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Time between major compactions, expressed in milliseconds. Set to 0 to disable time-based automatic major compactions. User-requested and size-based major compactions will still run. This value is multiplied by <code>hbase.hregion.majorcompaction.jitter</code> to cause compaction to start at a somewhat-random time during a given window of time.</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">7 days (<code>604800000</code> milliseconds)</p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>hbase.hregion.majorcompaction.jitter</code></p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>A multiplier applied to hbase.hregion.majorcompaction to cause compaction to occur a given amount of time either side of <code>hbase.hregion.majorcompaction</code>. The smaller the number, the closer the compactions will happen to the <code>hbase.hregion.majorcompaction</code> interval. Expressed as a floating-point decimal.</p>
-</div></div></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>.50F</code></p></td>
-</tr>
-</tbody>
-</table>
+</div>
+</dd>
+<dt class="hdlist1"><code>hbase.hstore.compaction.ratio.offpeak</code></dt>
+<dd>
+<p>The compaction ratio used during off-peak compactions, if off-peak hours are
+also configured (see below). Expressed as a floating-point decimal. This allows
+for more aggressive (or less aggressive, if you set it lower than
+<code>hbase.hstore.compaction.ratio</code>) compaction during a set time period. Ignored
+if off-peak is disabled (default). This works the same as
+<code>hbase.hstore.compaction.ratio</code>.</p>
+<div class="paragraph">
+<p><strong>Default</strong>: <code>5.0F</code></p>
+</div>
+</dd>
+<dt class="hdlist1"><code>hbase.offpeak.start.hour</code></dt>
+<dd>
+<p>The start of off-peak hours, expressed as an integer between 0 and 23, inclusive.
+Set to -1 to disable off-peak.</p>
+<div class="paragraph">
+<p><strong>Default</strong>: <code>-1</code> (disabled)</p>
+</div>
+</dd>
+<dt class="hdlist1"><code>hbase.offpeak.end.hour</code></dt>
+<dd>
+<p>The end of off-peak hours, expressed as an integer between 0 and 23, inclusive.
+Set to -1 to disable off-peak.</p>
+<div class="paragraph">
+<p><strong>Default</strong>: <code>-1</code> (disabled)</p>
+</div>
+</dd>
+<dt class="hdlist1"><code>hbase.regionserver.thread.compaction.throttle</code></dt>
+<dd>
+<p>There are two different thread pools for compactions, one for large compactions
+and the other for small compactions. This helps to keep compaction of lean tables
+(such as <code>hbase:meta</code>) fast. If a compaction is larger than this threshold,
+it goes into the large compaction pool. In most cases, the default value is
+appropriate.</p>
+<div class="paragraph">
+<p><strong>Default</strong>: <code>2 x hbase.hstore.compaction.max x hbase.hregion.memstore.flush.size</code>
+(which defaults to <code>128</code>)</p>
+</div>
+</dd>
+<dt class="hdlist1"><code>hbase.hregion.majorcompaction</code></dt>
+<dd>
+<p>Time between major compactions, expressed in milliseconds. Set to 0 to disable
+time-based automatic major compactions. User-requested and size-based major
+compactions will still run. This value is multiplied by
+<code>hbase.hregion.majorcompaction.jitter</code> to cause compaction to start at a
+somewhat-random time during a given window of time.</p>
+<div class="paragraph">
+<p><strong>Default</strong>: 7 days (<code>604800000</code> milliseconds)</p>
+</div>
+</dd>
+<dt class="hdlist1"><code>hbase.hregion.majorcompaction.jitter</code></dt>
+<dd>
+<p>A multiplier applied to hbase.hregion.majorcompaction to cause compaction to
+occur a given amount of time either side of <code>hbase.hregion.majorcompaction</code>.
+The smaller the number, the closer the compactions will happen to the
+<code>hbase.hregion.majorcompaction</code> interval. Expressed as a floating-point decimal.</p>
+<div class="paragraph">
+<p><strong>Default</strong>: <code>.50F</code></p>
+</div>
+</dd>
+</dl>
+</div>
 </div>
 </div>
 <div class="sect4">
@@ -20516,7 +20572,8 @@ It will execute an RegionServer RPC with each invocation.
 For a large number of deletes, consider <code>Table.delete(List)</code>.</p>
 </div>
 <div class="paragraph">
-<p>See <a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#delete%28org.apache.hadoop.hbase.client.Delete%29" class="bare">http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#delete%28org.apache.hadoop.hbase.client.Delete%29</a></p>
+<p>See
+<a href="http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#delete%28org.apache.hadoop.hbase.client.Delete%29">hbase.client.Delete</a>.</p>
 </div>
 </div>
 </div>
@@ -31924,8 +31981,11 @@ Every non-root index block is structured as follows.</p>
 <p>numEntries: the number of entries (int).</p>
 </li>
 <li>
-<p>entryOffsets: the <code>secondary index'' of offsets of entries in the block, to facilitate a quick binary search on the key (numEntries + 1 int values). The last value is the total length of all entries in this index block.
-For example, in a non-root index block with entry sizes 60, 80, 50 the </code>secondary index'' will contain the following int array: {0, 60, 140, 190}.</p>
+<p>entryOffsets: the "secondary index" of offsets of entries in the block, to facilitate
+a quick binary search on the key (<code>numEntries + 1</code> int values). The last value
+is the total length of all entries in this index block. For example, in a non-root
+index block with entry sizes 60, 80, 50 the "secondary index" will contain the
+following int array: <code>{0, 60, 140, 190}</code>.</p>
 </li>
 <li>
 <p>Entries.
@@ -32808,7 +32868,7 @@ The server will return cellblocks compressed using this same compressor as long
 <div id="footer">
 <div id="footer-text">
 Version 2.0.0-SNAPSHOT<br>
-Last updated 2015-11-11 13:50:01 +10:00
+Last updated 2015-11-18 06:06:59 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase/blob/20c64fef/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 3bba76a..32dae81 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20151111" />
+    <meta name="Date-Revision-yyyymmdd" content="20151118" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -305,7 +305,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2015-11-11</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2015-11-18</li>
             </p>
                 </div>
 


Mime
View raw message