This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hbase-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 63ed57c8978 Published site at 0fb1f3b54ccb30a8fb406ff0047f2bc72432fc19.
63ed57c8978 is described below

commit 63ed57c897802ee170b547251345a526349aa645
Author: jenkins <[email protected]>
AuthorDate: Thu Jan 29 14:52:52 2026 +0000

    Published site at 0fb1f3b54ccb30a8fb406ff0047f2bc72432fc19.
---
 apache_hbase_reference_guide.pdf                   |   4 +-
 .../org/apache/hadoop/hbase/thrift/DemoClient.html | 462 ++++++++++-----------
 .../apache/hadoop/hbase/thrift/ThriftServer.html   |   4 +-
 book.html                                          |   2 +-
 checkstyle-aggregate.html                          |   2 +-
 dependency-convergence.html                        |   2 +-
 dependency-info.html                               |   2 +-
 dependency-management.html                         |   2 +-
 .../org/apache/hadoop/hbase/thrift/DemoClient.html |   8 +-
 .../org/apache/hadoop/hbase/thrift/DemoClient.html | 462 ++++++++++-----------
 .../apache/hadoop/hbase/thrift/ThriftServer.html   |   4 +-
 .../apache/hadoop/hbase/thrift2/ThriftServer.html  |   2 +-
 hbase-website/dependency-convergence.html          |   2 +-
 hbase-website/dependency-info.html                 |   2 +-
 hbase-website/dependency-management.html           |   2 +-
 hbase-website/index.html                           |   2 +-
 hbase-website/issue-management.html                |   2 +-
 hbase-website/licenses.html                        |   2 +-
 hbase-website/mailing-lists.html                   |   2 +-
 hbase-website/plugin-management.html               |   2 +-
 hbase-website/plugins.html                         |   2 +-
 hbase-website/project-info.html                    |   2 +-
 hbase-website/scm.html                             |   2 +-
 hbase-website/summary.html                         |   2 +-
 hbase-website/team.html                            |   2 +-
 issue-management.html                              |   2 +-
 licenses.html                                      |   2 +-
 mailing-lists.html                                 |   2 +-
 plugin-management.html                             |   2 +-
 plugins.html                                       |   2 +-
 project-info.html                                  |   2 +-
 project-reports.html                               |   2 +-
 scm.html                                           |   2 +-
 summary.html                                       |   2 +-
 team.html                                          |   2 +-
 35 files changed, 499 insertions(+), 503 deletions(-)

diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index d2cb0832332..50ed197501f 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 2.0.6, based on Prawn 2.4.0)
 /Producer (Apache HBase Team)
-/ModDate (D:20260128143119+00'00')
-/CreationDate (D:20260128144620+00'00')
+/ModDate (D:20260129143145+00'00')
+/CreationDate (D:20260129144712+00'00')
 >>
 endobj
 2 0 obj
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/thrift/DemoClient.html 
b/apidocs/src-html/org/apache/hadoop/hbase/thrift/DemoClient.html
index 792d812cba4..75a04bc10d1 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/thrift/DemoClient.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/thrift/DemoClient.html
@@ -152,243 +152,241 @@
 <span class="source-line-no">139</span><span id="line-139">    }</span>
 <span class="source-line-no">140</span><span id="line-140"></span>
 <span class="source-line-no">141</span><span id="line-141">    // Create the 
demo table with two column families, entry: and unused:</span>
-<span class="source-line-no">142</span><span id="line-142">    
ArrayList&lt;ColumnDescriptor&gt; columns = new ArrayList&lt;&gt;(2);</span>
-<span class="source-line-no">143</span><span id="line-143">    
ColumnDescriptor col;</span>
-<span class="source-line-no">144</span><span id="line-144">    col = new 
ColumnDescriptor();</span>
-<span class="source-line-no">145</span><span id="line-145">    col.name = 
ByteBuffer.wrap(bytes("entry:"));</span>
-<span class="source-line-no">146</span><span id="line-146">    col.timeToLive 
= Integer.MAX_VALUE;</span>
-<span class="source-line-no">147</span><span id="line-147">    col.maxVersions 
= 10;</span>
-<span class="source-line-no">148</span><span id="line-148">    
columns.add(col);</span>
-<span class="source-line-no">149</span><span id="line-149">    col = new 
ColumnDescriptor();</span>
-<span class="source-line-no">150</span><span id="line-150">    col.name = 
ByteBuffer.wrap(bytes("unused:"));</span>
-<span class="source-line-no">151</span><span id="line-151">    col.timeToLive 
= Integer.MAX_VALUE;</span>
-<span class="source-line-no">152</span><span id="line-152">    
columns.add(col);</span>
-<span class="source-line-no">153</span><span id="line-153"></span>
-<span class="source-line-no">154</span><span id="line-154">    
System.out.println("creating table: " + 
ClientUtils.utf8(demoTable.array()));</span>
-<span class="source-line-no">155</span><span id="line-155"></span>
-<span class="source-line-no">156</span><span id="line-156">    try {</span>
-<span class="source-line-no">157</span><span id="line-157">      
client.createTable(demoTable, columns);</span>
-<span class="source-line-no">158</span><span id="line-158">      
client.createTable(disabledTable, columns);</span>
-<span class="source-line-no">159</span><span id="line-159">    } catch 
(AlreadyExists ae) {</span>
-<span class="source-line-no">160</span><span id="line-160">      
System.out.println("WARN: " + ae.message);</span>
-<span class="source-line-no">161</span><span id="line-161">    }</span>
-<span class="source-line-no">162</span><span id="line-162"></span>
-<span class="source-line-no">163</span><span id="line-163">    
System.out.println("column families in " + ClientUtils.utf8(demoTable.array()) 
+ ": ");</span>
-<span class="source-line-no">164</span><span id="line-164">    
Map&lt;ByteBuffer, ColumnDescriptor&gt; columnMap = 
client.getColumnDescriptors(demoTable);</span>
-<span class="source-line-no">165</span><span id="line-165"></span>
-<span class="source-line-no">166</span><span id="line-166">    for 
(ColumnDescriptor col2 : columnMap.values()) {</span>
-<span class="source-line-no">167</span><span id="line-167">      
System.out.println(</span>
-<span class="source-line-no">168</span><span id="line-168">        "  column: 
" + ClientUtils.utf8(col2.name.array()) + ", maxVer: " + 
col2.maxVersions);</span>
-<span class="source-line-no">169</span><span id="line-169">    }</span>
-<span class="source-line-no">170</span><span id="line-170"></span>
-<span class="source-line-no">171</span><span id="line-171">    if 
(client.isTableEnabled(disabledTable)) {</span>
-<span class="source-line-no">172</span><span id="line-172">      
System.out.println("disabling table: " + 
ClientUtils.utf8(disabledTable.array()));</span>
-<span class="source-line-no">173</span><span id="line-173">      
client.disableTable(disabledTable);</span>
-<span class="source-line-no">174</span><span id="line-174">    }</span>
-<span class="source-line-no">175</span><span id="line-175"></span>
-<span class="source-line-no">176</span><span id="line-176">    
System.out.println("list tables with enabled statuses : ");</span>
-<span class="source-line-no">177</span><span id="line-177">    
Map&lt;ByteBuffer, Boolean&gt; statusMap = 
client.getTableNamesWithIsTableEnabled();</span>
-<span class="source-line-no">178</span><span id="line-178">    for 
(Map.Entry&lt;ByteBuffer, Boolean&gt; entry : statusMap.entrySet()) {</span>
-<span class="source-line-no">179</span><span id="line-179">      
System.out.println(" Table: " + ClientUtils.utf8(entry.getKey().array()) + ", 
is enabled: "</span>
-<span class="source-line-no">180</span><span id="line-180">        + 
entry.getValue());</span>
-<span class="source-line-no">181</span><span id="line-181">    }</span>
+<span class="source-line-no">142</span><span id="line-142">    
List&lt;ColumnDescriptor&gt; columns = new ArrayList&lt;&gt;(2);</span>
+<span class="source-line-no">143</span><span id="line-143">    
ColumnDescriptor col = new ColumnDescriptor();</span>
+<span class="source-line-no">144</span><span id="line-144">    col.name = 
ByteBuffer.wrap(bytes("entry:"));</span>
+<span class="source-line-no">145</span><span id="line-145">    col.timeToLive 
= Integer.MAX_VALUE;</span>
+<span class="source-line-no">146</span><span id="line-146">    col.maxVersions 
= 10;</span>
+<span class="source-line-no">147</span><span id="line-147">    
columns.add(col);</span>
+<span class="source-line-no">148</span><span id="line-148">    col = new 
ColumnDescriptor();</span>
+<span class="source-line-no">149</span><span id="line-149">    col.name = 
ByteBuffer.wrap(bytes("unused:"));</span>
+<span class="source-line-no">150</span><span id="line-150">    col.timeToLive 
= Integer.MAX_VALUE;</span>
+<span class="source-line-no">151</span><span id="line-151">    
columns.add(col);</span>
+<span class="source-line-no">152</span><span id="line-152"></span>
+<span class="source-line-no">153</span><span id="line-153">    
System.out.println("creating table: " + 
ClientUtils.utf8(demoTable.array()));</span>
+<span class="source-line-no">154</span><span id="line-154">    try {</span>
+<span class="source-line-no">155</span><span id="line-155">      
client.createTable(demoTable, columns);</span>
+<span class="source-line-no">156</span><span id="line-156">      
client.createTable(disabledTable, columns);</span>
+<span class="source-line-no">157</span><span id="line-157">    } catch 
(AlreadyExists ae) {</span>
+<span class="source-line-no">158</span><span id="line-158">      
System.out.println("WARN: " + ae.message);</span>
+<span class="source-line-no">159</span><span id="line-159">    }</span>
+<span class="source-line-no">160</span><span id="line-160"></span>
+<span class="source-line-no">161</span><span id="line-161">    
System.out.println("column families in " + ClientUtils.utf8(demoTable.array()) 
+ ": ");</span>
+<span class="source-line-no">162</span><span id="line-162">    
Map&lt;ByteBuffer, ColumnDescriptor&gt; columnMap = 
client.getColumnDescriptors(demoTable);</span>
+<span class="source-line-no">163</span><span id="line-163">    for 
(ColumnDescriptor col2 : columnMap.values()) {</span>
+<span class="source-line-no">164</span><span id="line-164">      
System.out.println(</span>
+<span class="source-line-no">165</span><span id="line-165">        "  column: 
" + ClientUtils.utf8(col2.name.array()) + ", maxVer: " + 
col2.maxVersions);</span>
+<span class="source-line-no">166</span><span id="line-166">    }</span>
+<span class="source-line-no">167</span><span id="line-167"></span>
+<span class="source-line-no">168</span><span id="line-168">    if 
(client.isTableEnabled(disabledTable)) {</span>
+<span class="source-line-no">169</span><span id="line-169">      
System.out.println("disabling table: " + 
ClientUtils.utf8(disabledTable.array()));</span>
+<span class="source-line-no">170</span><span id="line-170">      
client.disableTable(disabledTable);</span>
+<span class="source-line-no">171</span><span id="line-171">    }</span>
+<span class="source-line-no">172</span><span id="line-172"></span>
+<span class="source-line-no">173</span><span id="line-173">    
System.out.println("list tables with enabled statuses : ");</span>
+<span class="source-line-no">174</span><span id="line-174">    
Map&lt;ByteBuffer, Boolean&gt; statusMap = 
client.getTableNamesWithIsTableEnabled();</span>
+<span class="source-line-no">175</span><span id="line-175">    for 
(Map.Entry&lt;ByteBuffer, Boolean&gt; entry : statusMap.entrySet()) {</span>
+<span class="source-line-no">176</span><span id="line-176">      
System.out.println(" Table: " + ClientUtils.utf8(entry.getKey().array()) + ", 
is enabled: "</span>
+<span class="source-line-no">177</span><span id="line-177">        + 
entry.getValue());</span>
+<span class="source-line-no">178</span><span id="line-178">    }</span>
+<span class="source-line-no">179</span><span id="line-179"></span>
+<span class="source-line-no">180</span><span id="line-180">    
Map&lt;ByteBuffer, ByteBuffer&gt; dummyAttributes = null;</span>
+<span class="source-line-no">181</span><span id="line-181">    boolean 
writeToWal = false;</span>
 <span class="source-line-no">182</span><span id="line-182"></span>
-<span class="source-line-no">183</span><span id="line-183">    
Map&lt;ByteBuffer, ByteBuffer&gt; dummyAttributes = null;</span>
-<span class="source-line-no">184</span><span id="line-184">    boolean 
writeToWal = false;</span>
-<span class="source-line-no">185</span><span id="line-185"></span>
-<span class="source-line-no">186</span><span id="line-186">    // Test UTF-8 
handling</span>
-<span class="source-line-no">187</span><span id="line-187">    byte[] invalid 
= { (byte) 'f', (byte) 'o', (byte) 'o', (byte) '-', (byte) 0xfc, (byte) 
0xa1,</span>
-<span class="source-line-no">188</span><span id="line-188">      (byte) 0xa1, 
(byte) 0xa1, (byte) 0xa1 };</span>
-<span class="source-line-no">189</span><span id="line-189">    byte[] valid = 
{ (byte) 'f', (byte) 'o', (byte) 'o', (byte) '-', (byte) 0xE7, (byte) 
0x94,</span>
-<span class="source-line-no">190</span><span id="line-190">      (byte) 0x9F, 
(byte) 0xE3, (byte) 0x83, (byte) 0x93, (byte) 0xE3, (byte) 0x83, (byte) 
0xBC,</span>
-<span class="source-line-no">191</span><span id="line-191">      (byte) 0xE3, 
(byte) 0x83, (byte) 0xAB };</span>
-<span class="source-line-no">192</span><span id="line-192"></span>
-<span class="source-line-no">193</span><span id="line-193">    
ArrayList&lt;Mutation&gt; mutations;</span>
-<span class="source-line-no">194</span><span id="line-194">    // non-utf8 is 
fine for data</span>
-<span class="source-line-no">195</span><span id="line-195">    mutations = new 
ArrayList&lt;&gt;(1);</span>
-<span class="source-line-no">196</span><span id="line-196">    
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), 
ByteBuffer.wrap(invalid),</span>
-<span class="source-line-no">197</span><span id="line-197">      
writeToWal));</span>
-<span class="source-line-no">198</span><span id="line-198">    
client.mutateRow(demoTable, ByteBuffer.wrap(bytes("foo")), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">199</span><span id="line-199"></span>
-<span class="source-line-no">200</span><span id="line-200">    // this row 
name is valid utf8</span>
-<span class="source-line-no">201</span><span id="line-201">    mutations = new 
ArrayList&lt;&gt;(1);</span>
-<span class="source-line-no">202</span><span id="line-202">    
mutations.add(</span>
-<span class="source-line-no">203</span><span id="line-203">      new 
Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), ByteBuffer.wrap(valid), 
writeToWal));</span>
-<span class="source-line-no">204</span><span id="line-204">    
client.mutateRow(demoTable, ByteBuffer.wrap(valid), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">205</span><span id="line-205"></span>
-<span class="source-line-no">206</span><span id="line-206">    // non-utf8 is 
now allowed in row names because HBase stores values as binary</span>
-<span class="source-line-no">207</span><span id="line-207">    mutations = new 
ArrayList&lt;&gt;(1);</span>
-<span class="source-line-no">208</span><span id="line-208">    
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), 
ByteBuffer.wrap(invalid),</span>
-<span class="source-line-no">209</span><span id="line-209">      
writeToWal));</span>
-<span class="source-line-no">210</span><span id="line-210">    
client.mutateRow(demoTable, ByteBuffer.wrap(invalid), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">211</span><span id="line-211"></span>
-<span class="source-line-no">212</span><span id="line-212">    // Run a 
scanner on the rows we just created</span>
-<span class="source-line-no">213</span><span id="line-213">    
ArrayList&lt;ByteBuffer&gt; columnNames = new ArrayList&lt;&gt;();</span>
-<span class="source-line-no">214</span><span id="line-214">    
columnNames.add(ByteBuffer.wrap(bytes("entry:")));</span>
-<span class="source-line-no">215</span><span id="line-215"></span>
-<span class="source-line-no">216</span><span id="line-216">    
System.out.println("Starting scanner...");</span>
-<span class="source-line-no">217</span><span id="line-217">    int scanner 
=</span>
-<span class="source-line-no">218</span><span id="line-218">      
client.scannerOpen(demoTable, ByteBuffer.wrap(bytes("")), columnNames, 
dummyAttributes);</span>
+<span class="source-line-no">183</span><span id="line-183">    // Test UTF-8 
handling</span>
+<span class="source-line-no">184</span><span id="line-184">    byte[] invalid 
= { (byte) 'f', (byte) 'o', (byte) 'o', (byte) '-', (byte) 0xfc, (byte) 
0xa1,</span>
+<span class="source-line-no">185</span><span id="line-185">      (byte) 0xa1, 
(byte) 0xa1, (byte) 0xa1 };</span>
+<span class="source-line-no">186</span><span id="line-186">    byte[] valid = 
{ (byte) 'f', (byte) 'o', (byte) 'o', (byte) '-', (byte) 0xE7, (byte) 
0x94,</span>
+<span class="source-line-no">187</span><span id="line-187">      (byte) 0x9F, 
(byte) 0xE3, (byte) 0x83, (byte) 0x93, (byte) 0xE3, (byte) 0x83, (byte) 
0xBC,</span>
+<span class="source-line-no">188</span><span id="line-188">      (byte) 0xE3, 
(byte) 0x83, (byte) 0xAB };</span>
+<span class="source-line-no">189</span><span id="line-189"></span>
+<span class="source-line-no">190</span><span id="line-190">    
ArrayList&lt;Mutation&gt; mutations;</span>
+<span class="source-line-no">191</span><span id="line-191">    // non-utf8 is 
fine for data</span>
+<span class="source-line-no">192</span><span id="line-192">    mutations = new 
ArrayList&lt;&gt;(1);</span>
+<span class="source-line-no">193</span><span id="line-193">    
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), 
ByteBuffer.wrap(invalid),</span>
+<span class="source-line-no">194</span><span id="line-194">      
writeToWal));</span>
+<span class="source-line-no">195</span><span id="line-195">    
client.mutateRow(demoTable, ByteBuffer.wrap(bytes("foo")), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">196</span><span id="line-196"></span>
+<span class="source-line-no">197</span><span id="line-197">    // this row 
name is valid utf8</span>
+<span class="source-line-no">198</span><span id="line-198">    mutations = new 
ArrayList&lt;&gt;(1);</span>
+<span class="source-line-no">199</span><span id="line-199">    
mutations.add(</span>
+<span class="source-line-no">200</span><span id="line-200">      new 
Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), ByteBuffer.wrap(valid), 
writeToWal));</span>
+<span class="source-line-no">201</span><span id="line-201">    
client.mutateRow(demoTable, ByteBuffer.wrap(valid), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">202</span><span id="line-202"></span>
+<span class="source-line-no">203</span><span id="line-203">    // non-utf8 is 
now allowed in row names because HBase stores values as binary</span>
+<span class="source-line-no">204</span><span id="line-204">    mutations = new 
ArrayList&lt;&gt;(1);</span>
+<span class="source-line-no">205</span><span id="line-205">    
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), 
ByteBuffer.wrap(invalid),</span>
+<span class="source-line-no">206</span><span id="line-206">      
writeToWal));</span>
+<span class="source-line-no">207</span><span id="line-207">    
client.mutateRow(demoTable, ByteBuffer.wrap(invalid), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">208</span><span id="line-208"></span>
+<span class="source-line-no">209</span><span id="line-209">    // Run a 
scanner on the rows we just created</span>
+<span class="source-line-no">210</span><span id="line-210">    
List&lt;ByteBuffer&gt; columnNames = new ArrayList&lt;&gt;();</span>
+<span class="source-line-no">211</span><span id="line-211">    
columnNames.add(ByteBuffer.wrap(bytes("entry")));</span>
+<span class="source-line-no">212</span><span id="line-212"></span>
+<span class="source-line-no">213</span><span id="line-213">    
System.out.println("Starting scanner...");</span>
+<span class="source-line-no">214</span><span id="line-214">    int scanner 
=</span>
+<span class="source-line-no">215</span><span id="line-215">      
client.scannerOpen(demoTable, ByteBuffer.wrap(bytes("")), columnNames, 
dummyAttributes);</span>
+<span class="source-line-no">216</span><span id="line-216"></span>
+<span class="source-line-no">217</span><span id="line-217">    while (true) 
{</span>
+<span class="source-line-no">218</span><span id="line-218">      
List&lt;TRowResult&gt; entry = client.scannerGet(scanner);</span>
 <span class="source-line-no">219</span><span id="line-219"></span>
-<span class="source-line-no">220</span><span id="line-220">    while (true) 
{</span>
-<span class="source-line-no">221</span><span id="line-221">      
List&lt;TRowResult&gt; entry = client.scannerGet(scanner);</span>
-<span class="source-line-no">222</span><span id="line-222"></span>
-<span class="source-line-no">223</span><span id="line-223">      if 
(entry.isEmpty()) {</span>
-<span class="source-line-no">224</span><span id="line-224">        
break;</span>
-<span class="source-line-no">225</span><span id="line-225">      }</span>
-<span class="source-line-no">226</span><span id="line-226"></span>
-<span class="source-line-no">227</span><span id="line-227">      
printRow(entry);</span>
-<span class="source-line-no">228</span><span id="line-228">    }</span>
-<span class="source-line-no">229</span><span id="line-229"></span>
-<span class="source-line-no">230</span><span id="line-230">    // Run some 
operations on a bunch of rows</span>
-<span class="source-line-no">231</span><span id="line-231">    for (int i = 
100; i &gt;= 0; --i) {</span>
-<span class="source-line-no">232</span><span id="line-232">      // format row 
keys as "00000" to "00100"</span>
-<span class="source-line-no">233</span><span id="line-233">      NumberFormat 
nf = NumberFormat.getInstance();</span>
-<span class="source-line-no">234</span><span id="line-234">      
nf.setMinimumIntegerDigits(5);</span>
-<span class="source-line-no">235</span><span id="line-235">      
nf.setGroupingUsed(false);</span>
-<span class="source-line-no">236</span><span id="line-236">      byte[] row = 
bytes(nf.format(i));</span>
-<span class="source-line-no">237</span><span id="line-237"></span>
-<span class="source-line-no">238</span><span id="line-238">      mutations = 
new ArrayList&lt;&gt;(1);</span>
-<span class="source-line-no">239</span><span id="line-239">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("unused:")),</span>
-<span class="source-line-no">240</span><span id="line-240">        
ByteBuffer.wrap(bytes("DELETE_ME")), writeToWal));</span>
-<span class="source-line-no">241</span><span id="line-241">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">242</span><span id="line-242">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
-<span class="source-line-no">243</span><span id="line-243">      
client.deleteAllRow(demoTable, ByteBuffer.wrap(row), dummyAttributes);</span>
-<span class="source-line-no">244</span><span id="line-244"></span>
-<span class="source-line-no">245</span><span id="line-245">      // sleep to 
force later timestamp</span>
-<span class="source-line-no">246</span><span id="line-246">      try {</span>
-<span class="source-line-no">247</span><span id="line-247">        
Thread.sleep(50);</span>
-<span class="source-line-no">248</span><span id="line-248">      } catch 
(InterruptedException e) {</span>
-<span class="source-line-no">249</span><span id="line-249">        // 
no-op</span>
-<span class="source-line-no">250</span><span id="line-250">      }</span>
-<span class="source-line-no">251</span><span id="line-251"></span>
-<span class="source-line-no">252</span><span id="line-252">      mutations = 
new ArrayList&lt;&gt;(2);</span>
-<span class="source-line-no">253</span><span id="line-253">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:num")),</span>
-<span class="source-line-no">254</span><span id="line-254">        
ByteBuffer.wrap(bytes("0")), writeToWal));</span>
-<span class="source-line-no">255</span><span id="line-255">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")),</span>
-<span class="source-line-no">256</span><span id="line-256">        
ByteBuffer.wrap(bytes("FOO")), writeToWal));</span>
-<span class="source-line-no">257</span><span id="line-257">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">258</span><span id="line-258">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
-<span class="source-line-no">259</span><span id="line-259"></span>
-<span class="source-line-no">260</span><span id="line-260">      Mutation 
m;</span>
-<span class="source-line-no">261</span><span id="line-261">      mutations = 
new ArrayList&lt;&gt;(2);</span>
-<span class="source-line-no">262</span><span id="line-262">      m = new 
Mutation();</span>
-<span class="source-line-no">263</span><span id="line-263">      m.column = 
ByteBuffer.wrap(bytes("entry:foo"));</span>
-<span class="source-line-no">264</span><span id="line-264">      m.isDelete = 
true;</span>
-<span class="source-line-no">265</span><span id="line-265">      
mutations.add(m);</span>
-<span class="source-line-no">266</span><span id="line-266">      m = new 
Mutation();</span>
-<span class="source-line-no">267</span><span id="line-267">      m.column = 
ByteBuffer.wrap(bytes("entry:num"));</span>
-<span class="source-line-no">268</span><span id="line-268">      m.value = 
ByteBuffer.wrap(bytes("-1"));</span>
-<span class="source-line-no">269</span><span id="line-269">      
mutations.add(m);</span>
-<span class="source-line-no">270</span><span id="line-270">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">271</span><span id="line-271">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
-<span class="source-line-no">272</span><span id="line-272"></span>
-<span class="source-line-no">273</span><span id="line-273">      mutations = 
new ArrayList&lt;&gt;();</span>
-<span class="source-line-no">274</span><span id="line-274">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:num")),</span>
-<span class="source-line-no">275</span><span id="line-275">        
ByteBuffer.wrap(bytes(Integer.toString(i))), writeToWal));</span>
-<span class="source-line-no">276</span><span id="line-276">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:sqr")),</span>
-<span class="source-line-no">277</span><span id="line-277">        
ByteBuffer.wrap(bytes(Integer.toString(i * i))), writeToWal));</span>
-<span class="source-line-no">278</span><span id="line-278">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">279</span><span id="line-279">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
-<span class="source-line-no">280</span><span id="line-280"></span>
-<span class="source-line-no">281</span><span id="line-281">      // sleep to 
force later timestamp</span>
-<span class="source-line-no">282</span><span id="line-282">      try {</span>
-<span class="source-line-no">283</span><span id="line-283">        
Thread.sleep(50);</span>
-<span class="source-line-no">284</span><span id="line-284">      } catch 
(InterruptedException e) {</span>
-<span class="source-line-no">285</span><span id="line-285">        // 
no-op</span>
-<span class="source-line-no">286</span><span id="line-286">      }</span>
-<span class="source-line-no">287</span><span id="line-287"></span>
-<span class="source-line-no">288</span><span id="line-288">      
mutations.clear();</span>
-<span class="source-line-no">289</span><span id="line-289">      m = new 
Mutation();</span>
-<span class="source-line-no">290</span><span id="line-290">      m.column = 
ByteBuffer.wrap(bytes("entry:num"));</span>
-<span class="source-line-no">291</span><span id="line-291">      m.value = 
ByteBuffer.wrap(bytes("-999"));</span>
-<span class="source-line-no">292</span><span id="line-292">      
mutations.add(m);</span>
-<span class="source-line-no">293</span><span id="line-293">      m = new 
Mutation();</span>
-<span class="source-line-no">294</span><span id="line-294">      m.column = 
ByteBuffer.wrap(bytes("entry:sqr"));</span>
-<span class="source-line-no">295</span><span id="line-295">      m.isDelete = 
true;</span>
-<span class="source-line-no">296</span><span id="line-296">      // shouldn't 
override latest</span>
-<span class="source-line-no">297</span><span id="line-297">      
client.mutateRowTs(demoTable, ByteBuffer.wrap(row), mutations, 1, 
dummyAttributes);</span>
-<span class="source-line-no">298</span><span id="line-298">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
-<span class="source-line-no">299</span><span id="line-299"></span>
-<span class="source-line-no">300</span><span id="line-300">      
List&lt;TCell&gt; versions = client.getVer(demoTable, 
ByteBuffer.wrap(row),</span>
-<span class="source-line-no">301</span><span id="line-301">        
ByteBuffer.wrap(bytes("entry:num")), 10, dummyAttributes);</span>
-<span class="source-line-no">302</span><span id="line-302">      
printVersions(ByteBuffer.wrap(row), versions);</span>
-<span class="source-line-no">303</span><span id="line-303"></span>
-<span class="source-line-no">304</span><span id="line-304">      if 
(versions.isEmpty()) {</span>
-<span class="source-line-no">305</span><span id="line-305">        
System.out.println("FATAL: wrong # of versions");</span>
-<span class="source-line-no">306</span><span id="line-306">        
System.exit(-1);</span>
-<span class="source-line-no">307</span><span id="line-307">      }</span>
+<span class="source-line-no">220</span><span id="line-220">      if 
(entry.isEmpty()) {</span>
+<span class="source-line-no">221</span><span id="line-221">        
break;</span>
+<span class="source-line-no">222</span><span id="line-222">      }</span>
+<span class="source-line-no">223</span><span id="line-223"></span>
+<span class="source-line-no">224</span><span id="line-224">      
printRow(entry);</span>
+<span class="source-line-no">225</span><span id="line-225">    }</span>
+<span class="source-line-no">226</span><span id="line-226">    
System.out.println("Scanner finished...");</span>
+<span class="source-line-no">227</span><span id="line-227"></span>
+<span class="source-line-no">228</span><span id="line-228">    // Run some 
operations on a bunch of rows</span>
+<span class="source-line-no">229</span><span id="line-229">    for (int i = 
100; i &gt;= 0; --i) {</span>
+<span class="source-line-no">230</span><span id="line-230">      // format row 
keys as "00000" to "00100"</span>
+<span class="source-line-no">231</span><span id="line-231">      NumberFormat 
nf = NumberFormat.getInstance();</span>
+<span class="source-line-no">232</span><span id="line-232">      
nf.setMinimumIntegerDigits(5);</span>
+<span class="source-line-no">233</span><span id="line-233">      
nf.setGroupingUsed(false);</span>
+<span class="source-line-no">234</span><span id="line-234">      byte[] row = 
bytes(nf.format(i));</span>
+<span class="source-line-no">235</span><span id="line-235"></span>
+<span class="source-line-no">236</span><span id="line-236">      mutations = 
new ArrayList&lt;&gt;(1);</span>
+<span class="source-line-no">237</span><span id="line-237">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("unused:")),</span>
+<span class="source-line-no">238</span><span id="line-238">        
ByteBuffer.wrap(bytes("DELETE_ME")), writeToWal));</span>
+<span class="source-line-no">239</span><span id="line-239">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">240</span><span id="line-240">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
+<span class="source-line-no">241</span><span id="line-241">      
client.deleteAllRow(demoTable, ByteBuffer.wrap(row), dummyAttributes);</span>
+<span class="source-line-no">242</span><span id="line-242"></span>
+<span class="source-line-no">243</span><span id="line-243">      // sleep to 
force later timestamp</span>
+<span class="source-line-no">244</span><span id="line-244">      try {</span>
+<span class="source-line-no">245</span><span id="line-245">        
Thread.sleep(50);</span>
+<span class="source-line-no">246</span><span id="line-246">      } catch 
(InterruptedException e) {</span>
+<span class="source-line-no">247</span><span id="line-247">        // 
no-op</span>
+<span class="source-line-no">248</span><span id="line-248">      }</span>
+<span class="source-line-no">249</span><span id="line-249"></span>
+<span class="source-line-no">250</span><span id="line-250">      mutations = 
new ArrayList&lt;&gt;(2);</span>
+<span class="source-line-no">251</span><span id="line-251">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:num")),</span>
+<span class="source-line-no">252</span><span id="line-252">        
ByteBuffer.wrap(bytes("0")), writeToWal));</span>
+<span class="source-line-no">253</span><span id="line-253">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")),</span>
+<span class="source-line-no">254</span><span id="line-254">        
ByteBuffer.wrap(bytes("FOO")), writeToWal));</span>
+<span class="source-line-no">255</span><span id="line-255">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">256</span><span id="line-256">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
+<span class="source-line-no">257</span><span id="line-257"></span>
+<span class="source-line-no">258</span><span id="line-258">      mutations = 
new ArrayList&lt;&gt;(2);</span>
+<span class="source-line-no">259</span><span id="line-259">      Mutation m = 
new Mutation();</span>
+<span class="source-line-no">260</span><span id="line-260">      m.column = 
ByteBuffer.wrap(bytes("entry:foo"));</span>
+<span class="source-line-no">261</span><span id="line-261">      m.isDelete = 
true;</span>
+<span class="source-line-no">262</span><span id="line-262">      
mutations.add(m);</span>
+<span class="source-line-no">263</span><span id="line-263">      m = new 
Mutation();</span>
+<span class="source-line-no">264</span><span id="line-264">      m.column = 
ByteBuffer.wrap(bytes("entry:num"));</span>
+<span class="source-line-no">265</span><span id="line-265">      m.value = 
ByteBuffer.wrap(bytes("-1"));</span>
+<span class="source-line-no">266</span><span id="line-266">      
mutations.add(m);</span>
+<span class="source-line-no">267</span><span id="line-267">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">268</span><span id="line-268">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
+<span class="source-line-no">269</span><span id="line-269"></span>
+<span class="source-line-no">270</span><span id="line-270">      mutations = 
new ArrayList&lt;&gt;();</span>
+<span class="source-line-no">271</span><span id="line-271">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:num")),</span>
+<span class="source-line-no">272</span><span id="line-272">        
ByteBuffer.wrap(bytes(Integer.toString(i))), writeToWal));</span>
+<span class="source-line-no">273</span><span id="line-273">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:sqr")),</span>
+<span class="source-line-no">274</span><span id="line-274">        
ByteBuffer.wrap(bytes(Integer.toString(i * i))), writeToWal));</span>
+<span class="source-line-no">275</span><span id="line-275">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">276</span><span id="line-276">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
+<span class="source-line-no">277</span><span id="line-277"></span>
+<span class="source-line-no">278</span><span id="line-278">      // sleep to 
force later timestamp</span>
+<span class="source-line-no">279</span><span id="line-279">      try {</span>
+<span class="source-line-no">280</span><span id="line-280">        
Thread.sleep(50);</span>
+<span class="source-line-no">281</span><span id="line-281">      } catch 
(InterruptedException e) {</span>
+<span class="source-line-no">282</span><span id="line-282">        // 
no-op</span>
+<span class="source-line-no">283</span><span id="line-283">      }</span>
+<span class="source-line-no">284</span><span id="line-284"></span>
+<span class="source-line-no">285</span><span id="line-285">      
mutations.clear();</span>
+<span class="source-line-no">286</span><span id="line-286">      m = new 
Mutation();</span>
+<span class="source-line-no">287</span><span id="line-287">      m.column = 
ByteBuffer.wrap(bytes("entry:num"));</span>
+<span class="source-line-no">288</span><span id="line-288">      m.value = 
ByteBuffer.wrap(bytes("-999"));</span>
+<span class="source-line-no">289</span><span id="line-289">      
mutations.add(m);</span>
+<span class="source-line-no">290</span><span id="line-290">      m = new 
Mutation();</span>
+<span class="source-line-no">291</span><span id="line-291">      m.column = 
ByteBuffer.wrap(bytes("entry:sqr"));</span>
+<span class="source-line-no">292</span><span id="line-292">      m.isDelete = 
true;</span>
+<span class="source-line-no">293</span><span id="line-293">      // shouldn't 
override latest</span>
+<span class="source-line-no">294</span><span id="line-294">      
client.mutateRowTs(demoTable, ByteBuffer.wrap(row), mutations, 1, 
dummyAttributes);</span>
+<span class="source-line-no">295</span><span id="line-295">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
+<span class="source-line-no">296</span><span id="line-296"></span>
+<span class="source-line-no">297</span><span id="line-297">      
List&lt;TCell&gt; versions = client.getVer(demoTable, 
ByteBuffer.wrap(row),</span>
+<span class="source-line-no">298</span><span id="line-298">        
ByteBuffer.wrap(bytes("entry:num")), 10, dummyAttributes);</span>
+<span class="source-line-no">299</span><span id="line-299">      
printVersions(ByteBuffer.wrap(row), versions);</span>
+<span class="source-line-no">300</span><span id="line-300"></span>
+<span class="source-line-no">301</span><span id="line-301">      if 
(versions.isEmpty()) {</span>
+<span class="source-line-no">302</span><span id="line-302">        
System.out.println("FATAL: wrong # of versions");</span>
+<span class="source-line-no">303</span><span id="line-303">        
System.exit(-1);</span>
+<span class="source-line-no">304</span><span id="line-304">      }</span>
+<span class="source-line-no">305</span><span id="line-305"></span>
+<span class="source-line-no">306</span><span id="line-306">      
List&lt;TCell&gt; result = client.get(demoTable, ByteBuffer.wrap(row),</span>
+<span class="source-line-no">307</span><span id="line-307">        
ByteBuffer.wrap(bytes("entry:foo")), dummyAttributes);</span>
 <span class="source-line-no">308</span><span id="line-308"></span>
-<span class="source-line-no">309</span><span id="line-309">      
List&lt;TCell&gt; result = client.get(demoTable, ByteBuffer.wrap(row),</span>
-<span class="source-line-no">310</span><span id="line-310">        
ByteBuffer.wrap(bytes("entry:foo")), dummyAttributes);</span>
-<span class="source-line-no">311</span><span id="line-311"></span>
-<span class="source-line-no">312</span><span id="line-312">      if 
(!result.isEmpty()) {</span>
-<span class="source-line-no">313</span><span id="line-313">        
System.out.println("FATAL: shouldn't get here");</span>
-<span class="source-line-no">314</span><span id="line-314">        
System.exit(-1);</span>
-<span class="source-line-no">315</span><span id="line-315">      }</span>
+<span class="source-line-no">309</span><span id="line-309">      if 
(!result.isEmpty()) {</span>
+<span class="source-line-no">310</span><span id="line-310">        
System.out.println("FATAL: shouldn't get here");</span>
+<span class="source-line-no">311</span><span id="line-311">        
System.exit(-1);</span>
+<span class="source-line-no">312</span><span id="line-312">      }</span>
+<span class="source-line-no">313</span><span id="line-313"></span>
+<span class="source-line-no">314</span><span id="line-314">      
System.out.println();</span>
+<span class="source-line-no">315</span><span id="line-315">    }</span>
 <span class="source-line-no">316</span><span id="line-316"></span>
-<span class="source-line-no">317</span><span id="line-317">      
System.out.println("");</span>
-<span class="source-line-no">318</span><span id="line-318">    }</span>
+<span class="source-line-no">317</span><span id="line-317">    // scan all 
rows/columnNames</span>
+<span class="source-line-no">318</span><span id="line-318">    
columnNames.clear();</span>
 <span class="source-line-no">319</span><span id="line-319"></span>
-<span class="source-line-no">320</span><span id="line-320">    // scan all 
rows/columnNames</span>
-<span class="source-line-no">321</span><span id="line-321">    
columnNames.clear();</span>
-<span class="source-line-no">322</span><span id="line-322"></span>
-<span class="source-line-no">323</span><span id="line-323">    for 
(ColumnDescriptor col2 : client.getColumnDescriptors(demoTable).values()) 
{</span>
-<span class="source-line-no">324</span><span id="line-324">      
System.out.println("column with name: " + ClientUtils.utf8(col2.name));</span>
-<span class="source-line-no">325</span><span id="line-325">      
System.out.println(col2.toString());</span>
-<span class="source-line-no">326</span><span id="line-326"></span>
-<span class="source-line-no">327</span><span id="line-327">      
columnNames.add(col2.name);</span>
-<span class="source-line-no">328</span><span id="line-328">    }</span>
-<span class="source-line-no">329</span><span id="line-329"></span>
-<span class="source-line-no">330</span><span id="line-330">    
System.out.println("Starting scanner...");</span>
-<span class="source-line-no">331</span><span id="line-331">    scanner = 
client.scannerOpenWithStop(demoTable, ByteBuffer.wrap(bytes("00020")),</span>
-<span class="source-line-no">332</span><span id="line-332">      
ByteBuffer.wrap(bytes("00040")), columnNames, dummyAttributes);</span>
-<span class="source-line-no">333</span><span id="line-333"></span>
-<span class="source-line-no">334</span><span id="line-334">    while (true) 
{</span>
-<span class="source-line-no">335</span><span id="line-335">      
List&lt;TRowResult&gt; entry = client.scannerGet(scanner);</span>
-<span class="source-line-no">336</span><span id="line-336"></span>
-<span class="source-line-no">337</span><span id="line-337">      if 
(entry.isEmpty()) {</span>
-<span class="source-line-no">338</span><span id="line-338">        
System.out.println("Scanner finished");</span>
-<span class="source-line-no">339</span><span id="line-339">        
break;</span>
-<span class="source-line-no">340</span><span id="line-340">      }</span>
-<span class="source-line-no">341</span><span id="line-341"></span>
-<span class="source-line-no">342</span><span id="line-342">      
printRow(entry);</span>
-<span class="source-line-no">343</span><span id="line-343">    }</span>
-<span class="source-line-no">344</span><span id="line-344"></span>
-<span class="source-line-no">345</span><span id="line-345">    
transport.close();</span>
-<span class="source-line-no">346</span><span id="line-346">  }</span>
-<span class="source-line-no">347</span><span id="line-347"></span>
-<span class="source-line-no">348</span><span id="line-348">  private void 
printVersions(ByteBuffer row, List&lt;TCell&gt; versions) {</span>
-<span class="source-line-no">349</span><span id="line-349">    StringBuilder 
rowStr = new StringBuilder();</span>
-<span class="source-line-no">350</span><span id="line-350"></span>
-<span class="source-line-no">351</span><span id="line-351">    for (TCell cell 
: versions) {</span>
-<span class="source-line-no">352</span><span id="line-352">      
rowStr.append(ClientUtils.utf8(cell.value.array()));</span>
-<span class="source-line-no">353</span><span id="line-353">      
rowStr.append("; ");</span>
-<span class="source-line-no">354</span><span id="line-354">    }</span>
-<span class="source-line-no">355</span><span id="line-355"></span>
-<span class="source-line-no">356</span><span id="line-356">    
System.out.println("row: " + ClientUtils.utf8(row) + ", values: " + 
rowStr);</span>
-<span class="source-line-no">357</span><span id="line-357">  }</span>
-<span class="source-line-no">358</span><span id="line-358"></span>
-<span class="source-line-no">359</span><span id="line-359">  private void 
printRow(TRowResult rowResult) {</span>
-<span class="source-line-no">360</span><span id="line-360">    
ClientUtils.printRow(rowResult);</span>
-<span class="source-line-no">361</span><span id="line-361">  }</span>
-<span class="source-line-no">362</span><span id="line-362"></span>
-<span class="source-line-no">363</span><span id="line-363">  private void 
printRow(List&lt;TRowResult&gt; rows) {</span>
-<span class="source-line-no">364</span><span id="line-364">    for (TRowResult 
rowResult : rows) {</span>
-<span class="source-line-no">365</span><span id="line-365">      
printRow(rowResult);</span>
-<span class="source-line-no">366</span><span id="line-366">    }</span>
-<span class="source-line-no">367</span><span id="line-367">  }</span>
-<span class="source-line-no">368</span><span id="line-368"></span>
-<span class="source-line-no">369</span><span id="line-369">  static Subject 
getSubject() throws Exception {</span>
-<span class="source-line-no">370</span><span id="line-370">    if (!secure) 
{</span>
-<span class="source-line-no">371</span><span id="line-371">      return new 
Subject();</span>
-<span class="source-line-no">372</span><span id="line-372">    }</span>
-<span class="source-line-no">373</span><span id="line-373"></span>
-<span class="source-line-no">374</span><span id="line-374">    LoginContext 
context = ClientUtils.getLoginContext();</span>
-<span class="source-line-no">375</span><span id="line-375">    
context.login();</span>
-<span class="source-line-no">376</span><span id="line-376">    return 
context.getSubject();</span>
-<span class="source-line-no">377</span><span id="line-377">  }</span>
-<span class="source-line-no">378</span><span id="line-378">}</span>
+<span class="source-line-no">320</span><span id="line-320">    for 
(ColumnDescriptor col2 : client.getColumnDescriptors(demoTable).values()) 
{</span>
+<span class="source-line-no">321</span><span id="line-321">      
System.out.println("column with name: " + ClientUtils.utf8(col2.name));</span>
+<span class="source-line-no">322</span><span id="line-322">      
System.out.println(col2);</span>
+<span class="source-line-no">323</span><span id="line-323">      // remove the 
trailing ':' from the family name</span>
+<span class="source-line-no">324</span><span id="line-324">      
col2.name.limit(col2.name.limit() - 1);</span>
+<span class="source-line-no">325</span><span id="line-325">      
columnNames.add(col2.name.slice());</span>
+<span class="source-line-no">326</span><span id="line-326">    }</span>
+<span class="source-line-no">327</span><span id="line-327"></span>
+<span class="source-line-no">328</span><span id="line-328">    
System.out.println("Starting scanner...");</span>
+<span class="source-line-no">329</span><span id="line-329">    scanner = 
client.scannerOpenWithStop(demoTable, ByteBuffer.wrap(bytes("00020")),</span>
+<span class="source-line-no">330</span><span id="line-330">      
ByteBuffer.wrap(bytes("00040")), columnNames, dummyAttributes);</span>
+<span class="source-line-no">331</span><span id="line-331"></span>
+<span class="source-line-no">332</span><span id="line-332">    while (true) 
{</span>
+<span class="source-line-no">333</span><span id="line-333">      
List&lt;TRowResult&gt; entry = client.scannerGet(scanner);</span>
+<span class="source-line-no">334</span><span id="line-334"></span>
+<span class="source-line-no">335</span><span id="line-335">      if 
(entry.isEmpty()) {</span>
+<span class="source-line-no">336</span><span id="line-336">        
System.out.println("Scanner finished...");</span>
+<span class="source-line-no">337</span><span id="line-337">        
break;</span>
+<span class="source-line-no">338</span><span id="line-338">      }</span>
+<span class="source-line-no">339</span><span id="line-339"></span>
+<span class="source-line-no">340</span><span id="line-340">      
printRow(entry);</span>
+<span class="source-line-no">341</span><span id="line-341">    }</span>
+<span class="source-line-no">342</span><span id="line-342"></span>
+<span class="source-line-no">343</span><span id="line-343">    
transport.close();</span>
+<span class="source-line-no">344</span><span id="line-344">  }</span>
+<span class="source-line-no">345</span><span id="line-345"></span>
+<span class="source-line-no">346</span><span id="line-346">  private void 
printVersions(ByteBuffer row, List&lt;TCell&gt; versions) {</span>
+<span class="source-line-no">347</span><span id="line-347">    StringBuilder 
rowStr = new StringBuilder();</span>
+<span class="source-line-no">348</span><span id="line-348"></span>
+<span class="source-line-no">349</span><span id="line-349">    for (TCell cell 
: versions) {</span>
+<span class="source-line-no">350</span><span id="line-350">      
rowStr.append(ClientUtils.utf8(cell.value.array()));</span>
+<span class="source-line-no">351</span><span id="line-351">      
rowStr.append("; ");</span>
+<span class="source-line-no">352</span><span id="line-352">    }</span>
+<span class="source-line-no">353</span><span id="line-353"></span>
+<span class="source-line-no">354</span><span id="line-354">    
System.out.println("row: " + ClientUtils.utf8(row) + ", values: " + 
rowStr);</span>
+<span class="source-line-no">355</span><span id="line-355">  }</span>
+<span class="source-line-no">356</span><span id="line-356"></span>
+<span class="source-line-no">357</span><span id="line-357">  private void 
printRow(TRowResult rowResult) {</span>
+<span class="source-line-no">358</span><span id="line-358">    
ClientUtils.printRow(rowResult);</span>
+<span class="source-line-no">359</span><span id="line-359">  }</span>
+<span class="source-line-no">360</span><span id="line-360"></span>
+<span class="source-line-no">361</span><span id="line-361">  private void 
printRow(List&lt;TRowResult&gt; rows) {</span>
+<span class="source-line-no">362</span><span id="line-362">    for (TRowResult 
rowResult : rows) {</span>
+<span class="source-line-no">363</span><span id="line-363">      
printRow(rowResult);</span>
+<span class="source-line-no">364</span><span id="line-364">    }</span>
+<span class="source-line-no">365</span><span id="line-365">  }</span>
+<span class="source-line-no">366</span><span id="line-366"></span>
+<span class="source-line-no">367</span><span id="line-367">  static Subject 
getSubject() throws Exception {</span>
+<span class="source-line-no">368</span><span id="line-368">    if (!secure) 
{</span>
+<span class="source-line-no">369</span><span id="line-369">      return new 
Subject();</span>
+<span class="source-line-no">370</span><span id="line-370">    }</span>
+<span class="source-line-no">371</span><span id="line-371"></span>
+<span class="source-line-no">372</span><span id="line-372">    LoginContext 
context = ClientUtils.getLoginContext();</span>
+<span class="source-line-no">373</span><span id="line-373">    
context.login();</span>
+<span class="source-line-no">374</span><span id="line-374">    return 
context.getSubject();</span>
+<span class="source-line-no">375</span><span id="line-375">  }</span>
+<span class="source-line-no">376</span><span id="line-376">}</span>
 
 
 
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/thrift/ThriftServer.html 
b/apidocs/src-html/org/apache/hadoop/hbase/thrift/ThriftServer.html
index b8005c0f8e9..b820442a682 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/thrift/ThriftServer.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/thrift/ThriftServer.html
@@ -366,7 +366,7 @@
 <span class="source-line-no">353</span><span id="line-353">        + "To 
shutdown the thrift server run 'hbase-daemon.sh stop "</span>
 <span class="source-line-no">354</span><span id="line-354">        + "thrift' 
or send a kill signal to the thrift server pid",</span>
 <span class="source-line-no">355</span><span id="line-355">      true);</span>
-<span class="source-line-no">356</span><span id="line-356">    throw new 
ExitCodeException(exitCode, "");</span>
+<span class="source-line-no">356</span><span id="line-356">    
System.exit(exitCode);</span>
 <span class="source-line-no">357</span><span id="line-357">  }</span>
 <span class="source-line-no">358</span><span id="line-358"></span>
 <span class="source-line-no">359</span><span id="line-359">  /**</span>
@@ -791,7 +791,7 @@
 <span class="source-line-no">778</span><span id="line-778">    CommandLine cmd 
= parser.parse(options, args);</span>
 <span class="source-line-no">779</span><span id="line-779"></span>
 <span class="source-line-no">780</span><span id="line-780">    if 
(cmd.hasOption("help")) {</span>
-<span class="source-line-no">781</span><span id="line-781">      
printUsageAndExit(options, 1);</span>
+<span class="source-line-no">781</span><span id="line-781">      
printUsageAndExit(options, 0);</span>
 <span class="source-line-no">782</span><span id="line-782">    }</span>
 <span class="source-line-no">783</span><span id="line-783">    
parseCommandLine(cmd, options);</span>
 <span class="source-line-no">784</span><span id="line-784">  }</span>
diff --git a/book.html b/book.html
index e453b8a73b6..bab322f84ba 100644
--- a/book.html
+++ b/book.html
@@ -50183,7 +50183,7 @@ 
org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 4.0.0-alpha-1-SNAPSHOT<br>
-Last updated 2026-01-28 14:31:19 UTC
+Last updated 2026-01-29 14:31:45 UTC
 </div>
 </div>
 <script type="text/x-mathjax-config">
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 2139cb9f692..b3fd52106fc 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-checkstyle-plugin:3.6.0:checkstyle-aggregate at 
01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-checkstyle-plugin:3.6.0:checkstyle-aggregate at 
01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 8e926a562f3..8d5855d077e 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-convergence
 at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-convergence
 at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/dependency-info.html b/dependency-info.html
index ac115f7af02..63a01525b4c 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-info
 at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-info
 at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/dependency-management.html b/dependency-management.html
index 2b285b8ddd5..92771a5ea6a 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-management
 at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-management
 at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/DemoClient.html 
b/devapidocs/org/apache/hadoop/hbase/thrift/DemoClient.html
index 0285a18a2bb..f22096b53d5 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/DemoClient.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/DemoClient.html
@@ -258,26 +258,26 @@ loadScripts(document, 'script');</script>
 <li>
 <section class="detail" id="printVersions(java.nio.ByteBuffer,java.util.List)">
 <h3>printVersions</h3>
-<div class="member-signature"><span 
class="modifiers">private</span>&nbsp;<span 
class="return-type">void</span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/thrift/DemoClient.html#line-348">printVersions</a></span><wbr><span
 class="parameters">(<a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/ByteBuffer.html";
 title="class or interface in java.nio" 
class="external-link">ByteBuffer</a>&nbsp;row,
+<div class="member-signature"><span 
class="modifiers">private</span>&nbsp;<span 
class="return-type">void</span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/thrift/DemoClient.html#line-346">printVersions</a></span><wbr><span
 class="parameters">(<a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/ByteBuffer.html";
 title="class or interface in java.nio" 
class="external-link">ByteBuffer</a>&nbsp;row,
  <a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html";
 title="class or interface in java.util" 
class="external-link">List</a>&lt;org.apache.hadoop.hbase.thrift.generated.TCell&gt;&nbsp;versions)</span></div>
 </section>
 </li>
 <li>
 <section class="detail" 
id="printRow(org.apache.hadoop.hbase.thrift.generated.TRowResult)">
 <h3>printRow</h3>
-<div class="member-signature"><span 
class="modifiers">private</span>&nbsp;<span 
class="return-type">void</span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/thrift/DemoClient.html#line-359">printRow</a></span><wbr><span
 
class="parameters">(org.apache.hadoop.hbase.thrift.generated.TRowResult&nbsp;rowResult)</span></div>
+<div class="member-signature"><span 
class="modifiers">private</span>&nbsp;<span 
class="return-type">void</span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/thrift/DemoClient.html#line-357">printRow</a></span><wbr><span
 
class="parameters">(org.apache.hadoop.hbase.thrift.generated.TRowResult&nbsp;rowResult)</span></div>
 </section>
 </li>
 <li>
 <section class="detail" id="printRow(java.util.List)">
 <h3>printRow</h3>
-<div class="member-signature"><span 
class="modifiers">private</span>&nbsp;<span 
class="return-type">void</span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/thrift/DemoClient.html#line-363">printRow</a></span><wbr><span
 class="parameters">(<a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html";
 title="class or interface in java.util" 
class="external-link">List</a>&lt;org.apache.hadoop.hbase.thrift.generated.TR 
[...]
+<div class="member-signature"><span 
class="modifiers">private</span>&nbsp;<span 
class="return-type">void</span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/thrift/DemoClient.html#line-361">printRow</a></span><wbr><span
 class="parameters">(<a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html";
 title="class or interface in java.util" 
class="external-link">List</a>&lt;org.apache.hadoop.hbase.thrift.generated.TR 
[...]
 </section>
 </li>
 <li>
 <section class="detail" id="getSubject()">
 <h3>getSubject</h3>
-<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span 
class="return-type"><a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/javax/security/auth/Subject.html";
 title="class or interface in javax.security.auth" 
class="external-link">Subject</a></span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/thrift/DemoClient.html#line-369">getSubject</a></span>()
+<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span 
class="return-type"><a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/javax/security/auth/Subject.html";
 title="class or interface in javax.security.auth" 
class="external-link">Subject</a></span>&nbsp;<span class="element-name"><a 
href="../../../../../src-html/org/apache/hadoop/hbase/thrift/DemoClient.html#line-367">getSubject</a></span>()
                    throws <span class="exceptions"><a 
href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Exception.html";
 title="class or interface in java.lang" 
class="external-link">Exception</a></span></div>
 <dl class="notes">
 <dt>Throws:</dt>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/thrift/DemoClient.html 
b/devapidocs/src-html/org/apache/hadoop/hbase/thrift/DemoClient.html
index 792d812cba4..75a04bc10d1 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/thrift/DemoClient.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/thrift/DemoClient.html
@@ -152,243 +152,241 @@
 <span class="source-line-no">139</span><span id="line-139">    }</span>
 <span class="source-line-no">140</span><span id="line-140"></span>
 <span class="source-line-no">141</span><span id="line-141">    // Create the 
demo table with two column families, entry: and unused:</span>
-<span class="source-line-no">142</span><span id="line-142">    
ArrayList&lt;ColumnDescriptor&gt; columns = new ArrayList&lt;&gt;(2);</span>
-<span class="source-line-no">143</span><span id="line-143">    
ColumnDescriptor col;</span>
-<span class="source-line-no">144</span><span id="line-144">    col = new 
ColumnDescriptor();</span>
-<span class="source-line-no">145</span><span id="line-145">    col.name = 
ByteBuffer.wrap(bytes("entry:"));</span>
-<span class="source-line-no">146</span><span id="line-146">    col.timeToLive 
= Integer.MAX_VALUE;</span>
-<span class="source-line-no">147</span><span id="line-147">    col.maxVersions 
= 10;</span>
-<span class="source-line-no">148</span><span id="line-148">    
columns.add(col);</span>
-<span class="source-line-no">149</span><span id="line-149">    col = new 
ColumnDescriptor();</span>
-<span class="source-line-no">150</span><span id="line-150">    col.name = 
ByteBuffer.wrap(bytes("unused:"));</span>
-<span class="source-line-no">151</span><span id="line-151">    col.timeToLive 
= Integer.MAX_VALUE;</span>
-<span class="source-line-no">152</span><span id="line-152">    
columns.add(col);</span>
-<span class="source-line-no">153</span><span id="line-153"></span>
-<span class="source-line-no">154</span><span id="line-154">    
System.out.println("creating table: " + 
ClientUtils.utf8(demoTable.array()));</span>
-<span class="source-line-no">155</span><span id="line-155"></span>
-<span class="source-line-no">156</span><span id="line-156">    try {</span>
-<span class="source-line-no">157</span><span id="line-157">      
client.createTable(demoTable, columns);</span>
-<span class="source-line-no">158</span><span id="line-158">      
client.createTable(disabledTable, columns);</span>
-<span class="source-line-no">159</span><span id="line-159">    } catch 
(AlreadyExists ae) {</span>
-<span class="source-line-no">160</span><span id="line-160">      
System.out.println("WARN: " + ae.message);</span>
-<span class="source-line-no">161</span><span id="line-161">    }</span>
-<span class="source-line-no">162</span><span id="line-162"></span>
-<span class="source-line-no">163</span><span id="line-163">    
System.out.println("column families in " + ClientUtils.utf8(demoTable.array()) 
+ ": ");</span>
-<span class="source-line-no">164</span><span id="line-164">    
Map&lt;ByteBuffer, ColumnDescriptor&gt; columnMap = 
client.getColumnDescriptors(demoTable);</span>
-<span class="source-line-no">165</span><span id="line-165"></span>
-<span class="source-line-no">166</span><span id="line-166">    for 
(ColumnDescriptor col2 : columnMap.values()) {</span>
-<span class="source-line-no">167</span><span id="line-167">      
System.out.println(</span>
-<span class="source-line-no">168</span><span id="line-168">        "  column: 
" + ClientUtils.utf8(col2.name.array()) + ", maxVer: " + 
col2.maxVersions);</span>
-<span class="source-line-no">169</span><span id="line-169">    }</span>
-<span class="source-line-no">170</span><span id="line-170"></span>
-<span class="source-line-no">171</span><span id="line-171">    if 
(client.isTableEnabled(disabledTable)) {</span>
-<span class="source-line-no">172</span><span id="line-172">      
System.out.println("disabling table: " + 
ClientUtils.utf8(disabledTable.array()));</span>
-<span class="source-line-no">173</span><span id="line-173">      
client.disableTable(disabledTable);</span>
-<span class="source-line-no">174</span><span id="line-174">    }</span>
-<span class="source-line-no">175</span><span id="line-175"></span>
-<span class="source-line-no">176</span><span id="line-176">    
System.out.println("list tables with enabled statuses : ");</span>
-<span class="source-line-no">177</span><span id="line-177">    
Map&lt;ByteBuffer, Boolean&gt; statusMap = 
client.getTableNamesWithIsTableEnabled();</span>
-<span class="source-line-no">178</span><span id="line-178">    for 
(Map.Entry&lt;ByteBuffer, Boolean&gt; entry : statusMap.entrySet()) {</span>
-<span class="source-line-no">179</span><span id="line-179">      
System.out.println(" Table: " + ClientUtils.utf8(entry.getKey().array()) + ", 
is enabled: "</span>
-<span class="source-line-no">180</span><span id="line-180">        + 
entry.getValue());</span>
-<span class="source-line-no">181</span><span id="line-181">    }</span>
+<span class="source-line-no">142</span><span id="line-142">    
List&lt;ColumnDescriptor&gt; columns = new ArrayList&lt;&gt;(2);</span>
+<span class="source-line-no">143</span><span id="line-143">    
ColumnDescriptor col = new ColumnDescriptor();</span>
+<span class="source-line-no">144</span><span id="line-144">    col.name = 
ByteBuffer.wrap(bytes("entry:"));</span>
+<span class="source-line-no">145</span><span id="line-145">    col.timeToLive 
= Integer.MAX_VALUE;</span>
+<span class="source-line-no">146</span><span id="line-146">    col.maxVersions 
= 10;</span>
+<span class="source-line-no">147</span><span id="line-147">    
columns.add(col);</span>
+<span class="source-line-no">148</span><span id="line-148">    col = new 
ColumnDescriptor();</span>
+<span class="source-line-no">149</span><span id="line-149">    col.name = 
ByteBuffer.wrap(bytes("unused:"));</span>
+<span class="source-line-no">150</span><span id="line-150">    col.timeToLive 
= Integer.MAX_VALUE;</span>
+<span class="source-line-no">151</span><span id="line-151">    
columns.add(col);</span>
+<span class="source-line-no">152</span><span id="line-152"></span>
+<span class="source-line-no">153</span><span id="line-153">    
System.out.println("creating table: " + 
ClientUtils.utf8(demoTable.array()));</span>
+<span class="source-line-no">154</span><span id="line-154">    try {</span>
+<span class="source-line-no">155</span><span id="line-155">      
client.createTable(demoTable, columns);</span>
+<span class="source-line-no">156</span><span id="line-156">      
client.createTable(disabledTable, columns);</span>
+<span class="source-line-no">157</span><span id="line-157">    } catch 
(AlreadyExists ae) {</span>
+<span class="source-line-no">158</span><span id="line-158">      
System.out.println("WARN: " + ae.message);</span>
+<span class="source-line-no">159</span><span id="line-159">    }</span>
+<span class="source-line-no">160</span><span id="line-160"></span>
+<span class="source-line-no">161</span><span id="line-161">    
System.out.println("column families in " + ClientUtils.utf8(demoTable.array()) 
+ ": ");</span>
+<span class="source-line-no">162</span><span id="line-162">    
Map&lt;ByteBuffer, ColumnDescriptor&gt; columnMap = 
client.getColumnDescriptors(demoTable);</span>
+<span class="source-line-no">163</span><span id="line-163">    for 
(ColumnDescriptor col2 : columnMap.values()) {</span>
+<span class="source-line-no">164</span><span id="line-164">      
System.out.println(</span>
+<span class="source-line-no">165</span><span id="line-165">        "  column: 
" + ClientUtils.utf8(col2.name.array()) + ", maxVer: " + 
col2.maxVersions);</span>
+<span class="source-line-no">166</span><span id="line-166">    }</span>
+<span class="source-line-no">167</span><span id="line-167"></span>
+<span class="source-line-no">168</span><span id="line-168">    if 
(client.isTableEnabled(disabledTable)) {</span>
+<span class="source-line-no">169</span><span id="line-169">      
System.out.println("disabling table: " + 
ClientUtils.utf8(disabledTable.array()));</span>
+<span class="source-line-no">170</span><span id="line-170">      
client.disableTable(disabledTable);</span>
+<span class="source-line-no">171</span><span id="line-171">    }</span>
+<span class="source-line-no">172</span><span id="line-172"></span>
+<span class="source-line-no">173</span><span id="line-173">    
System.out.println("list tables with enabled statuses : ");</span>
+<span class="source-line-no">174</span><span id="line-174">    
Map&lt;ByteBuffer, Boolean&gt; statusMap = 
client.getTableNamesWithIsTableEnabled();</span>
+<span class="source-line-no">175</span><span id="line-175">    for 
(Map.Entry&lt;ByteBuffer, Boolean&gt; entry : statusMap.entrySet()) {</span>
+<span class="source-line-no">176</span><span id="line-176">      
System.out.println(" Table: " + ClientUtils.utf8(entry.getKey().array()) + ", 
is enabled: "</span>
+<span class="source-line-no">177</span><span id="line-177">        + 
entry.getValue());</span>
+<span class="source-line-no">178</span><span id="line-178">    }</span>
+<span class="source-line-no">179</span><span id="line-179"></span>
+<span class="source-line-no">180</span><span id="line-180">    
Map&lt;ByteBuffer, ByteBuffer&gt; dummyAttributes = null;</span>
+<span class="source-line-no">181</span><span id="line-181">    boolean 
writeToWal = false;</span>
 <span class="source-line-no">182</span><span id="line-182"></span>
-<span class="source-line-no">183</span><span id="line-183">    
Map&lt;ByteBuffer, ByteBuffer&gt; dummyAttributes = null;</span>
-<span class="source-line-no">184</span><span id="line-184">    boolean 
writeToWal = false;</span>
-<span class="source-line-no">185</span><span id="line-185"></span>
-<span class="source-line-no">186</span><span id="line-186">    // Test UTF-8 
handling</span>
-<span class="source-line-no">187</span><span id="line-187">    byte[] invalid 
= { (byte) 'f', (byte) 'o', (byte) 'o', (byte) '-', (byte) 0xfc, (byte) 
0xa1,</span>
-<span class="source-line-no">188</span><span id="line-188">      (byte) 0xa1, 
(byte) 0xa1, (byte) 0xa1 };</span>
-<span class="source-line-no">189</span><span id="line-189">    byte[] valid = 
{ (byte) 'f', (byte) 'o', (byte) 'o', (byte) '-', (byte) 0xE7, (byte) 
0x94,</span>
-<span class="source-line-no">190</span><span id="line-190">      (byte) 0x9F, 
(byte) 0xE3, (byte) 0x83, (byte) 0x93, (byte) 0xE3, (byte) 0x83, (byte) 
0xBC,</span>
-<span class="source-line-no">191</span><span id="line-191">      (byte) 0xE3, 
(byte) 0x83, (byte) 0xAB };</span>
-<span class="source-line-no">192</span><span id="line-192"></span>
-<span class="source-line-no">193</span><span id="line-193">    
ArrayList&lt;Mutation&gt; mutations;</span>
-<span class="source-line-no">194</span><span id="line-194">    // non-utf8 is 
fine for data</span>
-<span class="source-line-no">195</span><span id="line-195">    mutations = new 
ArrayList&lt;&gt;(1);</span>
-<span class="source-line-no">196</span><span id="line-196">    
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), 
ByteBuffer.wrap(invalid),</span>
-<span class="source-line-no">197</span><span id="line-197">      
writeToWal));</span>
-<span class="source-line-no">198</span><span id="line-198">    
client.mutateRow(demoTable, ByteBuffer.wrap(bytes("foo")), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">199</span><span id="line-199"></span>
-<span class="source-line-no">200</span><span id="line-200">    // this row 
name is valid utf8</span>
-<span class="source-line-no">201</span><span id="line-201">    mutations = new 
ArrayList&lt;&gt;(1);</span>
-<span class="source-line-no">202</span><span id="line-202">    
mutations.add(</span>
-<span class="source-line-no">203</span><span id="line-203">      new 
Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), ByteBuffer.wrap(valid), 
writeToWal));</span>
-<span class="source-line-no">204</span><span id="line-204">    
client.mutateRow(demoTable, ByteBuffer.wrap(valid), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">205</span><span id="line-205"></span>
-<span class="source-line-no">206</span><span id="line-206">    // non-utf8 is 
now allowed in row names because HBase stores values as binary</span>
-<span class="source-line-no">207</span><span id="line-207">    mutations = new 
ArrayList&lt;&gt;(1);</span>
-<span class="source-line-no">208</span><span id="line-208">    
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), 
ByteBuffer.wrap(invalid),</span>
-<span class="source-line-no">209</span><span id="line-209">      
writeToWal));</span>
-<span class="source-line-no">210</span><span id="line-210">    
client.mutateRow(demoTable, ByteBuffer.wrap(invalid), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">211</span><span id="line-211"></span>
-<span class="source-line-no">212</span><span id="line-212">    // Run a 
scanner on the rows we just created</span>
-<span class="source-line-no">213</span><span id="line-213">    
ArrayList&lt;ByteBuffer&gt; columnNames = new ArrayList&lt;&gt;();</span>
-<span class="source-line-no">214</span><span id="line-214">    
columnNames.add(ByteBuffer.wrap(bytes("entry:")));</span>
-<span class="source-line-no">215</span><span id="line-215"></span>
-<span class="source-line-no">216</span><span id="line-216">    
System.out.println("Starting scanner...");</span>
-<span class="source-line-no">217</span><span id="line-217">    int scanner 
=</span>
-<span class="source-line-no">218</span><span id="line-218">      
client.scannerOpen(demoTable, ByteBuffer.wrap(bytes("")), columnNames, 
dummyAttributes);</span>
+<span class="source-line-no">183</span><span id="line-183">    // Test UTF-8 
handling</span>
+<span class="source-line-no">184</span><span id="line-184">    byte[] invalid 
= { (byte) 'f', (byte) 'o', (byte) 'o', (byte) '-', (byte) 0xfc, (byte) 
0xa1,</span>
+<span class="source-line-no">185</span><span id="line-185">      (byte) 0xa1, 
(byte) 0xa1, (byte) 0xa1 };</span>
+<span class="source-line-no">186</span><span id="line-186">    byte[] valid = 
{ (byte) 'f', (byte) 'o', (byte) 'o', (byte) '-', (byte) 0xE7, (byte) 
0x94,</span>
+<span class="source-line-no">187</span><span id="line-187">      (byte) 0x9F, 
(byte) 0xE3, (byte) 0x83, (byte) 0x93, (byte) 0xE3, (byte) 0x83, (byte) 
0xBC,</span>
+<span class="source-line-no">188</span><span id="line-188">      (byte) 0xE3, 
(byte) 0x83, (byte) 0xAB };</span>
+<span class="source-line-no">189</span><span id="line-189"></span>
+<span class="source-line-no">190</span><span id="line-190">    
ArrayList&lt;Mutation&gt; mutations;</span>
+<span class="source-line-no">191</span><span id="line-191">    // non-utf8 is 
fine for data</span>
+<span class="source-line-no">192</span><span id="line-192">    mutations = new 
ArrayList&lt;&gt;(1);</span>
+<span class="source-line-no">193</span><span id="line-193">    
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), 
ByteBuffer.wrap(invalid),</span>
+<span class="source-line-no">194</span><span id="line-194">      
writeToWal));</span>
+<span class="source-line-no">195</span><span id="line-195">    
client.mutateRow(demoTable, ByteBuffer.wrap(bytes("foo")), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">196</span><span id="line-196"></span>
+<span class="source-line-no">197</span><span id="line-197">    // this row 
name is valid utf8</span>
+<span class="source-line-no">198</span><span id="line-198">    mutations = new 
ArrayList&lt;&gt;(1);</span>
+<span class="source-line-no">199</span><span id="line-199">    
mutations.add(</span>
+<span class="source-line-no">200</span><span id="line-200">      new 
Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), ByteBuffer.wrap(valid), 
writeToWal));</span>
+<span class="source-line-no">201</span><span id="line-201">    
client.mutateRow(demoTable, ByteBuffer.wrap(valid), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">202</span><span id="line-202"></span>
+<span class="source-line-no">203</span><span id="line-203">    // non-utf8 is 
now allowed in row names because HBase stores values as binary</span>
+<span class="source-line-no">204</span><span id="line-204">    mutations = new 
ArrayList&lt;&gt;(1);</span>
+<span class="source-line-no">205</span><span id="line-205">    
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")), 
ByteBuffer.wrap(invalid),</span>
+<span class="source-line-no">206</span><span id="line-206">      
writeToWal));</span>
+<span class="source-line-no">207</span><span id="line-207">    
client.mutateRow(demoTable, ByteBuffer.wrap(invalid), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">208</span><span id="line-208"></span>
+<span class="source-line-no">209</span><span id="line-209">    // Run a 
scanner on the rows we just created</span>
+<span class="source-line-no">210</span><span id="line-210">    
List&lt;ByteBuffer&gt; columnNames = new ArrayList&lt;&gt;();</span>
+<span class="source-line-no">211</span><span id="line-211">    
columnNames.add(ByteBuffer.wrap(bytes("entry")));</span>
+<span class="source-line-no">212</span><span id="line-212"></span>
+<span class="source-line-no">213</span><span id="line-213">    
System.out.println("Starting scanner...");</span>
+<span class="source-line-no">214</span><span id="line-214">    int scanner 
=</span>
+<span class="source-line-no">215</span><span id="line-215">      
client.scannerOpen(demoTable, ByteBuffer.wrap(bytes("")), columnNames, 
dummyAttributes);</span>
+<span class="source-line-no">216</span><span id="line-216"></span>
+<span class="source-line-no">217</span><span id="line-217">    while (true) 
{</span>
+<span class="source-line-no">218</span><span id="line-218">      
List&lt;TRowResult&gt; entry = client.scannerGet(scanner);</span>
 <span class="source-line-no">219</span><span id="line-219"></span>
-<span class="source-line-no">220</span><span id="line-220">    while (true) 
{</span>
-<span class="source-line-no">221</span><span id="line-221">      
List&lt;TRowResult&gt; entry = client.scannerGet(scanner);</span>
-<span class="source-line-no">222</span><span id="line-222"></span>
-<span class="source-line-no">223</span><span id="line-223">      if 
(entry.isEmpty()) {</span>
-<span class="source-line-no">224</span><span id="line-224">        
break;</span>
-<span class="source-line-no">225</span><span id="line-225">      }</span>
-<span class="source-line-no">226</span><span id="line-226"></span>
-<span class="source-line-no">227</span><span id="line-227">      
printRow(entry);</span>
-<span class="source-line-no">228</span><span id="line-228">    }</span>
-<span class="source-line-no">229</span><span id="line-229"></span>
-<span class="source-line-no">230</span><span id="line-230">    // Run some 
operations on a bunch of rows</span>
-<span class="source-line-no">231</span><span id="line-231">    for (int i = 
100; i &gt;= 0; --i) {</span>
-<span class="source-line-no">232</span><span id="line-232">      // format row 
keys as "00000" to "00100"</span>
-<span class="source-line-no">233</span><span id="line-233">      NumberFormat 
nf = NumberFormat.getInstance();</span>
-<span class="source-line-no">234</span><span id="line-234">      
nf.setMinimumIntegerDigits(5);</span>
-<span class="source-line-no">235</span><span id="line-235">      
nf.setGroupingUsed(false);</span>
-<span class="source-line-no">236</span><span id="line-236">      byte[] row = 
bytes(nf.format(i));</span>
-<span class="source-line-no">237</span><span id="line-237"></span>
-<span class="source-line-no">238</span><span id="line-238">      mutations = 
new ArrayList&lt;&gt;(1);</span>
-<span class="source-line-no">239</span><span id="line-239">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("unused:")),</span>
-<span class="source-line-no">240</span><span id="line-240">        
ByteBuffer.wrap(bytes("DELETE_ME")), writeToWal));</span>
-<span class="source-line-no">241</span><span id="line-241">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">242</span><span id="line-242">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
-<span class="source-line-no">243</span><span id="line-243">      
client.deleteAllRow(demoTable, ByteBuffer.wrap(row), dummyAttributes);</span>
-<span class="source-line-no">244</span><span id="line-244"></span>
-<span class="source-line-no">245</span><span id="line-245">      // sleep to 
force later timestamp</span>
-<span class="source-line-no">246</span><span id="line-246">      try {</span>
-<span class="source-line-no">247</span><span id="line-247">        
Thread.sleep(50);</span>
-<span class="source-line-no">248</span><span id="line-248">      } catch 
(InterruptedException e) {</span>
-<span class="source-line-no">249</span><span id="line-249">        // 
no-op</span>
-<span class="source-line-no">250</span><span id="line-250">      }</span>
-<span class="source-line-no">251</span><span id="line-251"></span>
-<span class="source-line-no">252</span><span id="line-252">      mutations = 
new ArrayList&lt;&gt;(2);</span>
-<span class="source-line-no">253</span><span id="line-253">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:num")),</span>
-<span class="source-line-no">254</span><span id="line-254">        
ByteBuffer.wrap(bytes("0")), writeToWal));</span>
-<span class="source-line-no">255</span><span id="line-255">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")),</span>
-<span class="source-line-no">256</span><span id="line-256">        
ByteBuffer.wrap(bytes("FOO")), writeToWal));</span>
-<span class="source-line-no">257</span><span id="line-257">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">258</span><span id="line-258">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
-<span class="source-line-no">259</span><span id="line-259"></span>
-<span class="source-line-no">260</span><span id="line-260">      Mutation 
m;</span>
-<span class="source-line-no">261</span><span id="line-261">      mutations = 
new ArrayList&lt;&gt;(2);</span>
-<span class="source-line-no">262</span><span id="line-262">      m = new 
Mutation();</span>
-<span class="source-line-no">263</span><span id="line-263">      m.column = 
ByteBuffer.wrap(bytes("entry:foo"));</span>
-<span class="source-line-no">264</span><span id="line-264">      m.isDelete = 
true;</span>
-<span class="source-line-no">265</span><span id="line-265">      
mutations.add(m);</span>
-<span class="source-line-no">266</span><span id="line-266">      m = new 
Mutation();</span>
-<span class="source-line-no">267</span><span id="line-267">      m.column = 
ByteBuffer.wrap(bytes("entry:num"));</span>
-<span class="source-line-no">268</span><span id="line-268">      m.value = 
ByteBuffer.wrap(bytes("-1"));</span>
-<span class="source-line-no">269</span><span id="line-269">      
mutations.add(m);</span>
-<span class="source-line-no">270</span><span id="line-270">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">271</span><span id="line-271">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
-<span class="source-line-no">272</span><span id="line-272"></span>
-<span class="source-line-no">273</span><span id="line-273">      mutations = 
new ArrayList&lt;&gt;();</span>
-<span class="source-line-no">274</span><span id="line-274">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:num")),</span>
-<span class="source-line-no">275</span><span id="line-275">        
ByteBuffer.wrap(bytes(Integer.toString(i))), writeToWal));</span>
-<span class="source-line-no">276</span><span id="line-276">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:sqr")),</span>
-<span class="source-line-no">277</span><span id="line-277">        
ByteBuffer.wrap(bytes(Integer.toString(i * i))), writeToWal));</span>
-<span class="source-line-no">278</span><span id="line-278">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
-<span class="source-line-no">279</span><span id="line-279">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
-<span class="source-line-no">280</span><span id="line-280"></span>
-<span class="source-line-no">281</span><span id="line-281">      // sleep to 
force later timestamp</span>
-<span class="source-line-no">282</span><span id="line-282">      try {</span>
-<span class="source-line-no">283</span><span id="line-283">        
Thread.sleep(50);</span>
-<span class="source-line-no">284</span><span id="line-284">      } catch 
(InterruptedException e) {</span>
-<span class="source-line-no">285</span><span id="line-285">        // 
no-op</span>
-<span class="source-line-no">286</span><span id="line-286">      }</span>
-<span class="source-line-no">287</span><span id="line-287"></span>
-<span class="source-line-no">288</span><span id="line-288">      
mutations.clear();</span>
-<span class="source-line-no">289</span><span id="line-289">      m = new 
Mutation();</span>
-<span class="source-line-no">290</span><span id="line-290">      m.column = 
ByteBuffer.wrap(bytes("entry:num"));</span>
-<span class="source-line-no">291</span><span id="line-291">      m.value = 
ByteBuffer.wrap(bytes("-999"));</span>
-<span class="source-line-no">292</span><span id="line-292">      
mutations.add(m);</span>
-<span class="source-line-no">293</span><span id="line-293">      m = new 
Mutation();</span>
-<span class="source-line-no">294</span><span id="line-294">      m.column = 
ByteBuffer.wrap(bytes("entry:sqr"));</span>
-<span class="source-line-no">295</span><span id="line-295">      m.isDelete = 
true;</span>
-<span class="source-line-no">296</span><span id="line-296">      // shouldn't 
override latest</span>
-<span class="source-line-no">297</span><span id="line-297">      
client.mutateRowTs(demoTable, ByteBuffer.wrap(row), mutations, 1, 
dummyAttributes);</span>
-<span class="source-line-no">298</span><span id="line-298">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
-<span class="source-line-no">299</span><span id="line-299"></span>
-<span class="source-line-no">300</span><span id="line-300">      
List&lt;TCell&gt; versions = client.getVer(demoTable, 
ByteBuffer.wrap(row),</span>
-<span class="source-line-no">301</span><span id="line-301">        
ByteBuffer.wrap(bytes("entry:num")), 10, dummyAttributes);</span>
-<span class="source-line-no">302</span><span id="line-302">      
printVersions(ByteBuffer.wrap(row), versions);</span>
-<span class="source-line-no">303</span><span id="line-303"></span>
-<span class="source-line-no">304</span><span id="line-304">      if 
(versions.isEmpty()) {</span>
-<span class="source-line-no">305</span><span id="line-305">        
System.out.println("FATAL: wrong # of versions");</span>
-<span class="source-line-no">306</span><span id="line-306">        
System.exit(-1);</span>
-<span class="source-line-no">307</span><span id="line-307">      }</span>
+<span class="source-line-no">220</span><span id="line-220">      if 
(entry.isEmpty()) {</span>
+<span class="source-line-no">221</span><span id="line-221">        
break;</span>
+<span class="source-line-no">222</span><span id="line-222">      }</span>
+<span class="source-line-no">223</span><span id="line-223"></span>
+<span class="source-line-no">224</span><span id="line-224">      
printRow(entry);</span>
+<span class="source-line-no">225</span><span id="line-225">    }</span>
+<span class="source-line-no">226</span><span id="line-226">    
System.out.println("Scanner finished...");</span>
+<span class="source-line-no">227</span><span id="line-227"></span>
+<span class="source-line-no">228</span><span id="line-228">    // Run some 
operations on a bunch of rows</span>
+<span class="source-line-no">229</span><span id="line-229">    for (int i = 
100; i &gt;= 0; --i) {</span>
+<span class="source-line-no">230</span><span id="line-230">      // format row 
keys as "00000" to "00100"</span>
+<span class="source-line-no">231</span><span id="line-231">      NumberFormat 
nf = NumberFormat.getInstance();</span>
+<span class="source-line-no">232</span><span id="line-232">      
nf.setMinimumIntegerDigits(5);</span>
+<span class="source-line-no">233</span><span id="line-233">      
nf.setGroupingUsed(false);</span>
+<span class="source-line-no">234</span><span id="line-234">      byte[] row = 
bytes(nf.format(i));</span>
+<span class="source-line-no">235</span><span id="line-235"></span>
+<span class="source-line-no">236</span><span id="line-236">      mutations = 
new ArrayList&lt;&gt;(1);</span>
+<span class="source-line-no">237</span><span id="line-237">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("unused:")),</span>
+<span class="source-line-no">238</span><span id="line-238">        
ByteBuffer.wrap(bytes("DELETE_ME")), writeToWal));</span>
+<span class="source-line-no">239</span><span id="line-239">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">240</span><span id="line-240">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
+<span class="source-line-no">241</span><span id="line-241">      
client.deleteAllRow(demoTable, ByteBuffer.wrap(row), dummyAttributes);</span>
+<span class="source-line-no">242</span><span id="line-242"></span>
+<span class="source-line-no">243</span><span id="line-243">      // sleep to 
force later timestamp</span>
+<span class="source-line-no">244</span><span id="line-244">      try {</span>
+<span class="source-line-no">245</span><span id="line-245">        
Thread.sleep(50);</span>
+<span class="source-line-no">246</span><span id="line-246">      } catch 
(InterruptedException e) {</span>
+<span class="source-line-no">247</span><span id="line-247">        // 
no-op</span>
+<span class="source-line-no">248</span><span id="line-248">      }</span>
+<span class="source-line-no">249</span><span id="line-249"></span>
+<span class="source-line-no">250</span><span id="line-250">      mutations = 
new ArrayList&lt;&gt;(2);</span>
+<span class="source-line-no">251</span><span id="line-251">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:num")),</span>
+<span class="source-line-no">252</span><span id="line-252">        
ByteBuffer.wrap(bytes("0")), writeToWal));</span>
+<span class="source-line-no">253</span><span id="line-253">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:foo")),</span>
+<span class="source-line-no">254</span><span id="line-254">        
ByteBuffer.wrap(bytes("FOO")), writeToWal));</span>
+<span class="source-line-no">255</span><span id="line-255">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">256</span><span id="line-256">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
+<span class="source-line-no">257</span><span id="line-257"></span>
+<span class="source-line-no">258</span><span id="line-258">      mutations = 
new ArrayList&lt;&gt;(2);</span>
+<span class="source-line-no">259</span><span id="line-259">      Mutation m = 
new Mutation();</span>
+<span class="source-line-no">260</span><span id="line-260">      m.column = 
ByteBuffer.wrap(bytes("entry:foo"));</span>
+<span class="source-line-no">261</span><span id="line-261">      m.isDelete = 
true;</span>
+<span class="source-line-no">262</span><span id="line-262">      
mutations.add(m);</span>
+<span class="source-line-no">263</span><span id="line-263">      m = new 
Mutation();</span>
+<span class="source-line-no">264</span><span id="line-264">      m.column = 
ByteBuffer.wrap(bytes("entry:num"));</span>
+<span class="source-line-no">265</span><span id="line-265">      m.value = 
ByteBuffer.wrap(bytes("-1"));</span>
+<span class="source-line-no">266</span><span id="line-266">      
mutations.add(m);</span>
+<span class="source-line-no">267</span><span id="line-267">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">268</span><span id="line-268">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
+<span class="source-line-no">269</span><span id="line-269"></span>
+<span class="source-line-no">270</span><span id="line-270">      mutations = 
new ArrayList&lt;&gt;();</span>
+<span class="source-line-no">271</span><span id="line-271">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:num")),</span>
+<span class="source-line-no">272</span><span id="line-272">        
ByteBuffer.wrap(bytes(Integer.toString(i))), writeToWal));</span>
+<span class="source-line-no">273</span><span id="line-273">      
mutations.add(new Mutation(false, ByteBuffer.wrap(bytes("entry:sqr")),</span>
+<span class="source-line-no">274</span><span id="line-274">        
ByteBuffer.wrap(bytes(Integer.toString(i * i))), writeToWal));</span>
+<span class="source-line-no">275</span><span id="line-275">      
client.mutateRow(demoTable, ByteBuffer.wrap(row), mutations, 
dummyAttributes);</span>
+<span class="source-line-no">276</span><span id="line-276">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
+<span class="source-line-no">277</span><span id="line-277"></span>
+<span class="source-line-no">278</span><span id="line-278">      // sleep to 
force later timestamp</span>
+<span class="source-line-no">279</span><span id="line-279">      try {</span>
+<span class="source-line-no">280</span><span id="line-280">        
Thread.sleep(50);</span>
+<span class="source-line-no">281</span><span id="line-281">      } catch 
(InterruptedException e) {</span>
+<span class="source-line-no">282</span><span id="line-282">        // 
no-op</span>
+<span class="source-line-no">283</span><span id="line-283">      }</span>
+<span class="source-line-no">284</span><span id="line-284"></span>
+<span class="source-line-no">285</span><span id="line-285">      
mutations.clear();</span>
+<span class="source-line-no">286</span><span id="line-286">      m = new 
Mutation();</span>
+<span class="source-line-no">287</span><span id="line-287">      m.column = 
ByteBuffer.wrap(bytes("entry:num"));</span>
+<span class="source-line-no">288</span><span id="line-288">      m.value = 
ByteBuffer.wrap(bytes("-999"));</span>
+<span class="source-line-no">289</span><span id="line-289">      
mutations.add(m);</span>
+<span class="source-line-no">290</span><span id="line-290">      m = new 
Mutation();</span>
+<span class="source-line-no">291</span><span id="line-291">      m.column = 
ByteBuffer.wrap(bytes("entry:sqr"));</span>
+<span class="source-line-no">292</span><span id="line-292">      m.isDelete = 
true;</span>
+<span class="source-line-no">293</span><span id="line-293">      // shouldn't 
override latest</span>
+<span class="source-line-no">294</span><span id="line-294">      
client.mutateRowTs(demoTable, ByteBuffer.wrap(row), mutations, 1, 
dummyAttributes);</span>
+<span class="source-line-no">295</span><span id="line-295">      
printRow(client.getRow(demoTable, ByteBuffer.wrap(row), 
dummyAttributes));</span>
+<span class="source-line-no">296</span><span id="line-296"></span>
+<span class="source-line-no">297</span><span id="line-297">      
List&lt;TCell&gt; versions = client.getVer(demoTable, 
ByteBuffer.wrap(row),</span>
+<span class="source-line-no">298</span><span id="line-298">        
ByteBuffer.wrap(bytes("entry:num")), 10, dummyAttributes);</span>
+<span class="source-line-no">299</span><span id="line-299">      
printVersions(ByteBuffer.wrap(row), versions);</span>
+<span class="source-line-no">300</span><span id="line-300"></span>
+<span class="source-line-no">301</span><span id="line-301">      if 
(versions.isEmpty()) {</span>
+<span class="source-line-no">302</span><span id="line-302">        
System.out.println("FATAL: wrong # of versions");</span>
+<span class="source-line-no">303</span><span id="line-303">        
System.exit(-1);</span>
+<span class="source-line-no">304</span><span id="line-304">      }</span>
+<span class="source-line-no">305</span><span id="line-305"></span>
+<span class="source-line-no">306</span><span id="line-306">      
List&lt;TCell&gt; result = client.get(demoTable, ByteBuffer.wrap(row),</span>
+<span class="source-line-no">307</span><span id="line-307">        
ByteBuffer.wrap(bytes("entry:foo")), dummyAttributes);</span>
 <span class="source-line-no">308</span><span id="line-308"></span>
-<span class="source-line-no">309</span><span id="line-309">      
List&lt;TCell&gt; result = client.get(demoTable, ByteBuffer.wrap(row),</span>
-<span class="source-line-no">310</span><span id="line-310">        
ByteBuffer.wrap(bytes("entry:foo")), dummyAttributes);</span>
-<span class="source-line-no">311</span><span id="line-311"></span>
-<span class="source-line-no">312</span><span id="line-312">      if 
(!result.isEmpty()) {</span>
-<span class="source-line-no">313</span><span id="line-313">        
System.out.println("FATAL: shouldn't get here");</span>
-<span class="source-line-no">314</span><span id="line-314">        
System.exit(-1);</span>
-<span class="source-line-no">315</span><span id="line-315">      }</span>
+<span class="source-line-no">309</span><span id="line-309">      if 
(!result.isEmpty()) {</span>
+<span class="source-line-no">310</span><span id="line-310">        
System.out.println("FATAL: shouldn't get here");</span>
+<span class="source-line-no">311</span><span id="line-311">        
System.exit(-1);</span>
+<span class="source-line-no">312</span><span id="line-312">      }</span>
+<span class="source-line-no">313</span><span id="line-313"></span>
+<span class="source-line-no">314</span><span id="line-314">      
System.out.println();</span>
+<span class="source-line-no">315</span><span id="line-315">    }</span>
 <span class="source-line-no">316</span><span id="line-316"></span>
-<span class="source-line-no">317</span><span id="line-317">      
System.out.println("");</span>
-<span class="source-line-no">318</span><span id="line-318">    }</span>
+<span class="source-line-no">317</span><span id="line-317">    // scan all 
rows/columnNames</span>
+<span class="source-line-no">318</span><span id="line-318">    
columnNames.clear();</span>
 <span class="source-line-no">319</span><span id="line-319"></span>
-<span class="source-line-no">320</span><span id="line-320">    // scan all 
rows/columnNames</span>
-<span class="source-line-no">321</span><span id="line-321">    
columnNames.clear();</span>
-<span class="source-line-no">322</span><span id="line-322"></span>
-<span class="source-line-no">323</span><span id="line-323">    for 
(ColumnDescriptor col2 : client.getColumnDescriptors(demoTable).values()) 
{</span>
-<span class="source-line-no">324</span><span id="line-324">      
System.out.println("column with name: " + ClientUtils.utf8(col2.name));</span>
-<span class="source-line-no">325</span><span id="line-325">      
System.out.println(col2.toString());</span>
-<span class="source-line-no">326</span><span id="line-326"></span>
-<span class="source-line-no">327</span><span id="line-327">      
columnNames.add(col2.name);</span>
-<span class="source-line-no">328</span><span id="line-328">    }</span>
-<span class="source-line-no">329</span><span id="line-329"></span>
-<span class="source-line-no">330</span><span id="line-330">    
System.out.println("Starting scanner...");</span>
-<span class="source-line-no">331</span><span id="line-331">    scanner = 
client.scannerOpenWithStop(demoTable, ByteBuffer.wrap(bytes("00020")),</span>
-<span class="source-line-no">332</span><span id="line-332">      
ByteBuffer.wrap(bytes("00040")), columnNames, dummyAttributes);</span>
-<span class="source-line-no">333</span><span id="line-333"></span>
-<span class="source-line-no">334</span><span id="line-334">    while (true) 
{</span>
-<span class="source-line-no">335</span><span id="line-335">      
List&lt;TRowResult&gt; entry = client.scannerGet(scanner);</span>
-<span class="source-line-no">336</span><span id="line-336"></span>
-<span class="source-line-no">337</span><span id="line-337">      if 
(entry.isEmpty()) {</span>
-<span class="source-line-no">338</span><span id="line-338">        
System.out.println("Scanner finished");</span>
-<span class="source-line-no">339</span><span id="line-339">        
break;</span>
-<span class="source-line-no">340</span><span id="line-340">      }</span>
-<span class="source-line-no">341</span><span id="line-341"></span>
-<span class="source-line-no">342</span><span id="line-342">      
printRow(entry);</span>
-<span class="source-line-no">343</span><span id="line-343">    }</span>
-<span class="source-line-no">344</span><span id="line-344"></span>
-<span class="source-line-no">345</span><span id="line-345">    
transport.close();</span>
-<span class="source-line-no">346</span><span id="line-346">  }</span>
-<span class="source-line-no">347</span><span id="line-347"></span>
-<span class="source-line-no">348</span><span id="line-348">  private void 
printVersions(ByteBuffer row, List&lt;TCell&gt; versions) {</span>
-<span class="source-line-no">349</span><span id="line-349">    StringBuilder 
rowStr = new StringBuilder();</span>
-<span class="source-line-no">350</span><span id="line-350"></span>
-<span class="source-line-no">351</span><span id="line-351">    for (TCell cell 
: versions) {</span>
-<span class="source-line-no">352</span><span id="line-352">      
rowStr.append(ClientUtils.utf8(cell.value.array()));</span>
-<span class="source-line-no">353</span><span id="line-353">      
rowStr.append("; ");</span>
-<span class="source-line-no">354</span><span id="line-354">    }</span>
-<span class="source-line-no">355</span><span id="line-355"></span>
-<span class="source-line-no">356</span><span id="line-356">    
System.out.println("row: " + ClientUtils.utf8(row) + ", values: " + 
rowStr);</span>
-<span class="source-line-no">357</span><span id="line-357">  }</span>
-<span class="source-line-no">358</span><span id="line-358"></span>
-<span class="source-line-no">359</span><span id="line-359">  private void 
printRow(TRowResult rowResult) {</span>
-<span class="source-line-no">360</span><span id="line-360">    
ClientUtils.printRow(rowResult);</span>
-<span class="source-line-no">361</span><span id="line-361">  }</span>
-<span class="source-line-no">362</span><span id="line-362"></span>
-<span class="source-line-no">363</span><span id="line-363">  private void 
printRow(List&lt;TRowResult&gt; rows) {</span>
-<span class="source-line-no">364</span><span id="line-364">    for (TRowResult 
rowResult : rows) {</span>
-<span class="source-line-no">365</span><span id="line-365">      
printRow(rowResult);</span>
-<span class="source-line-no">366</span><span id="line-366">    }</span>
-<span class="source-line-no">367</span><span id="line-367">  }</span>
-<span class="source-line-no">368</span><span id="line-368"></span>
-<span class="source-line-no">369</span><span id="line-369">  static Subject 
getSubject() throws Exception {</span>
-<span class="source-line-no">370</span><span id="line-370">    if (!secure) 
{</span>
-<span class="source-line-no">371</span><span id="line-371">      return new 
Subject();</span>
-<span class="source-line-no">372</span><span id="line-372">    }</span>
-<span class="source-line-no">373</span><span id="line-373"></span>
-<span class="source-line-no">374</span><span id="line-374">    LoginContext 
context = ClientUtils.getLoginContext();</span>
-<span class="source-line-no">375</span><span id="line-375">    
context.login();</span>
-<span class="source-line-no">376</span><span id="line-376">    return 
context.getSubject();</span>
-<span class="source-line-no">377</span><span id="line-377">  }</span>
-<span class="source-line-no">378</span><span id="line-378">}</span>
+<span class="source-line-no">320</span><span id="line-320">    for 
(ColumnDescriptor col2 : client.getColumnDescriptors(demoTable).values()) 
{</span>
+<span class="source-line-no">321</span><span id="line-321">      
System.out.println("column with name: " + ClientUtils.utf8(col2.name));</span>
+<span class="source-line-no">322</span><span id="line-322">      
System.out.println(col2);</span>
+<span class="source-line-no">323</span><span id="line-323">      // remove the 
trailing ':' from the family name</span>
+<span class="source-line-no">324</span><span id="line-324">      
col2.name.limit(col2.name.limit() - 1);</span>
+<span class="source-line-no">325</span><span id="line-325">      
columnNames.add(col2.name.slice());</span>
+<span class="source-line-no">326</span><span id="line-326">    }</span>
+<span class="source-line-no">327</span><span id="line-327"></span>
+<span class="source-line-no">328</span><span id="line-328">    
System.out.println("Starting scanner...");</span>
+<span class="source-line-no">329</span><span id="line-329">    scanner = 
client.scannerOpenWithStop(demoTable, ByteBuffer.wrap(bytes("00020")),</span>
+<span class="source-line-no">330</span><span id="line-330">      
ByteBuffer.wrap(bytes("00040")), columnNames, dummyAttributes);</span>
+<span class="source-line-no">331</span><span id="line-331"></span>
+<span class="source-line-no">332</span><span id="line-332">    while (true) 
{</span>
+<span class="source-line-no">333</span><span id="line-333">      
List&lt;TRowResult&gt; entry = client.scannerGet(scanner);</span>
+<span class="source-line-no">334</span><span id="line-334"></span>
+<span class="source-line-no">335</span><span id="line-335">      if 
(entry.isEmpty()) {</span>
+<span class="source-line-no">336</span><span id="line-336">        
System.out.println("Scanner finished...");</span>
+<span class="source-line-no">337</span><span id="line-337">        
break;</span>
+<span class="source-line-no">338</span><span id="line-338">      }</span>
+<span class="source-line-no">339</span><span id="line-339"></span>
+<span class="source-line-no">340</span><span id="line-340">      
printRow(entry);</span>
+<span class="source-line-no">341</span><span id="line-341">    }</span>
+<span class="source-line-no">342</span><span id="line-342"></span>
+<span class="source-line-no">343</span><span id="line-343">    
transport.close();</span>
+<span class="source-line-no">344</span><span id="line-344">  }</span>
+<span class="source-line-no">345</span><span id="line-345"></span>
+<span class="source-line-no">346</span><span id="line-346">  private void 
printVersions(ByteBuffer row, List&lt;TCell&gt; versions) {</span>
+<span class="source-line-no">347</span><span id="line-347">    StringBuilder 
rowStr = new StringBuilder();</span>
+<span class="source-line-no">348</span><span id="line-348"></span>
+<span class="source-line-no">349</span><span id="line-349">    for (TCell cell 
: versions) {</span>
+<span class="source-line-no">350</span><span id="line-350">      
rowStr.append(ClientUtils.utf8(cell.value.array()));</span>
+<span class="source-line-no">351</span><span id="line-351">      
rowStr.append("; ");</span>
+<span class="source-line-no">352</span><span id="line-352">    }</span>
+<span class="source-line-no">353</span><span id="line-353"></span>
+<span class="source-line-no">354</span><span id="line-354">    
System.out.println("row: " + ClientUtils.utf8(row) + ", values: " + 
rowStr);</span>
+<span class="source-line-no">355</span><span id="line-355">  }</span>
+<span class="source-line-no">356</span><span id="line-356"></span>
+<span class="source-line-no">357</span><span id="line-357">  private void 
printRow(TRowResult rowResult) {</span>
+<span class="source-line-no">358</span><span id="line-358">    
ClientUtils.printRow(rowResult);</span>
+<span class="source-line-no">359</span><span id="line-359">  }</span>
+<span class="source-line-no">360</span><span id="line-360"></span>
+<span class="source-line-no">361</span><span id="line-361">  private void 
printRow(List&lt;TRowResult&gt; rows) {</span>
+<span class="source-line-no">362</span><span id="line-362">    for (TRowResult 
rowResult : rows) {</span>
+<span class="source-line-no">363</span><span id="line-363">      
printRow(rowResult);</span>
+<span class="source-line-no">364</span><span id="line-364">    }</span>
+<span class="source-line-no">365</span><span id="line-365">  }</span>
+<span class="source-line-no">366</span><span id="line-366"></span>
+<span class="source-line-no">367</span><span id="line-367">  static Subject 
getSubject() throws Exception {</span>
+<span class="source-line-no">368</span><span id="line-368">    if (!secure) 
{</span>
+<span class="source-line-no">369</span><span id="line-369">      return new 
Subject();</span>
+<span class="source-line-no">370</span><span id="line-370">    }</span>
+<span class="source-line-no">371</span><span id="line-371"></span>
+<span class="source-line-no">372</span><span id="line-372">    LoginContext 
context = ClientUtils.getLoginContext();</span>
+<span class="source-line-no">373</span><span id="line-373">    
context.login();</span>
+<span class="source-line-no">374</span><span id="line-374">    return 
context.getSubject();</span>
+<span class="source-line-no">375</span><span id="line-375">  }</span>
+<span class="source-line-no">376</span><span id="line-376">}</span>
 
 
 
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/thrift/ThriftServer.html 
b/devapidocs/src-html/org/apache/hadoop/hbase/thrift/ThriftServer.html
index b8005c0f8e9..b820442a682 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/thrift/ThriftServer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/thrift/ThriftServer.html
@@ -366,7 +366,7 @@
 <span class="source-line-no">353</span><span id="line-353">        + "To 
shutdown the thrift server run 'hbase-daemon.sh stop "</span>
 <span class="source-line-no">354</span><span id="line-354">        + "thrift' 
or send a kill signal to the thrift server pid",</span>
 <span class="source-line-no">355</span><span id="line-355">      true);</span>
-<span class="source-line-no">356</span><span id="line-356">    throw new 
ExitCodeException(exitCode, "");</span>
+<span class="source-line-no">356</span><span id="line-356">    
System.exit(exitCode);</span>
 <span class="source-line-no">357</span><span id="line-357">  }</span>
 <span class="source-line-no">358</span><span id="line-358"></span>
 <span class="source-line-no">359</span><span id="line-359">  /**</span>
@@ -791,7 +791,7 @@
 <span class="source-line-no">778</span><span id="line-778">    CommandLine cmd 
= parser.parse(options, args);</span>
 <span class="source-line-no">779</span><span id="line-779"></span>
 <span class="source-line-no">780</span><span id="line-780">    if 
(cmd.hasOption("help")) {</span>
-<span class="source-line-no">781</span><span id="line-781">      
printUsageAndExit(options, 1);</span>
+<span class="source-line-no">781</span><span id="line-781">      
printUsageAndExit(options, 0);</span>
 <span class="source-line-no">782</span><span id="line-782">    }</span>
 <span class="source-line-no">783</span><span id="line-783">    
parseCommandLine(cmd, options);</span>
 <span class="source-line-no">784</span><span id="line-784">  }</span>
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/thrift2/ThriftServer.html 
b/devapidocs/src-html/org/apache/hadoop/hbase/thrift2/ThriftServer.html
index 4da4c930427..06cb7540475 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/thrift2/ThriftServer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/thrift2/ThriftServer.html
@@ -77,7 +77,7 @@
 <span class="source-line-no">064</span><span id="line-64">        + "To 
shutdown the thrift server run 'hbase-daemon.sh stop thrift2' or"</span>
 <span class="source-line-no">065</span><span id="line-65">        + " send a 
kill signal to the thrift server pid",</span>
 <span class="source-line-no">066</span><span id="line-66">      true);</span>
-<span class="source-line-no">067</span><span id="line-67">    throw new 
Shell.ExitCodeException(exitCode, "");</span>
+<span class="source-line-no">067</span><span id="line-67">    
System.exit(exitCode);</span>
 <span class="source-line-no">068</span><span id="line-68">  }</span>
 <span class="source-line-no">069</span><span id="line-69"></span>
 <span class="source-line-no">070</span><span id="line-70">  @Override</span>
diff --git a/hbase-website/dependency-convergence.html 
b/hbase-website/dependency-convergence.html
index 68908ca1dcd..e5d79fc4fcd 100644
--- a/hbase-website/dependency-convergence.html
+++ b/hbase-website/dependency-convergence.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-convergence
 at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-convergence
 at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/dependency-info.html 
b/hbase-website/dependency-info.html
index a6217f5c629..f7aeea31ce6 100644
--- a/hbase-website/dependency-info.html
+++ b/hbase-website/dependency-info.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-info
 at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-info
 at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/dependency-management.html 
b/hbase-website/dependency-management.html
index 3bb62e27912..8592c977cba 100644
--- a/hbase-website/dependency-management.html
+++ b/hbase-website/dependency-management.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-management
 at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:dependency-management
 at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/index.html b/hbase-website/index.html
index 7b29cc809cd..78244e88f8c 100644
--- a/hbase-website/index.html
+++ b/hbase-website/index.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:index at 
01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:index at 
01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/issue-management.html 
b/hbase-website/issue-management.html
index dacc8fd6fc0..477ccbdf637 100644
--- a/hbase-website/issue-management.html
+++ b/hbase-website/issue-management.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:issue-management
 at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:issue-management
 at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/licenses.html b/hbase-website/licenses.html
index f1a99f81475..560f3f2310b 100644
--- a/hbase-website/licenses.html
+++ b/hbase-website/licenses.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:licenses at 
01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:licenses at 
01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/mailing-lists.html b/hbase-website/mailing-lists.html
index bc9a44b6af3..89ec165684a 100644
--- a/hbase-website/mailing-lists.html
+++ b/hbase-website/mailing-lists.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:mailing-lists 
at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:mailing-lists 
at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/plugin-management.html 
b/hbase-website/plugin-management.html
index 6cae22ba56e..cc995c03085 100644
--- a/hbase-website/plugin-management.html
+++ b/hbase-website/plugin-management.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:plugin-management
 at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:plugin-management
 at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/plugins.html b/hbase-website/plugins.html
index 1de6fc89844..a1c19280114 100644
--- a/hbase-website/plugins.html
+++ b/hbase-website/plugins.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:plugins at 
01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:plugins at 
01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/project-info.html b/hbase-website/project-info.html
index 26176e64d4d..cf310a044e5 100644
--- a/hbase-website/project-info.html
+++ b/hbase-website/project-info.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-site-plugin:3.21.0:project-info at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-site-plugin:3.21.0:project-info at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/scm.html b/hbase-website/scm.html
index f01456ccf32..7f7e4a80208 100644
--- a/hbase-website/scm.html
+++ b/hbase-website/scm.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:scm at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:scm at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/summary.html b/hbase-website/summary.html
index 68154aa3356..513bfe8a53d 100644
--- a/hbase-website/summary.html
+++ b/hbase-website/summary.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:summary at 
01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:summary at 
01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/hbase-website/team.html b/hbase-website/team.html
index 531883e5f9e..cf4f3414507 100644
--- a/hbase-website/team.html
+++ b/hbase-website/team.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:team at 
01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:team at 
01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/issue-management.html b/issue-management.html
index 175eac84e37..38651b2a58b 100644
--- a/issue-management.html
+++ b/issue-management.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:issue-management
 at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:issue-management
 at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/licenses.html b/licenses.html
index 72fdffffea6..27eaac672ed 100644
--- a/licenses.html
+++ b/licenses.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:licenses at 
01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:licenses at 
01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/mailing-lists.html b/mailing-lists.html
index a09a0671a27..9b9cd83b93c 100644
--- a/mailing-lists.html
+++ b/mailing-lists.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:mailing-lists 
at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:mailing-lists 
at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/plugin-management.html b/plugin-management.html
index 67d63d11d94..798cb34dc21 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:plugin-management
 at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:plugin-management
 at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/plugins.html b/plugins.html
index 55e4c97f640..dc30812f2f4 100644
--- a/plugins.html
+++ b/plugins.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:plugins at 
01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:plugins at 
01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/project-info.html b/project-info.html
index de551141c42..4bc5f396d41 100644
--- a/project-info.html
+++ b/project-info.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-site-plugin:3.21.0:project-info at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-site-plugin:3.21.0:project-info at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/project-reports.html b/project-reports.html
index ec21f09b2b0..a1e2019fe8e 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-site-plugin:3.21.0:project-reports at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-site-plugin:3.21.0:project-reports at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/scm.html b/scm.html
index 13af9b805cc..83919e60476 100644
--- a/scm.html
+++ b/scm.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:scm at 01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:scm at 01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/summary.html b/summary.html
index a961b3b49bb..1fae8cb8606 100644
--- a/summary.html
+++ b/summary.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:summary at 
01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:summary at 
01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
diff --git a/team.html b/team.html
index 69fc4cbf036..cc1347a6b6d 100644
--- a/team.html
+++ b/team.html
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:team at 
01/28/26
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.9.0:team at 
01/29/26
  | Rendered using Apache Maven Fluido Skin 2.0.0-M9
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">

Reply via email to