You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2018/05/02 14:47:21 UTC

[1/8] hbase-site git commit: Published site at 2e9b96e4f14c2802b59c6037cbfe4a427ec93bea.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 230898ae6 -> c3fc94f00


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html
index c0203b3..f838368 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html
@@ -308,157 +308,160 @@
 <span class="sourceLineNo">300</span>    // Acquire namespace lock, then queue other locks.<a name="line.300"></a>
 <span class="sourceLineNo">301</span>    long nsProcId = queueLock(nsLock);<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    assertTrue(awaitForLocked(nsProcId, 2000));<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    sendHeartbeatAndCheckLocked(nsProcId, true);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    long table1ProcId = queueLock(tableLock1);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    long table2ProcId = queueLock(tableLock2);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    long regions1ProcId = queueLock(regionsLock1);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    long regions2ProcId = queueLock(regionsLock2);<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>    // Assert tables &amp; region locks are waiting because of namespace lock.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    Thread.sleep(HEARTBEAT_TIMEOUT / 2);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    sendHeartbeatAndCheckLocked(nsProcId, true);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    sendHeartbeatAndCheckLocked(table1ProcId, false);<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    sendHeartbeatAndCheckLocked(table2ProcId, false);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    sendHeartbeatAndCheckLocked(regions1ProcId, false);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    sendHeartbeatAndCheckLocked(regions2ProcId, false);<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    // Release namespace lock and assert tables locks are acquired but not region lock<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    releaseLock(nsProcId);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    assertTrue(awaitForLocked(table1ProcId, 2000));<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    assertTrue(awaitForLocked(table2ProcId, 2000));<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    sendHeartbeatAndCheckLocked(regions1ProcId, false);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    sendHeartbeatAndCheckLocked(regions2ProcId, false);<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>    // Release table1 lock and assert region lock is acquired.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    releaseLock(table1ProcId);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    sendHeartbeatAndCheckLocked(table1ProcId, false);<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    assertTrue(awaitForLocked(regions1ProcId, 2000));<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    sendHeartbeatAndCheckLocked(table2ProcId, true);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    sendHeartbeatAndCheckLocked(regions2ProcId, false);<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>    // Release table2 lock and assert region lock is acquired.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    releaseLock(table2ProcId);<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    sendHeartbeatAndCheckLocked(table2ProcId, false);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    assertTrue(awaitForLocked(regions2ProcId, 2000));<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    sendHeartbeatAndCheckLocked(regions1ProcId, true);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    sendHeartbeatAndCheckLocked(regions2ProcId, true);<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span>    // Release region locks.<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    releaseLock(regions1ProcId);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    releaseLock(regions2ProcId);<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    sendHeartbeatAndCheckLocked(regions1ProcId, false);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    sendHeartbeatAndCheckLocked(regions2ProcId, false);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    ProcedureTestingUtility.waitAllProcedures(procExec);<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, nsProcId);<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, table1ProcId);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, table2ProcId);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, regions1ProcId);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, regions2ProcId);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>  }<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>  // Test latch is decreased in count when lock is acquired.<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  @Test<a name="line.352"></a>
-<span class="sourceLineNo">353</span>  public void testLatch() throws Exception {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    CountDownLatch latch = new CountDownLatch(1);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    // MasterRpcServices don't set latch with LockProcedure, so create one and submit it directly.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    LockProcedure lockProc = new LockProcedure(UTIL.getConfiguration(),<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        TableName.valueOf("table"),<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        org.apache.hadoop.hbase.procedure2.LockType.EXCLUSIVE, "desc", latch);<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    procExec.submitProcedure(lockProc);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    assertTrue(latch.await(2000, TimeUnit.MILLISECONDS));<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    releaseLock(lockProc.getProcId());<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    ProcedureTestingUtility.waitProcedure(procExec, lockProc.getProcId());<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, lockProc.getProcId());<a name="line.363"></a>
-<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
-<span class="sourceLineNo">365</span><a name="line.365"></a>
-<span class="sourceLineNo">366</span>  // LockProcedures with latch are considered local locks.<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  @Test<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  public void testLocalLockTimeout() throws Exception {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    CountDownLatch latch = new CountDownLatch(1);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    // MasterRpcServices don't set latch with LockProcedure, so create one and submit it directly.<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    LockProcedure lockProc = new LockProcedure(UTIL.getConfiguration(),<a name="line.371"></a>
-<span class="sourceLineNo">372</span>        TableName.valueOf("table"), LockType.EXCLUSIVE, "desc", latch);<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    procExec.submitProcedure(lockProc);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    assertTrue(awaitForLocked(lockProc.getProcId(), 2000));<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    Thread.sleep(LOCAL_LOCKS_TIMEOUT / 2);<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    assertTrue(lockProc.isLocked());<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    Thread.sleep(2 * LOCAL_LOCKS_TIMEOUT);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    assertFalse(lockProc.isLocked());<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    releaseLock(lockProc.getProcId());<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    ProcedureTestingUtility.waitProcedure(procExec, lockProc.getProcId());<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, lockProc.getProcId());<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  private void testRemoteLockRecovery(LockRequest lock) throws Exception {<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, true);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    final long procId = queueLock(lock);<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    assertTrue(awaitForLocked(procId, 2000));<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    // wait for proc Executor to die, then restart it and wait for Lock Procedure to get started.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    ProcedureTestingUtility.waitProcedure(procExec, procId);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    assertEquals(false, procExec.isRunning());<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, false);<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    ProcedureTestingUtility.restart(procExec);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    while (!procExec.isStarted(procId)) {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      Thread.sleep(250);<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    }<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    assertEquals(true, procExec.isRunning());<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // After recovery, remote locks should reacquire locks and function normally.<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    assertTrue(awaitForLocked(procId, 2000));<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    Thread.sleep(HEARTBEAT_TIMEOUT/2);<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    sendHeartbeatAndCheckLocked(procId, true);<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    Thread.sleep(HEARTBEAT_TIMEOUT/2);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    sendHeartbeatAndCheckLocked(procId, true);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    Thread.sleep(2 * HEARTBEAT_TIMEOUT + HEARTBEAT_TIMEOUT/2);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    sendHeartbeatAndCheckLocked(procId, false);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    ProcedureTestingUtility.waitProcedure(procExec, procId);<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, procId);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  @Test<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  public void testRemoteTableLockRecovery() throws Exception {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    LockRequest lock = getTableExclusiveLock(tableName1, testMethodName);<a name="line.413"></a>
-<span class="sourceLineNo">414</span>    testRemoteLockRecovery(lock);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  }<a name="line.415"></a>
-<span class="sourceLineNo">416</span><a name="line.416"></a>
-<span class="sourceLineNo">417</span>  @Test<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  public void testRemoteNamespaceLockRecovery() throws Exception {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    LockRequest lock = getNamespaceLock(namespace, testMethodName);<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    testRemoteLockRecovery(lock);<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>  @Test<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  public void testRemoteRegionLockRecovery() throws Exception {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    LockRequest lock = getRegionLock(tableRegions1, testMethodName);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    testRemoteLockRecovery(lock);<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  }<a name="line.427"></a>
-<span class="sourceLineNo">428</span><a name="line.428"></a>
-<span class="sourceLineNo">429</span>  @Test<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  public void testLocalMasterLockRecovery() throws Exception {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, true);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>    CountDownLatch latch = new CountDownLatch(1);<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    LockProcedure lockProc = new LockProcedure(UTIL.getConfiguration(),<a name="line.433"></a>
-<span class="sourceLineNo">434</span>        TableName.valueOf("table"), LockType.EXCLUSIVE, "desc", latch);<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    procExec.submitProcedure(lockProc);<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    assertTrue(latch.await(2000, TimeUnit.MILLISECONDS));<a name="line.436"></a>
-<span class="sourceLineNo">437</span><a name="line.437"></a>
-<span class="sourceLineNo">438</span>    // wait for proc Executor to die, then restart it and wait for Lock Procedure to get started.<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    ProcedureTestingUtility.waitProcedure(procExec, lockProc.getProcId());<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    assertEquals(false, procExec.isRunning());<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, false);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    // remove zk lock node otherwise recovered lock will keep waiting on it.<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    ProcedureTestingUtility.restart(procExec);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    while (!procExec.isStarted(lockProc.getProcId())) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      Thread.sleep(250);<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    }<a name="line.446"></a>
-<span class="sourceLineNo">447</span>    assertEquals(true, procExec.isRunning());<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    ProcedureTestingUtility.waitProcedure(procExec, lockProc.getProcId());<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    Procedure&lt;?&gt; result = procExec.getResultOrProcedure(lockProc.getProcId());<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    assertTrue(result != null &amp;&amp; !result.isFailed());<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, lockProc.getProcId());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
-<span class="sourceLineNo">453</span>}<a name="line.453"></a>
+<span class="sourceLineNo">303</span>    long start = System.currentTimeMillis();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    sendHeartbeatAndCheckLocked(nsProcId, true);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    long table1ProcId = queueLock(tableLock1);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    long table2ProcId = queueLock(tableLock2);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    long regions1ProcId = queueLock(regionsLock1);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    long regions2ProcId = queueLock(regionsLock2);<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>    // Assert tables &amp; region locks are waiting because of namespace lock.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    long now = System.currentTimeMillis();<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    // leave extra 10 msec in case more than half the HEARTBEAT_TIMEOUT has passed<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    Thread.sleep(Math.min(HEARTBEAT_TIMEOUT / 2, Math.max(HEARTBEAT_TIMEOUT-(now-start)-10, 0)));<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    sendHeartbeatAndCheckLocked(nsProcId, true);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    sendHeartbeatAndCheckLocked(table1ProcId, false);<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    sendHeartbeatAndCheckLocked(table2ProcId, false);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    sendHeartbeatAndCheckLocked(regions1ProcId, false);<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    sendHeartbeatAndCheckLocked(regions2ProcId, false);<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>    // Release namespace lock and assert tables locks are acquired but not region lock<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    releaseLock(nsProcId);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    assertTrue(awaitForLocked(table1ProcId, 2000));<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    assertTrue(awaitForLocked(table2ProcId, 2000));<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    sendHeartbeatAndCheckLocked(regions1ProcId, false);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    sendHeartbeatAndCheckLocked(regions2ProcId, false);<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>    // Release table1 lock and assert region lock is acquired.<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    releaseLock(table1ProcId);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    sendHeartbeatAndCheckLocked(table1ProcId, false);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    assertTrue(awaitForLocked(regions1ProcId, 2000));<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    sendHeartbeatAndCheckLocked(table2ProcId, true);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    sendHeartbeatAndCheckLocked(regions2ProcId, false);<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>    // Release table2 lock and assert region lock is acquired.<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    releaseLock(table2ProcId);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    sendHeartbeatAndCheckLocked(table2ProcId, false);<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    assertTrue(awaitForLocked(regions2ProcId, 2000));<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    sendHeartbeatAndCheckLocked(regions1ProcId, true);<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    sendHeartbeatAndCheckLocked(regions2ProcId, true);<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>    // Release region locks.<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    releaseLock(regions1ProcId);<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    releaseLock(regions2ProcId);<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    sendHeartbeatAndCheckLocked(regions1ProcId, false);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    sendHeartbeatAndCheckLocked(regions2ProcId, false);<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    ProcedureTestingUtility.waitAllProcedures(procExec);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, nsProcId);<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, table1ProcId);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, table2ProcId);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, regions1ProcId);<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, regions2ProcId);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>  // Test latch is decreased in count when lock is acquired.<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  @Test<a name="line.355"></a>
+<span class="sourceLineNo">356</span>  public void testLatch() throws Exception {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    CountDownLatch latch = new CountDownLatch(1);<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    // MasterRpcServices don't set latch with LockProcedure, so create one and submit it directly.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    LockProcedure lockProc = new LockProcedure(UTIL.getConfiguration(),<a name="line.359"></a>
+<span class="sourceLineNo">360</span>        TableName.valueOf("table"),<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        org.apache.hadoop.hbase.procedure2.LockType.EXCLUSIVE, "desc", latch);<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    procExec.submitProcedure(lockProc);<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    assertTrue(latch.await(2000, TimeUnit.MILLISECONDS));<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    releaseLock(lockProc.getProcId());<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    ProcedureTestingUtility.waitProcedure(procExec, lockProc.getProcId());<a name="line.365"></a>
+<span class="sourceLineNo">366</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, lockProc.getProcId());<a name="line.366"></a>
+<span class="sourceLineNo">367</span>  }<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>  // LockProcedures with latch are considered local locks.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>  @Test<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  public void testLocalLockTimeout() throws Exception {<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    CountDownLatch latch = new CountDownLatch(1);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    // MasterRpcServices don't set latch with LockProcedure, so create one and submit it directly.<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    LockProcedure lockProc = new LockProcedure(UTIL.getConfiguration(),<a name="line.374"></a>
+<span class="sourceLineNo">375</span>        TableName.valueOf("table"), LockType.EXCLUSIVE, "desc", latch);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    procExec.submitProcedure(lockProc);<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    assertTrue(awaitForLocked(lockProc.getProcId(), 2000));<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    Thread.sleep(LOCAL_LOCKS_TIMEOUT / 2);<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    assertTrue(lockProc.isLocked());<a name="line.379"></a>
+<span class="sourceLineNo">380</span>    Thread.sleep(2 * LOCAL_LOCKS_TIMEOUT);<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    assertFalse(lockProc.isLocked());<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    releaseLock(lockProc.getProcId());<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    ProcedureTestingUtility.waitProcedure(procExec, lockProc.getProcId());<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, lockProc.getProcId());<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span>  private void testRemoteLockRecovery(LockRequest lock) throws Exception {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, true);<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    final long procId = queueLock(lock);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    assertTrue(awaitForLocked(procId, 2000));<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    // wait for proc Executor to die, then restart it and wait for Lock Procedure to get started.<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    ProcedureTestingUtility.waitProcedure(procExec, procId);<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    assertEquals(false, procExec.isRunning());<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, false);<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    ProcedureTestingUtility.restart(procExec);<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    while (!procExec.isStarted(procId)) {<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      Thread.sleep(250);<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    }<a name="line.399"></a>
+<span class="sourceLineNo">400</span>    assertEquals(true, procExec.isRunning());<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>    // After recovery, remote locks should reacquire locks and function normally.<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    assertTrue(awaitForLocked(procId, 2000));<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    Thread.sleep(HEARTBEAT_TIMEOUT/2);<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    sendHeartbeatAndCheckLocked(procId, true);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    Thread.sleep(HEARTBEAT_TIMEOUT/2);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    sendHeartbeatAndCheckLocked(procId, true);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    Thread.sleep(2 * HEARTBEAT_TIMEOUT + HEARTBEAT_TIMEOUT/2);<a name="line.408"></a>
+<span class="sourceLineNo">409</span>    sendHeartbeatAndCheckLocked(procId, false);<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    ProcedureTestingUtility.waitProcedure(procExec, procId);<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, procId);<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  @Test<a name="line.414"></a>
+<span class="sourceLineNo">415</span>  public void testRemoteTableLockRecovery() throws Exception {<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    LockRequest lock = getTableExclusiveLock(tableName1, testMethodName);<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    testRemoteLockRecovery(lock);<a name="line.417"></a>
+<span class="sourceLineNo">418</span>  }<a name="line.418"></a>
+<span class="sourceLineNo">419</span><a name="line.419"></a>
+<span class="sourceLineNo">420</span>  @Test<a name="line.420"></a>
+<span class="sourceLineNo">421</span>  public void testRemoteNamespaceLockRecovery() throws Exception {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    LockRequest lock = getNamespaceLock(namespace, testMethodName);<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    testRemoteLockRecovery(lock);<a name="line.423"></a>
+<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
+<span class="sourceLineNo">425</span><a name="line.425"></a>
+<span class="sourceLineNo">426</span>  @Test<a name="line.426"></a>
+<span class="sourceLineNo">427</span>  public void testRemoteRegionLockRecovery() throws Exception {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    LockRequest lock = getRegionLock(tableRegions1, testMethodName);<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    testRemoteLockRecovery(lock);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>  }<a name="line.430"></a>
+<span class="sourceLineNo">431</span><a name="line.431"></a>
+<span class="sourceLineNo">432</span>  @Test<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  public void testLocalMasterLockRecovery() throws Exception {<a name="line.433"></a>
+<span class="sourceLineNo">434</span>    ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, true);<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    CountDownLatch latch = new CountDownLatch(1);<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    LockProcedure lockProc = new LockProcedure(UTIL.getConfiguration(),<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        TableName.valueOf("table"), LockType.EXCLUSIVE, "desc", latch);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    procExec.submitProcedure(lockProc);<a name="line.438"></a>
+<span class="sourceLineNo">439</span>    assertTrue(latch.await(2000, TimeUnit.MILLISECONDS));<a name="line.439"></a>
+<span class="sourceLineNo">440</span><a name="line.440"></a>
+<span class="sourceLineNo">441</span>    // wait for proc Executor to die, then restart it and wait for Lock Procedure to get started.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    ProcedureTestingUtility.waitProcedure(procExec, lockProc.getProcId());<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    assertEquals(false, procExec.isRunning());<a name="line.443"></a>
+<span class="sourceLineNo">444</span>    ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExec, false);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    // remove zk lock node otherwise recovered lock will keep waiting on it.<a name="line.445"></a>
+<span class="sourceLineNo">446</span>    ProcedureTestingUtility.restart(procExec);<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    while (!procExec.isStarted(lockProc.getProcId())) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      Thread.sleep(250);<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    }<a name="line.449"></a>
+<span class="sourceLineNo">450</span>    assertEquals(true, procExec.isRunning());<a name="line.450"></a>
+<span class="sourceLineNo">451</span>    ProcedureTestingUtility.waitProcedure(procExec, lockProc.getProcId());<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    Procedure&lt;?&gt; result = procExec.getResultOrProcedure(lockProc.getProcId());<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    assertTrue(result != null &amp;&amp; !result.isFailed());<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    ProcedureTestingUtility.assertProcNotFailed(procExec, lockProc.getProcId());<a name="line.454"></a>
+<span class="sourceLineNo">455</span>  }<a name="line.455"></a>
+<span class="sourceLineNo">456</span>}<a name="line.456"></a>
 
 
 


[2/8] hbase-site git commit: Published site at 2e9b96e4f14c2802b59c6037cbfe4a427ec93bea.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 3068fb4..8c4060d 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -4649,6 +4649,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestLocalAsyncOutput</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestSaslFanOutOneBlockAsyncDFSOutput</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestSendBufSizePredictor.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestSendBufSizePredictor.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestSendBufSizePredictor</a></dt>
@@ -14604,6 +14606,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html#FS">FS</a></span> - Static variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestFanOutOneBlockAsyncDFSOutput</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#FS">FS</a></span> - Static variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html#FS">FS</a></span> - Static variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestSaslFanOutOneBlockAsyncDFSOutput</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.html#fs">fs</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.html" title="class in org.apache.hadoop.hbase.io.hfile">TestCacheOnWrite</a></dt>
@@ -25967,6 +25971,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html#name">name</a></span> - Variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestFanOutOneBlockAsyncDFSOutput</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#name">name</a></span> - Variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html#name">name</a></span> - Variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestSaslFanOutOneBlockAsyncDFSOutput</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/TestScannerFromBucketCache.html#name">name</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/TestScannerFromBucketCache.html" title="class in org.apache.hadoop.hbase.io.hfile">TestScannerFromBucketCache</a></dt>
@@ -35753,6 +35759,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html#setUp--">setUp()</a></span> - Static method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestFanOutOneBlockAsyncDFSOutput</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#setUp--">setUp()</a></span> - Static method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestSaslFanOutOneBlockAsyncDFSOutput</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/crypto/TestKeyStoreKeyProvider.html#setUp--">setUp()</a></span> - Static method in class org.apache.hadoop.hbase.io.crypto.<a href="org/apache/hadoop/hbase/io/crypto/TestKeyStoreKeyProvider.html" title="class in org.apache.hadoop.hbase.io.crypto">TestKeyStoreKeyProvider</a></dt>
@@ -40836,6 +40844,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html#tearDown--">tearDown()</a></span> - Static method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestFanOutOneBlockAsyncDFSOutput</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#tearDown--">tearDown()</a></span> - Static method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html#tearDown--">tearDown()</a></span> - Method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestSaslFanOutOneBlockAsyncDFSOutput</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/encoding/TestSeekBeforeWithReverseScan.html#tearDown--">tearDown()</a></span> - Method in class org.apache.hadoop.hbase.io.encoding.<a href="org/apache/hadoop/hbase/io/encoding/TestSeekBeforeWithReverseScan.html" title="class in org.apache.hadoop.hbase.io.encoding">TestSeekBeforeWithReverseScan</a></dt>
@@ -54514,6 +54524,8 @@
 <dd>
 <div class="block">Test waiting on meat w/ no timeout specified.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#testNotOverwrite--">testNotOverwrite()</a></span> - Method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/TestMasterNoCluster.html#testNotPullingDeadRegionServerFromZK--">testNotPullingDeadRegionServerFromZK()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/TestMasterNoCluster.html" title="class in org.apache.hadoop.hbase.master">TestMasterNoCluster</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.html#testNoTrailerDoubleRestart--">testNoTrailerDoubleRestart()</a></span> - Method in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">TestWALProcedureStore</a></dt>
@@ -54945,6 +54957,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestHBaseTestingUtility.html#testOverridingOfDefaultPorts--">testOverridingOfDefaultPorts()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestHBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">TestHBaseTestingUtility</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#testOverwrite--">testOverwrite()</a></span> - Method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">TestOverwriteFileUnderConstruction</span></a> - Class in <a href="org/apache/hadoop/hbase/io/asyncfs/package-summary.html">org.apache.hadoop.hbase.io.asyncfs</a></dt>
+<dd>
+<div class="block">Used to confirm that it is OK to overwrite a file which is being written currently.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#TestOverwriteFileUnderConstruction--">TestOverwriteFileUnderConstruction()</a></span> - Constructor for class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TestFilter.html#testPageFilter--">testPageFilter()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestFilter.html" title="class in org.apache.hadoop.hbase.filter">TestFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TestFilterSerialization.html#testPageFilter--">testPageFilter()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestFilterSerialization.html" title="class in org.apache.hadoop.hbase.filter">TestFilterSerialization</a></dt>
@@ -64683,6 +64703,8 @@
 <dd>
 <div class="block">Util to get at the cluster.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.html#util">util</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.html" title="class in org.apache.hadoop.hbase.io.hfile">TestFixedFileTrailer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/TestRpcClientLeaks.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestRpcClientLeaks.html" title="class in org.apache.hadoop.hbase.ipc">TestRpcClientLeaks</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
index 78aa552..fc45e57 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
@@ -2457,6 +2457,10 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestLocalAsyncOutput.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TestOverwriteFileUnderConstruction.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
index 6530a4b..48f4ec2 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
@@ -1417,6 +1417,10 @@
 <td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestLocalAsyncOutput.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html#TEST_UTIL">TEST_UTIL</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TestOverwriteFileUnderConstruction.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#UTIL">UTIL</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html
index 59e9fe5..59e3f4d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html" target="_top">Frames</a></li>
@@ -331,7 +331,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html
new file mode 100644
index 0000000..461fda1
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html
@@ -0,0 +1,407 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TestOverwriteFileUnderConstruction (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TestOverwriteFileUnderConstruction (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestOverwriteFileUnderConstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" target="_top">Frames</a></li>
+<li><a href="TestOverwriteFileUnderConstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.io.asyncfs</div>
+<h2 title="Class TestOverwriteFileUnderConstruction" class="title">Class TestOverwriteFileUnderConstruction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.io.asyncfs.TestOverwriteFileUnderConstruction</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#line.49">TestOverwriteFileUnderConstruction</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Used to confirm that it is OK to overwrite a file which is being written currently.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static org.apache.hadoop.fs.FileSystem</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#FS">FS</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.junit.rules.TestName</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#name">name</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#UTIL">UTIL</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#TestOverwriteFileUnderConstruction--">TestOverwriteFileUnderConstruction</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#setUp--">setUp</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#tearDown--">tearDown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#testNotOverwrite--">testNotOverwrite</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#testOverwrite--">testOverwrite</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja
 va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="CLASS_RULE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CLASS_RULE</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#line.52">CLASS_RULE</a></pre>
+</li>
+</ul>
+<a name="UTIL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UTIL</h4>
+<pre>private static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#line.55">UTIL</a></pre>
+</li>
+</ul>
+<a name="FS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FS</h4>
+<pre>private static&nbsp;org.apache.hadoop.fs.FileSystem <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#line.57">FS</a></pre>
+</li>
+</ul>
+<a name="name">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>name</h4>
+<pre>public final&nbsp;org.junit.rules.TestName <a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#line.60">name</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TestOverwriteFileUnderConstruction--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestOverwriteFileUnderConstruction</h4>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#line.49">TestOverwriteFileUnderConstruction</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setUp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUp</h4>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#line.63">setUp</a>()
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="tearDown--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tearDown</h4>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#line.69">tearDown</a>()
+                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="testNotOverwrite--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testNotOverwrite</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#line.74">testNotOverwrite</a>()
+                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="testOverwrite--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testOverwrite</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html#line.88">testOverwrite</a>()
+                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestOverwriteFileUnderConstruction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" target="_top">Frames</a></li>
+<li><a href="TestOverwriteFileUnderConstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html
index f6eb479..e059912 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestSendBufSizePredictor.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -694,7 +694,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestSendBufSizePredictor.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/class-use/TestOverwriteFileUnderConstruction.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/class-use/TestOverwriteFileUnderConstruction.html b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/class-use/TestOverwriteFileUnderConstruction.html
new file mode 100644
index 0000000..80f4936
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/class-use/TestOverwriteFileUnderConstruction.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.io.asyncfs.TestOverwriteFileUnderConstruction (Apache HBase 3.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.io.asyncfs.TestOverwriteFileUnderConstruction (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/asyncfs/class-use/TestOverwriteFileUnderConstruction.html" target="_top">Frames</a></li>
+<li><a href="TestOverwriteFileUnderConstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.io.asyncfs.TestOverwriteFileUnderConstruction" class="title">Uses of Class<br>org.apache.hadoop.hbase.io.asyncfs.TestOverwriteFileUnderConstruction</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.io.asyncfs.TestOverwriteFileUnderConstruction</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/hadoop/hbase/io/asyncfs/class-use/TestOverwriteFileUnderConstruction.html" target="_top">Frames</a></li>
+<li><a href="TestOverwriteFileUnderConstruction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-frame.html b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-frame.html
index bd5d7a6..fbeb0d7 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-frame.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-frame.html
@@ -15,6 +15,7 @@
 <ul title="Classes">
 <li><a href="TestFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs" target="classFrame">TestFanOutOneBlockAsyncDFSOutput</a></li>
 <li><a href="TestLocalAsyncOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs" target="classFrame">TestLocalAsyncOutput</a></li>
+<li><a href="TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs" target="classFrame">TestOverwriteFileUnderConstruction</a></li>
 <li><a href="TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs" target="classFrame">TestSaslFanOutOneBlockAsyncDFSOutput</a></li>
 <li><a href="TestSendBufSizePredictor.html" title="class in org.apache.hadoop.hbase.io.asyncfs" target="classFrame">TestSendBufSizePredictor</a></li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-summary.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-summary.html b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-summary.html
index 0cec8e8..c6af97f 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-summary.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-summary.html
@@ -91,10 +91,16 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></td>
+<td class="colLast">
+<div class="block">Used to confirm that it is OK to overwrite a file which is being written currently.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestSaslFanOutOneBlockAsyncDFSOutput</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestSendBufSizePredictor.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestSendBufSizePredictor</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-tree.html
index ed178d3..139ce5f 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/asyncfs/package-tree.html
@@ -83,6 +83,7 @@
 <ul>
 <li type="circle">org.apache.hadoop.hbase.io.asyncfs.<a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">TestFanOutOneBlockAsyncDFSOutput</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.asyncfs.<a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestLocalAsyncOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">TestLocalAsyncOutput</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.asyncfs.<a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">TestOverwriteFileUnderConstruction</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.asyncfs.<a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">TestSaslFanOutOneBlockAsyncDFSOutput</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.asyncfs.<a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/TestSendBufSizePredictor.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">TestSendBufSizePredictor</span></a></li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index 4837d80..ec56445 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -158,8 +158,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TagUsage.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TagUsage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TestCacheOnWrite.CacheOnWriteType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TagUsage.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">TagUsage</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html b/testdevapidocs/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html
index 226df9a..9ec43b1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html
@@ -819,7 +819,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testLatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.353">testLatch</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.356">testLatch</a>()
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -833,7 +833,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testLocalLockTimeout</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.368">testLocalLockTimeout</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.371">testLocalLockTimeout</a>()
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -847,7 +847,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testRemoteLockRecovery</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.384">testRemoteLockRecovery</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockRequest&nbsp;lock)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.387">testRemoteLockRecovery</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.LockServiceProtos.LockRequest&nbsp;lock)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -861,7 +861,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testRemoteTableLockRecovery</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.412">testRemoteTableLockRecovery</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.415">testRemoteTableLockRecovery</a>()
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -875,7 +875,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testRemoteNamespaceLockRecovery</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.418">testRemoteNamespaceLockRecovery</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.421">testRemoteNamespaceLockRecovery</a>()
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -889,7 +889,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>testRemoteRegionLockRecovery</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.424">testRemoteRegionLockRecovery</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.427">testRemoteRegionLockRecovery</a>()
                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -903,7 +903,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testLocalMasterLockRecovery</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.430">testLocalMasterLockRecovery</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#line.433">testLocalMasterLockRecovery</a>()
                                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
index 2aae146..5b8d4e5 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -570,14 +570,14 @@
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.ACTION.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestDDLMasterFailover.ACTION</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ResourceChecker.Phase.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ResourceChecker.Phase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HBaseClusterManager.CommandProvider.Operation.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HBaseClusterManager.CommandProvider.Operation</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.Stat.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleCommand.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.Service.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.Service</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ScanPerformanceEvaluation.ScanCounter</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ResourceChecker.Phase.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ResourceChecker.Phase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/RESTApiClusterManager.RoleCommand.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">RESTApiClusterManager.RoleCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterManager.ServiceType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterManager.ServiceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
index 28973e0..a1c9b1d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure/package-tree.html
@@ -81,14 +81,14 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.Procedure&lt;TEnvironment&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)
+<li type="circle">org.apache.hadoop.hbase.procedure.Procedure (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;, org.apache.hadoop.hbase.errorhandling.ForeignExceptionListener)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedureDescriber.TestProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedureDescriber.TestProcedure</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedure.LatchedProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedure.LatchedProcedure</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.hadoop.hbase.procedure.Procedure (implements java.util.concurrent.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;, org.apache.hadoop.hbase.errorhandling.ForeignExceptionListener)
+<li type="circle">org.apache.hadoop.hbase.procedure2.Procedure&lt;TEnvironment&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedure.LatchedProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedure.LatchedProcedure</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure.<a href="../../../../../org/apache/hadoop/hbase/procedure/TestProcedureDescriber.TestProcedure.html" title="class in org.apache.hadoop.hbase.procedure"><span class="typeNameLink">TestProcedureDescriber.TestProcedure</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.procedure.ProcedureManager

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 369edc6..da36b56 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -655,11 +655,11 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.Manipulation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.Metric.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionServerReadRequestMetrics.Metric</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.ActionType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestMultiLogThreshold.ActionType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestAtomicOperation.TestStep.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestAtomicOperation.TestStep</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.Manipulation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
index 28ed7f0..a57fd99 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -253,10 +253,10 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Verify.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestLoadAndVerify.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Generator.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Verify.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index f7d6df6..434a274 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -139,9 +139,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index b30a081..a0bac17 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -3034,6 +3034,7 @@
 <li type="circle">org.apache.hadoop.hbase.types.<a href="org/apache/hadoop/hbase/types/TestOrderedBlobVar.html" title="class in org.apache.hadoop.hbase.types"><span class="typeNameLink">TestOrderedBlobVar</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestOrderedBytes.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">TestOrderedBytes</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.types.<a href="org/apache/hadoop/hbase/types/TestOrderedString.html" title="class in org.apache.hadoop.hbase.types"><span class="typeNameLink">TestOrderedString</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs"><span class="typeNameLink">TestOverwriteFileUnderConstruction</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestPageFilter.html" title="class in org.apache.hadoop.hbase.filter"><span class="typeNameLink">TestPageFilter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestParallelPut.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestParallelPut</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestParseFilter.html" title="class in org.apache.hadoop.hbase.filter"><span class="typeNameLink">TestParseFilter</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html
new file mode 100644
index 0000000..f902f89
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.io.asyncfs;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.hamcrest.CoreMatchers.instanceOf;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.junit.Assert.assertEquals;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static org.junit.Assert.assertThat;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import static org.junit.Assert.fail;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.fs.FSDataInputStream;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.fs.FSDataOutputStream;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.fs.FileSystem;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.fs.Path;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.MiscTests;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.ipc.RemoteException;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.junit.AfterClass;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.junit.BeforeClass;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.junit.ClassRule;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.junit.Rule;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.junit.Test;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.junit.experimental.categories.Category;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.junit.rules.TestName;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * Used to confirm that it is OK to overwrite a file which is being written currently.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@Category({ MiscTests.class, MediumTests.class })<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public class TestOverwriteFileUnderConstruction {<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  @ClassRule<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  public static final HBaseClassTestRule CLASS_RULE =<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    HBaseClassTestRule.forClass(TestOverwriteFileUnderConstruction.class);<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private static FileSystem FS;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  @Rule<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public final TestName name = new TestName();<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  @BeforeClass<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public static void setUp() throws Exception {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    UTIL.startMiniDFSCluster(3);<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    FS = UTIL.getDFSCluster().getFileSystem();<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  @AfterClass<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public static void tearDown() throws Exception {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    UTIL.shutdownMiniCluster();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  @Test<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public void testNotOverwrite() throws IOException {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    Path file = new Path("/" + name.getMethodName());<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    try (FSDataOutputStream out1 = FS.create(file)) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      try {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>        FS.create(file, false);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>        fail("Should fail as there is a file with the same name which is being written");<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      } catch (RemoteException e) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>        // expected<a name="line.81"></a>
+<span class="sourceLineNo">082</span>        assertThat(e.unwrapRemoteException(), instanceOf(AlreadyBeingCreatedException.class));<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      }<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    }<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  @Test<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  public void testOverwrite() throws IOException {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    Path file = new Path("/" + name.getMethodName());<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    FSDataOutputStream out1 = FS.create(file);<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    FSDataOutputStream out2 = FS.create(file, true);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    out1.write(2);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    out2.write(1);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    try {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      out1.close();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      // a successful close is also OK for us so no assertion here, we just need to confirm that the<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      // data in the file are correct.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    } catch (RemoteException e) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      // expected<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      assertThat(e.unwrapRemoteException(), instanceOf(LeaseExpiredException.class));<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    out2.close();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    try (FSDataInputStream in = FS.open(file)) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      assertEquals(1, in.read());<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      assertEquals(-1, in.read());<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    }<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
+<span class="sourceLineNo">108</span>}<a name="line.108"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>


[4/8] hbase-site git commit: Published site at 2e9b96e4f14c2802b59c6037cbfe4a427ec93bea.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.FileCreator.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.FileCreator.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.FileCreator.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.FileCreator.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.FileCreator.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.LeaseManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.LeaseManager.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.LeaseManager.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.LeaseManager.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.LeaseManager.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.NameNodeException.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.NameNodeException.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.NameNodeException.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.NameNodeException.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.NameNodeException.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.PBHelper.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.PBHelper.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.PBHelper.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.PBHelper.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.PBHelper.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>
 
 
 


[6/8] hbase-site git commit: Published site at 2e9b96e4f14c2802b59c6037cbfe4a427ec93bea.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 5add829..3dd79a8 100644
--- a/book.html
+++ b/book.html
@@ -274,36 +274,37 @@
 <li><a href="#build">163. Building Apache HBase</a></li>
 <li><a href="#releasing">164. Releasing Apache HBase</a></li>
 <li><a href="#hbase.rc.voting">165. Voting on Release Candidates</a></li>
-<li><a href="#documentation">166. Generating the HBase Reference Guide</a></li>
-<li><a href="#hbase.org">167. Updating <a href="https://hbase.apache.org">hbase.apache.org</a></a></li>
-<li><a href="#hbase.tests">168. Tests</a></li>
-<li><a href="#developing">169. Developer Guidelines</a></li>
+<li><a href="#hbase.release.announcement">166. Announcing Releases</a></li>
+<li><a href="#documentation">167. Generating the HBase Reference Guide</a></li>
+<li><a href="#hbase.org">168. Updating <a href="https://hbase.apache.org">hbase.apache.org</a></a></li>
+<li><a href="#hbase.tests">169. Tests</a></li>
+<li><a href="#developing">170. Developer Guidelines</a></li>
 </ul>
 </li>
 <li><a href="#unit.tests">Unit Testing HBase Applications</a>
 <ul class="sectlevel1">
-<li><a href="#_junit">170. JUnit</a></li>
-<li><a href="#mockito">171. Mockito</a></li>
-<li><a href="#_mrunit">172. MRUnit</a></li>
-<li><a href="#_integration_testing_with_an_hbase_mini_cluster">173. Integration Testing with an HBase Mini-Cluster</a></li>
+<li><a href="#_junit">171. JUnit</a></li>
+<li><a href="#mockito">172. Mockito</a></li>
+<li><a href="#_mrunit">173. MRUnit</a></li>
+<li><a href="#_integration_testing_with_an_hbase_mini_cluster">174. Integration Testing with an HBase Mini-Cluster</a></li>
 </ul>
 </li>
 <li><a href="#protobuf">Protobuf in HBase</a>
 <ul class="sectlevel1">
-<li><a href="#_protobuf">174. Protobuf</a></li>
+<li><a href="#_protobuf">175. Protobuf</a></li>
 </ul>
 </li>
 <li><a href="#zookeeper">ZooKeeper</a>
 <ul class="sectlevel1">
-<li><a href="#_using_existing_zookeeper_ensemble">175. Using existing ZooKeeper ensemble</a></li>
-<li><a href="#zk.sasl.auth">176. SASL Authentication with ZooKeeper</a></li>
+<li><a href="#_using_existing_zookeeper_ensemble">176. Using existing ZooKeeper ensemble</a></li>
+<li><a href="#zk.sasl.auth">177. SASL Authentication with ZooKeeper</a></li>
 </ul>
 </li>
 <li><a href="#community">Community</a>
 <ul class="sectlevel1">
-<li><a href="#_decisions">177. Decisions</a></li>
-<li><a href="#community.roles">178. Community Roles</a></li>
-<li><a href="#hbase.commit.msg.format">179. Commit Message format</a></li>
+<li><a href="#_decisions">178. Decisions</a></li>
+<li><a href="#community.roles">179. Community Roles</a></li>
+<li><a href="#hbase.commit.msg.format">180. Commit Message format</a></li>
 </ul>
 </li>
 <li><a href="#_appendix">Appendix</a>
@@ -321,8 +322,8 @@
 <li><a href="#asf">Appendix K: HBase and the Apache Software Foundation</a></li>
 <li><a href="#orca">Appendix L: Apache HBase Orca</a></li>
 <li><a href="#tracing">Appendix M: Enabling Dapper-like Tracing in HBase</a></li>
-<li><a href="#tracing.client.modifications">180. Client Modifications</a></li>
-<li><a href="#tracing.client.shell">181. Tracing from HBase Shell</a></li>
+<li><a href="#tracing.client.modifications">181. Client Modifications</a></li>
+<li><a href="#tracing.client.shell">182. Tracing from HBase Shell</a></li>
 <li><a href="#hbase.rpc">Appendix N: 0.95 RPC Specification</a></li>
 </ul>
 </li>
@@ -31371,7 +31372,55 @@ for how we arrived at this process.</p>
 </div>
 </div>
 <div class="sect1">
-<h2 id="documentation"><a class="anchor" href="#documentation"></a>166. Generating the HBase Reference Guide</h2>
+<h2 id="hbase.release.announcement"><a class="anchor" href="#hbase.release.announcement"></a>166. Announcing Releases</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Once an RC has passed successfully and the needed artifacts have been staged for disribution, you&#8217;ll need to let everyone know about our shiny new release. It&#8217;s not a requirement, but to make things easier for release managers we have a template you can start with. Be sure you replace _version_ and other markers with the relevant version numbers. You should manually verify all links before sending.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="email">The HBase team is happy to announce the immediate availability of HBase _version_.
+
+Apache HBaseâ„¢ is an open-source, distributed, versioned, non-relational database.
+Apache HBase gives you low latency random access to billions of rows with
+millions of columns atop non-specialized hardware. To learn more about HBase,
+see https://hbase.apache.org/.
+
+HBase _version_ is the _nth_ minor release in the HBase _major_.x line, which aims to
+improve the stability and reliability of HBase. This release includes roughly
+XXX resolved issues not covered by previous _major_.x releases.
+
+Notable new features include:
+- List text descriptions of features that fit on one line
+- Including if JDK or Hadoop support versions changes
+- If the &quot;stable&quot; pointer changes, call that out
+- For those with obvious JIRA IDs, include them (HBASE-YYYYY)
+
+The full list of issues can be found in the included CHANGES.md and RELEASENOTES.md,
+or via our issue tracker:
+
+    https://s.apache.org/hbase-_version_-jira
+
+To download please follow the links and instructions on our website:
+
+    https://hbase.apache.org/downloads.html
+
+
+Question, comments, and problems are always welcome at: dev@hbase.apache.org.
+
+Thanks to all who contributed and made this release possible.
+
+Cheers,
+The HBase Dev Team</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You should sent this message to the following lists: <a href="mailto:dev@hbase.apache.org">dev@hbase.apache.org</a>, <a href="mailto:user@hbase.apache.org">user@hbase.apache.org</a>, <a href="mailto:announce@apache.org">announce@apache.org</a>. If you&#8217;d like a spot check before sending, feel free to ask via jira or the dev list.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="documentation"><a class="anchor" href="#documentation"></a>167. Generating the HBase Reference Guide</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>The manual is marked up using Asciidoc.
@@ -31382,16 +31431,16 @@ See <a href="#appendix_contributing_to_documentation">appendix contributing to d
 </div>
 </div>
 <div class="sect1">
-<h2 id="hbase.org"><a class="anchor" href="#hbase.org"></a>167. Updating <a href="https://hbase.apache.org">hbase.apache.org</a></h2>
+<h2 id="hbase.org"><a class="anchor" href="#hbase.org"></a>168. Updating <a href="https://hbase.apache.org">hbase.apache.org</a></h2>
 <div class="sectionbody">
 <div class="sect2">
-<h3 id="hbase.org.site.contributing"><a class="anchor" href="#hbase.org.site.contributing"></a>167.1. Contributing to hbase.apache.org</h3>
+<h3 id="hbase.org.site.contributing"><a class="anchor" href="#hbase.org.site.contributing"></a>168.1. Contributing to hbase.apache.org</h3>
 <div class="paragraph">
 <p>See <a href="#appendix_contributing_to_documentation">appendix contributing to documentation</a> for more information on contributing to the documentation or website.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="hbase.org.site.publishing"><a class="anchor" href="#hbase.org.site.publishing"></a>167.2. Publishing <a href="https://hbase.apache.org">hbase.apache.org</a></h3>
+<h3 id="hbase.org.site.publishing"><a class="anchor" href="#hbase.org.site.publishing"></a>168.2. Publishing <a href="https://hbase.apache.org">hbase.apache.org</a></h3>
 <div class="paragraph">
 <p>See <a href="#website_publish">Publishing the HBase Website and Documentation</a> for instructions on publishing the website and documentation.</p>
 </div>
@@ -31399,7 +31448,7 @@ See <a href="#appendix_contributing_to_documentation">appendix contributing to d
 </div>
 </div>
 <div class="sect1">
-<h2 id="hbase.tests"><a class="anchor" href="#hbase.tests"></a>168. Tests</h2>
+<h2 id="hbase.tests"><a class="anchor" href="#hbase.tests"></a>169. Tests</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>Developers, at a minimum, should familiarize themselves with the unit test detail; unit tests in HBase have a character not usually seen in other projects.</p>
@@ -31409,7 +31458,7 @@ See <a href="#appendix_contributing_to_documentation">appendix contributing to d
 For developing unit tests for your HBase applications, see <a href="#unit.tests">unit.tests</a>.</p>
 </div>
 <div class="sect2">
-<h3 id="hbase.moduletests"><a class="anchor" href="#hbase.moduletests"></a>168.1. Apache HBase Modules</h3>
+<h3 id="hbase.moduletests"><a class="anchor" href="#hbase.moduletests"></a>169.1. Apache HBase Modules</h3>
 <div class="paragraph">
 <p>As of 0.96, Apache HBase is split into multiple modules.
 This creates "interesting" rules for how and where tests are written.
@@ -31418,7 +31467,7 @@ These tests can spin up a minicluster and will need to be categorized.
 For any other module, for example <code>hbase-common</code>, the tests must be strict unit tests and just test the class under test - no use of the HBaseTestingUtility or minicluster is allowed (or even possible given the dependency tree).</p>
 </div>
 <div class="sect3">
-<h4 id="hbase.moduletest.shell"><a class="anchor" href="#hbase.moduletest.shell"></a>168.1.1. Testing the HBase Shell</h4>
+<h4 id="hbase.moduletest.shell"><a class="anchor" href="#hbase.moduletest.shell"></a>169.1.1. Testing the HBase Shell</h4>
 <div class="paragraph">
 <p>The HBase shell and its tests are predominantly written in jruby.</p>
 </div>
@@ -31470,7 +31519,7 @@ You can run all of the HBase admin related tests, including both the normal admi
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.moduletest.run"><a class="anchor" href="#hbase.moduletest.run"></a>168.1.2. Running Tests in other Modules</h4>
+<h4 id="hbase.moduletest.run"><a class="anchor" href="#hbase.moduletest.run"></a>169.1.2. Running Tests in other Modules</h4>
 <div class="paragraph">
 <p>If the module you are developing in has no other dependencies on other HBase modules, then you can cd into that module and just run:</p>
 </div>
@@ -31506,7 +31555,7 @@ For example, to skip the tests in <code>hbase-server</code> and <code>hbase-comm
 </div>
 </div>
 <div class="sect2">
-<h3 id="hbase.unittests"><a class="anchor" href="#hbase.unittests"></a>168.2. Unit Tests</h3>
+<h3 id="hbase.unittests"><a class="anchor" href="#hbase.unittests"></a>169.2. Unit Tests</h3>
 <div class="paragraph">
 <p>Apache HBase unit tests must carry a Category annotation and
 as of <code>hbase-2.0.0</code>, must be stamped with the HBase <code>ClassRule</code>.
@@ -31593,23 +31642,23 @@ If you invoke <code>$ mvn test</code> on integration tests, there is no timeout
 </div>
 </div>
 <div class="sect2">
-<h3 id="hbase.unittests.cmds"><a class="anchor" href="#hbase.unittests.cmds"></a>168.3. Running tests</h3>
+<h3 id="hbase.unittests.cmds"><a class="anchor" href="#hbase.unittests.cmds"></a>169.3. Running tests</h3>
 <div class="sect3">
-<h4 id="hbase.unittests.cmds.test"><a class="anchor" href="#hbase.unittests.cmds.test"></a>168.3.1. Default: small and medium category tests</h4>
+<h4 id="hbase.unittests.cmds.test"><a class="anchor" href="#hbase.unittests.cmds.test"></a>169.3.1. Default: small and medium category tests</h4>
 <div class="paragraph">
 <p>Running <code>mvn test</code> will execute all small tests in a single JVM (no fork) and then medium tests in a separate JVM for each test instance.
 Medium tests are NOT executed if there is an error in a small test. Large tests are NOT executed.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.unittests.cmds.test.runalltests"><a class="anchor" href="#hbase.unittests.cmds.test.runalltests"></a>168.3.2. Running all tests</h4>
+<h4 id="hbase.unittests.cmds.test.runalltests"><a class="anchor" href="#hbase.unittests.cmds.test.runalltests"></a>169.3.2. Running all tests</h4>
 <div class="paragraph">
 <p>Running <code>mvn test -P runAllTests</code> will execute small tests in a single JVM then medium and large tests in a separate JVM for each test.
 Medium and large tests are NOT executed if there is an error in a small test.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.unittests.cmds.test.localtests.mytest"><a class="anchor" href="#hbase.unittests.cmds.test.localtests.mytest"></a>168.3.3. Running a single test or all tests in a package</h4>
+<h4 id="hbase.unittests.cmds.test.localtests.mytest"><a class="anchor" href="#hbase.unittests.cmds.test.localtests.mytest"></a>169.3.3. Running a single test or all tests in a package</h4>
 <div class="paragraph">
 <p>To run an individual test, e.g. <code>MyTest</code>, rum <code>mvn test -Dtest=MyTest</code> You can also pass multiple, individual tests as a comma-delimited list:</p>
 </div>
@@ -31635,7 +31684,7 @@ However, you need to make sure the sum of <code>Tests run:</code> in the <code>R
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.unittests.cmds.test.profiles"><a class="anchor" href="#hbase.unittests.cmds.test.profiles"></a>168.3.4. Other test invocation permutations</h4>
+<h4 id="hbase.unittests.cmds.test.profiles"><a class="anchor" href="#hbase.unittests.cmds.test.profiles"></a>169.3.4. Other test invocation permutations</h4>
 <div class="paragraph">
 <p>Running <code>mvn test -P runSmallTests</code> will execute "small" tests only, using a single JVM.</p>
 </div>
@@ -31650,7 +31699,7 @@ However, you need to make sure the sum of <code>Tests run:</code> in the <code>R
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.unittests.test.faster"><a class="anchor" href="#hbase.unittests.test.faster"></a>168.3.5. Running tests faster</h4>
+<h4 id="hbase.unittests.test.faster"><a class="anchor" href="#hbase.unittests.test.faster"></a>169.3.5. Running tests faster</h4>
 <div class="paragraph">
 <p>By default, <code>$ mvn test -P runAllTests</code> runs 5 tests in parallel.
 It can be increased on a developer&#8217;s machine.
@@ -31692,7 +31741,7 @@ sudo mount -t tmpfs -o size=2048M tmpfs /ram2G</pre>
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.unittests.cmds.test.hbasetests"><a class="anchor" href="#hbase.unittests.cmds.test.hbasetests"></a>168.3.6. hbasetests.sh</h4>
+<h4 id="hbase.unittests.cmds.test.hbasetests"><a class="anchor" href="#hbase.unittests.cmds.test.hbasetests"></a>169.3.6. hbasetests.sh</h4>
 <div class="paragraph">
 <p>It&#8217;s also possible to use the script hbasetests.sh.
 This script runs the medium and large tests in parallel with two maven instances, and provides a single report.
@@ -31707,7 +31756,7 @@ Running ./dev-support/hbasetests.sh replayFailed will rerun the failed tests a s
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.unittests.timeouts"><a class="anchor" href="#hbase.unittests.timeouts"></a>168.3.7. Test Timeouts</h4>
+<h4 id="hbase.unittests.timeouts"><a class="anchor" href="#hbase.unittests.timeouts"></a>169.3.7. Test Timeouts</h4>
 <div class="paragraph">
 <p>The HBase unit test sizing Categorization timeouts are not strictly enforced.</p>
 </div>
@@ -31735,7 +31784,7 @@ developer machine with nothing else running on it).</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.unittests.resource.checker"><a class="anchor" href="#hbase.unittests.resource.checker"></a>168.3.8. Test Resource Checker</h4>
+<h4 id="hbase.unittests.resource.checker"><a class="anchor" href="#hbase.unittests.resource.checker"></a>169.3.8. Test Resource Checker</h4>
 <div class="paragraph">
 <p>A custom Maven SureFire plugin listener checks a number of resources before and after each HBase unit test runs and logs its findings at the end of the test output files which can be found in <em>target/surefire-reports</em>                    per Maven module (Tests write test reports named for the test class into this directory.
 Check the <em>*-out.txt</em> files). The resources counted are the number of threads, the number of file descriptors, etc.
@@ -31756,9 +31805,9 @@ ConnectionCount=1 (was 1)</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="hbase.tests.writing"><a class="anchor" href="#hbase.tests.writing"></a>168.4. Writing Tests</h3>
+<h3 id="hbase.tests.writing"><a class="anchor" href="#hbase.tests.writing"></a>169.4. Writing Tests</h3>
 <div class="sect3">
-<h4 id="hbase.tests.rules"><a class="anchor" href="#hbase.tests.rules"></a>168.4.1. General rules</h4>
+<h4 id="hbase.tests.rules"><a class="anchor" href="#hbase.tests.rules"></a>169.4.1. General rules</h4>
 <div class="ulist">
 <ul>
 <li>
@@ -31779,7 +31828,7 @@ This class offers helper functions to create a temp directory and do the cleanup
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.tests.categories"><a class="anchor" href="#hbase.tests.categories"></a>168.4.2. Categories and execution time</h4>
+<h4 id="hbase.tests.categories"><a class="anchor" href="#hbase.tests.categories"></a>169.4.2. Categories and execution time</h4>
 <div class="ulist">
 <ul>
 <li>
@@ -31796,7 +31845,7 @@ This should ensure a good parallelization for people using it, and ease the anal
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.tests.sleeps"><a class="anchor" href="#hbase.tests.sleeps"></a>168.4.3. Sleeps in tests</h4>
+<h4 id="hbase.tests.sleeps"><a class="anchor" href="#hbase.tests.sleeps"></a>169.4.3. Sleeps in tests</h4>
 <div class="paragraph">
 <p>Whenever possible, tests should not use <span class="method">Thread.sleep</span>, but rather waiting for the real event they need.
 This is faster and clearer for the reader.
@@ -31809,7 +31858,7 @@ Waiting for a socket operation should be done in a 200 ms sleep loop.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.tests.cluster"><a class="anchor" href="#hbase.tests.cluster"></a>168.4.4. Tests using a cluster</h4>
+<h4 id="hbase.tests.cluster"><a class="anchor" href="#hbase.tests.cluster"></a>169.4.4. Tests using a cluster</h4>
 <div class="paragraph">
 <p>Tests using a HRegion do not have to start a cluster: A region can use the local file system.
 Start/stopping a cluster cost around 10 seconds.
@@ -31821,7 +31870,7 @@ This will allow to share the cluster later.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="hbase.tests.example.code"><a class="anchor" href="#hbase.tests.example.code"></a>168.4.5. Tests Skeleton Code</h4>
+<h4 id="hbase.tests.example.code"><a class="anchor" href="#hbase.tests.example.code"></a>169.4.5. Tests Skeleton Code</h4>
 <div class="paragraph">
 <p>Here is a test skeleton code with Categorization and a Category-based timeout rule to copy and paste and use as basis for test contribution.</p>
 </div>
@@ -31867,7 +31916,7 @@ This will allow to share the cluster later.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="integration.tests"><a class="anchor" href="#integration.tests"></a>168.5. Integration Tests</h3>
+<h3 id="integration.tests"><a class="anchor" href="#integration.tests"></a>169.5. Integration Tests</h3>
 <div class="paragraph">
 <p>HBase integration/system tests are tests that are beyond HBase unit tests.
 They are generally long-lasting, sizeable (the test can be asked to 1M rows or 1B rows), targetable (they can take configuration that will point them at the ready-made cluster they are to run against; integration tests do not include cluster start/stop code), and verifying success, integration tests rely on public APIs only; they do not attempt to examine server internals asserting success/fail.
@@ -31921,7 +31970,7 @@ For example,</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="maven.build.commands.integration.tests.mini"><a class="anchor" href="#maven.build.commands.integration.tests.mini"></a>168.5.1. Running integration tests against mini cluster</h4>
+<h4 id="maven.build.commands.integration.tests.mini"><a class="anchor" href="#maven.build.commands.integration.tests.mini"></a>169.5.1. Running integration tests against mini cluster</h4>
 <div class="paragraph">
 <p>HBase 0.92 added a <code>verify</code> maven target.
 Invoking it, for example by doing <code>mvn verify</code>, will run all the phases up to and including the verify phase via the maven <a href="https://maven.apache.org/plugins/maven-failsafe-plugin/">failsafe
@@ -31966,7 +32015,7 @@ To just run <code>IntegrationTestClassXYZ.java</code>, use: mvn
 </div>
 </div>
 <div class="sect3">
-<h4 id="maven.build.commands.integration.tests.distributed"><a class="anchor" href="#maven.build.commands.integration.tests.distributed"></a>168.5.2. Running integration tests against distributed cluster</h4>
+<h4 id="maven.build.commands.integration.tests.distributed"><a class="anchor" href="#maven.build.commands.integration.tests.distributed"></a>169.5.2. Running integration tests against distributed cluster</h4>
 <div class="paragraph">
 <p>If you have an already-setup HBase cluster, you can launch the integration tests by invoking the class <code>IntegrationTestsDriver</code>.
 You may have to run test-compile first.
@@ -32003,7 +32052,7 @@ For other deployment options, a ClusterManager can be implemented and plugged in
 </div>
 </div>
 <div class="sect3">
-<h4 id="maven.build.commands.integration.tests.destructive"><a class="anchor" href="#maven.build.commands.integration.tests.destructive"></a>168.5.3. Destructive integration / system tests (ChaosMonkey)</h4>
+<h4 id="maven.build.commands.integration.tests.destructive"><a class="anchor" href="#maven.build.commands.integration.tests.destructive"></a>169.5.3. Destructive integration / system tests (ChaosMonkey)</h4>
 <div class="paragraph">
 <p>HBase 0.96 introduced a tool named <code>ChaosMonkey</code>, modeled after
 <a href="https://netflix.github.io/chaosmonkey/">same-named tool by Netflix&#8217;s Chaos Monkey tool</a>.
@@ -32108,14 +32157,14 @@ policy, which is configured with all the available actions. It chose to run <cod
 </div>
 </div>
 <div class="sect3">
-<h4 id="_available_policies"><a class="anchor" href="#_available_policies"></a>168.5.4. Available Policies</h4>
+<h4 id="_available_policies"><a class="anchor" href="#_available_policies"></a>169.5.4. Available Policies</h4>
 <div class="paragraph">
 <p>HBase ships with several ChaosMonkey policies, available in the
 <code>hbase/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/policies/</code> directory.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="chaos.monkey.properties"><a class="anchor" href="#chaos.monkey.properties"></a>168.5.5. Configuring Individual ChaosMonkey Actions</h4>
+<h4 id="chaos.monkey.properties"><a class="anchor" href="#chaos.monkey.properties"></a>169.5.5. Configuring Individual ChaosMonkey Actions</h4>
 <div class="paragraph">
 <p>ChaosMonkey integration tests can be configured per test run.
 Create a Java properties file in the HBase CLASSPATH and pass it to ChaosMonkey using
@@ -32188,10 +32237,10 @@ properties file, which may be <code>hbase-site.xml</code> or a different propert
 </div>
 </div>
 <div class="sect1">
-<h2 id="developing"><a class="anchor" href="#developing"></a>169. Developer Guidelines</h2>
+<h2 id="developing"><a class="anchor" href="#developing"></a>170. Developer Guidelines</h2>
 <div class="sectionbody">
 <div class="sect2">
-<h3 id="_branches"><a class="anchor" href="#_branches"></a>169.1. Branches</h3>
+<h3 id="_branches"><a class="anchor" href="#_branches"></a>170.1. Branches</h3>
 <div class="paragraph">
 <p>We use Git for source code management and latest development happens on <code>master</code> branch. There are
 branches for past major/minor/maintenance releases and important features and bug fixes are often
@@ -32199,9 +32248,9 @@ branches for past major/minor/maintenance releases and important features and bu
 </div>
 </div>
 <div class="sect2">
-<h3 id="code.standards"><a class="anchor" href="#code.standards"></a>169.2. Code Standards</h3>
+<h3 id="code.standards"><a class="anchor" href="#code.standards"></a>170.2. Code Standards</h3>
 <div class="sect3">
-<h4 id="_interface_classifications"><a class="anchor" href="#_interface_classifications"></a>169.2.1. Interface Classifications</h4>
+<h4 id="_interface_classifications"><a class="anchor" href="#_interface_classifications"></a>170.2.1. Interface Classifications</h4>
 <div class="paragraph">
 <p>Interfaces are classified both by audience and by stability level.
 These labels appear at the head of a class.
@@ -32279,7 +32328,7 @@ Mark your new packages if publicly accessible.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="common.patch.feedback"><a class="anchor" href="#common.patch.feedback"></a>169.2.2. Code Formatting Conventions</h4>
+<h4 id="common.patch.feedback"><a class="anchor" href="#common.patch.feedback"></a>170.2.2. Code Formatting Conventions</h4>
 <div class="paragraph">
 <p>Please adhere to the following guidelines so that your patches can be reviewed more quickly.
 These guidelines have been developed based upon common feedback on patches from new contributors.</p>
@@ -32467,7 +32516,7 @@ If you are creating a new class that needs to implement this interface, do not f
 </div>
 </div>
 <div class="sect3">
-<h4 id="_garbage_collection_conserving_guidelines"><a class="anchor" href="#_garbage_collection_conserving_guidelines"></a>169.2.3. Garbage-Collection Conserving Guidelines</h4>
+<h4 id="_garbage_collection_conserving_guidelines"><a class="anchor" href="#_garbage_collection_conserving_guidelines"></a>170.2.3. Garbage-Collection Conserving Guidelines</h4>
 <div class="paragraph">
 <p>The following guidelines were borrowed from <a href="http://engineering.linkedin.com/performance/linkedin-feed-faster-less-jvm-garbage" class="bare">http://engineering.linkedin.com/performance/linkedin-feed-faster-less-jvm-garbage</a>.
 Keep them in mind to keep preventable garbage  collection to a minimum. Have a look
@@ -32499,13 +32548,13 @@ these guidelines.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="design.invariants"><a class="anchor" href="#design.invariants"></a>169.3. Invariants</h3>
+<h3 id="design.invariants"><a class="anchor" href="#design.invariants"></a>170.3. Invariants</h3>
 <div class="paragraph">
 <p>We don&#8217;t have many but what we have we list below.
 All are subject to challenge of course but until then, please hold to the rules of the road.</p>
 </div>
 <div class="sect3">
-<h4 id="design.invariants.zk.data"><a class="anchor" href="#design.invariants.zk.data"></a>169.3.1. No permanent state in ZooKeeper</h4>
+<h4 id="design.invariants.zk.data"><a class="anchor" href="#design.invariants.zk.data"></a>170.3.1. No permanent state in ZooKeeper</h4>
 <div class="paragraph">
 <p>ZooKeeper state should transient (treat it like memory). If ZooKeeper state is deleted, hbase should be able to recover and essentially be in the same state.</p>
 </div>
@@ -32537,7 +32586,7 @@ Follow progress on this issue at <a href="https://issues.apache.org/jira/browse/
 </div>
 </div>
 <div class="sect2">
-<h3 id="run.insitu"><a class="anchor" href="#run.insitu"></a>169.4. Running In-Situ</h3>
+<h3 id="run.insitu"><a class="anchor" href="#run.insitu"></a>170.4. Running In-Situ</h3>
 <div class="paragraph">
 <p>If you are developing Apache HBase, frequently it is useful to test your changes against a more-real cluster than what you find in unit tests.
 In this case, HBase can be run directly from the source in local-mode.
@@ -32566,7 +32615,7 @@ Generally, the above command is just a good thing to try running first, if maven
 </div>
 </div>
 <div class="sect2">
-<h3 id="add.metrics"><a class="anchor" href="#add.metrics"></a>169.5. Adding Metrics</h3>
+<h3 id="add.metrics"><a class="anchor" href="#add.metrics"></a>170.5. Adding Metrics</h3>
 <div class="paragraph">
 <p>After adding a new feature a developer might want to add metrics.
 HBase exposes metrics using the Hadoop Metrics 2 system, so adding a new metric involves exposing that metric to the hadoop system.
@@ -32576,14 +32625,14 @@ To get an in-depth look at the reasoning and structure of these classes you can
 To add a metric to an existing MBean follow the short guide below:</p>
 </div>
 <div class="sect3">
-<h4 id="_add_metric_name_and_function_to_hadoop_compat_interface"><a class="anchor" href="#_add_metric_name_and_function_to_hadoop_compat_interface"></a>169.5.1. Add Metric name and Function to Hadoop Compat Interface.</h4>
+<h4 id="_add_metric_name_and_function_to_hadoop_compat_interface"><a class="anchor" href="#_add_metric_name_and_function_to_hadoop_compat_interface"></a>170.5.1. Add Metric name and Function to Hadoop Compat Interface.</h4>
 <div class="paragraph">
 <p>Inside of the source interface the corresponds to where the metrics are generated (eg MetricsMasterSource for things coming from HMaster) create new static strings for metric name and description.
 Then add a new method that will be called to add new reading.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_add_the_implementation_to_both_hadoop_1_and_hadoop_2_compat_modules"><a class="anchor" href="#_add_the_implementation_to_both_hadoop_1_and_hadoop_2_compat_modules"></a>169.5.2. Add the Implementation to Both Hadoop 1 and Hadoop 2 Compat modules.</h4>
+<h4 id="_add_the_implementation_to_both_hadoop_1_and_hadoop_2_compat_modules"><a class="anchor" href="#_add_the_implementation_to_both_hadoop_1_and_hadoop_2_compat_modules"></a>170.5.2. Add the Implementation to Both Hadoop 1 and Hadoop 2 Compat modules.</h4>
 <div class="paragraph">
 <p>Inside of the implementation of the source (eg.
 MetricsMasterSourceImpl in the above example) create a new histogram, counter, gauge, or stat in the init method.
@@ -32596,7 +32645,7 @@ For this the MetricsAssertHelper is provided.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="git.best.practices"><a class="anchor" href="#git.best.practices"></a>169.6. Git Best Practices</h3>
+<h3 id="git.best.practices"><a class="anchor" href="#git.best.practices"></a>170.6. Git Best Practices</h3>
 <div class="dlist">
 <dl>
 <dt class="hdlist1">Avoid git merges.</dt>
@@ -32613,7 +32662,7 @@ For this the MetricsAssertHelper is provided.</p>
 <p>Please contribute to this document if you think of other Git best practices.</p>
 </div>
 <div class="sect3">
-<h4 id="__code_rebase_all_git_branches_sh_code"><a class="anchor" href="#__code_rebase_all_git_branches_sh_code"></a>169.6.1. <code>rebase_all_git_branches.sh</code></h4>
+<h4 id="__code_rebase_all_git_branches_sh_code"><a class="anchor" href="#__code_rebase_all_git_branches_sh_code"></a>170.6.1. <code>rebase_all_git_branches.sh</code></h4>
 <div class="paragraph">
 <p>The <em>dev-support/rebase_all_git_branches.sh</em> script is provided to help keep your Git repository clean.
 Use the <code>-h</code>                    parameter to get usage instructions.
@@ -32626,7 +32675,7 @@ The script checks the directory for sub-directory called <em>.git/</em>, before
 </div>
 </div>
 <div class="sect2">
-<h3 id="submitting.patches"><a class="anchor" href="#submitting.patches"></a>169.7. Submitting Patches</h3>
+<h3 id="submitting.patches"><a class="anchor" href="#submitting.patches"></a>170.7. Submitting Patches</h3>
 <div class="paragraph">
 <p>If you are new to submitting patches to open source or new to submitting patches to Apache, start by
  reading the <a href="https://commons.apache.org/patches.html">On Contributing Patches</a> page from
@@ -32636,7 +32685,7 @@ It provides a nice overview that applies equally to the Apache HBase Project.
 good read to understand development workflow.</p>
 </div>
 <div class="sect3">
-<h4 id="submitting.patches.create"><a class="anchor" href="#submitting.patches.create"></a>169.7.1. Create Patch</h4>
+<h4 id="submitting.patches.create"><a class="anchor" href="#submitting.patches.create"></a>170.7.1. Create Patch</h4>
 <div class="paragraph">
 <p>Make sure you review <a href="#common.patch.feedback">common.patch.feedback</a> for code style. If your
 patch
@@ -32742,7 +32791,7 @@ Click on <b class="button">Cancel Patch</b> and then on <b class="button">Submit
 </div>
 </div>
 <div class="sect3">
-<h4 id="submitting.patches.tests"><a class="anchor" href="#submitting.patches.tests"></a>169.7.2. Unit Tests</h4>
+<h4 id="submitting.patches.tests"><a class="anchor" href="#submitting.patches.tests"></a>170.7.2. Unit Tests</h4>
 <div class="paragraph">
 <p>Always add and/or update relevant unit tests when making the changes.
 Make sure that new/changed unit tests pass locally before submitting the patch because it is faster
@@ -32759,13 +32808,13 @@ See <a href="#hbase.tests">hbase.tests</a> for more information on tests.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_integration_tests"><a class="anchor" href="#_integration_tests"></a>169.7.3. Integration Tests</h4>
+<h4 id="_integration_tests"><a class="anchor" href="#_integration_tests"></a>170.7.3. Integration Tests</h4>
 <div class="paragraph">
 <p>Significant new features should provide an integration test in addition to unit tests, suitable for exercising the new feature at different points in its configuration space.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="reviewboard"><a class="anchor" href="#reviewboard"></a>169.7.4. ReviewBoard</h4>
+<h4 id="reviewboard"><a class="anchor" href="#reviewboard"></a>170.7.4. ReviewBoard</h4>
 <div class="paragraph">
 <p>Patches larger than one screen, or patches that will be tricky to review, should go through <a href="https://reviews.apache.org">ReviewBoard</a>.</p>
 </div>
@@ -32808,7 +32857,7 @@ This attaches the ReviewBoard to the JIRA, for easy access.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_guide_for_hbase_committers"><a class="anchor" href="#_guide_for_hbase_committers"></a>169.7.5. Guide for HBase Committers</h4>
+<h4 id="_guide_for_hbase_committers"><a class="anchor" href="#_guide_for_hbase_committers"></a>170.7.5. Guide for HBase Committers</h4>
 <div class="sect4">
 <h5 id="_new_committers"><a class="anchor" href="#_new_committers"></a>New committers</h5>
 <div class="paragraph">
@@ -33097,21 +33146,21 @@ A committer should.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_dialog"><a class="anchor" href="#_dialog"></a>169.7.6. Dialog</h4>
+<h4 id="_dialog"><a class="anchor" href="#_dialog"></a>170.7.6. Dialog</h4>
 <div class="paragraph">
 <p>Committers should hang out in the #hbase room on irc.freenode.net for real-time discussions.
 However any substantive discussion (as with any off-list project-related discussion) should be re-iterated in Jira or on the developer list.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_do_not_edit_jira_comments"><a class="anchor" href="#_do_not_edit_jira_comments"></a>169.7.7. Do not edit JIRA comments</h4>
+<h4 id="_do_not_edit_jira_comments"><a class="anchor" href="#_do_not_edit_jira_comments"></a>170.7.7. Do not edit JIRA comments</h4>
 <div class="paragraph">
 <p>Misspellings and/or bad grammar is preferable to the disruption a JIRA comment edit causes: See the discussion at <a href="http://search-hadoop.com/?q=%5BReopened%5D+%28HBASE-451%29+Remove+HTableDescriptor+from+HRegionInfo&amp;fc_project=HBase">Re:(HBASE-451) Remove HTableDescriptor from HRegionInfo</a></p>
 </div>
 </div>
 </div>
 <div class="sect2">
-<h3 id="thirdparty"><a class="anchor" href="#thirdparty"></a>169.8. The hbase-thirdparty dependency and shading/relocation</h3>
+<h3 id="thirdparty"><a class="anchor" href="#thirdparty"></a>170.8. The hbase-thirdparty dependency and shading/relocation</h3>
 <div class="paragraph">
 <p>A new project was created for the release of hbase-2.0.0. It was called
 <code>hbase-thirdparty</code>. This project exists only to provide the main hbase
@@ -33155,7 +33204,7 @@ in the hbase-thirdparty, use the hbase JIRA and mailing lists to post notice.</p
 </div>
 </div>
 <div class="sect2">
-<h3 id="hbase.archetypes.development"><a class="anchor" href="#hbase.archetypes.development"></a>169.9. Development of HBase-related Maven archetypes</h3>
+<h3 id="hbase.archetypes.development"><a class="anchor" href="#hbase.archetypes.development"></a>170.9. Development of HBase-related Maven archetypes</h3>
 <div class="paragraph">
 <p>The development of HBase-related Maven archetypes was begun with
 <a href="https://issues.apache.org/jira/browse/HBASE-14876">HBASE-14876</a>.
@@ -33175,7 +33224,7 @@ For information on unit tests for HBase itself, see <a href="#hbase.tests">hbase
 </div>
 </div>
 <div class="sect1">
-<h2 id="_junit"><a class="anchor" href="#_junit"></a>170. JUnit</h2>
+<h2 id="_junit"><a class="anchor" href="#_junit"></a>171. JUnit</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>HBase uses <a href="http://junit.org">JUnit</a> for unit tests</p>
@@ -33247,7 +33296,7 @@ For an introduction to JUnit, see <a href="https://github.com/junit-team/junit/w
 </div>
 </div>
 <div class="sect1">
-<h2 id="mockito"><a class="anchor" href="#mockito"></a>171. Mockito</h2>
+<h2 id="mockito"><a class="anchor" href="#mockito"></a>172. Mockito</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>Mockito is a mocking framework.
@@ -33325,7 +33374,7 @@ Similarly, you can now expand into other operations such as Get, Scan, or Delete
 </div>
 </div>
 <div class="sect1">
-<h2 id="_mrunit"><a class="anchor" href="#_mrunit"></a>172. MRUnit</h2>
+<h2 id="_mrunit"><a class="anchor" href="#_mrunit"></a>173. MRUnit</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p><a href="https://mrunit.apache.org/">Apache MRUnit</a> is a library that allows you to unit-test MapReduce jobs.
@@ -33422,7 +33471,7 @@ strValue2 = <span class="string"><span class="delimiter">&quot;</span><span clas
 </div>
 </div>
 <div class="sect1">
-<h2 id="_integration_testing_with_an_hbase_mini_cluster"><a class="anchor" href="#_integration_testing_with_an_hbase_mini_cluster"></a>173. Integration Testing with an HBase Mini-Cluster</h2>
+<h2 id="_integration_testing_with_an_hbase_mini_cluster"><a class="anchor" href="#_integration_testing_with_an_hbase_mini_cluster"></a>174. Integration Testing with an HBase Mini-Cluster</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>HBase ships with HBaseTestingUtility, which makes it easy to write integration tests using a <em class="firstterm">mini-cluster</em>.
@@ -33509,7 +33558,7 @@ Starting the mini-cluster takes about 20-30 seconds, but that should be appropri
 </div>
 <h1 id="protobuf" class="sect0"><a class="anchor" href="#protobuf"></a>Protobuf in HBase</h1>
 <div class="sect1">
-<h2 id="_protobuf"><a class="anchor" href="#_protobuf"></a>174. Protobuf</h2>
+<h2 id="_protobuf"><a class="anchor" href="#_protobuf"></a>175. Protobuf</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>HBase uses Google&#8217;s <a href="https://developers.google.com/protocol-buffers/">protobufs</a> wherever
@@ -33564,7 +33613,7 @@ practice needs to whither. We&#8217;ll explain why in the later
 <a href="#shaded.protobuf">hbase-2.0.0</a> section.</p>
 </div>
 <div class="sect2">
-<h3 id="shaded.protobuf"><a class="anchor" href="#shaded.protobuf"></a>174.1. hbase-2.0.0 and the shading of protobufs (HBASE-15638)</h3>
+<h3 id="shaded.protobuf"><a class="anchor" href="#shaded.protobuf"></a>175.1. hbase-2.0.0 and the shading of protobufs (HBASE-15638)</h3>
 <div class="paragraph">
 <p>As of hbase-2.0.0, our protobuf usage gets a little more involved. HBase
 core protobuf references are offset so as to refer to a private,
@@ -33770,7 +33819,7 @@ zookeeper could start dropping sessions if it has to run through a directory of
 </div>
 </div>
 <div class="sect1">
-<h2 id="_using_existing_zookeeper_ensemble"><a class="anchor" href="#_using_existing_zookeeper_ensemble"></a>175. Using existing ZooKeeper ensemble</h2>
+<h2 id="_using_existing_zookeeper_ensemble"><a class="anchor" href="#_using_existing_zookeeper_ensemble"></a>176. Using existing ZooKeeper ensemble</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>To point HBase at an existing ZooKeeper cluster, one that is not managed by HBase, set <code>HBASE_MANAGES_ZK</code> in <em>conf/hbase-env.sh</em> to false</p>
@@ -33807,7 +33856,7 @@ Additionally, see the <a href="https://wiki.apache.org/hadoop/ZooKeeper/FAQ#A7">
 </div>
 </div>
 <div class="sect1">
-<h2 id="zk.sasl.auth"><a class="anchor" href="#zk.sasl.auth"></a>176. SASL Authentication with ZooKeeper</h2>
+<h2 id="zk.sasl.auth"><a class="anchor" href="#zk.sasl.auth"></a>177. SASL Authentication with ZooKeeper</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>Newer releases of Apache HBase (&gt;= 0.92) will support connecting to a ZooKeeper Quorum that supports SASL authentication (which is available in ZooKeeper versions 3.4.0 or later).</p>
@@ -33817,7 +33866,7 @@ Additionally, see the <a href="https://wiki.apache.org/hadoop/ZooKeeper/FAQ#A7">
 ZooKeeper/HBase mutual authentication (<a href="https://issues.apache.org/jira/browse/HBASE-2418">HBASE-2418</a>) is required as part of a complete secure HBase configuration (<a href="https://issues.apache.org/jira/browse/HBASE-3025">HBASE-3025</a>). For simplicity of explication, this section ignores additional configuration required (Secure HDFS and Coprocessor configuration). It&#8217;s recommended to begin with an HBase-managed ZooKeeper configuration (as opposed to a standalone ZooKeeper quorum) for ease of learning.</p>
 </div>
 <div class="sect2">
-<h3 id="_operating_system_prerequisites"><a class="anchor" href="#_operating_system_prerequisites"></a>176.1. Operating System Prerequisites</h3>
+<h3 id="_operating_system_prerequisites"><a class="anchor" href="#_operating_system_prerequisites"></a>177.1. Operating System Prerequisites</h3>
 <div class="paragraph">
 <p>You need to have a working Kerberos KDC setup.
 For each <code>$HOST</code> that will run a ZooKeeper server, you should have a principle <code>zookeeper/$HOST</code>.
@@ -33853,7 +33902,7 @@ The ZooKeeper client and server libraries manage their own ticket refreshment by
 </div>
 </div>
 <div class="sect2">
-<h3 id="_hbase_managed_zookeeper_configuration"><a class="anchor" href="#_hbase_managed_zookeeper_configuration"></a>176.2. HBase-managed ZooKeeper Configuration</h3>
+<h3 id="_hbase_managed_zookeeper_configuration"><a class="anchor" href="#_hbase_managed_zookeeper_configuration"></a>177.2. HBase-managed ZooKeeper Configuration</h3>
 <div class="paragraph">
 <p>On each node that will run a zookeeper, a master, or a regionserver, create a <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/security/jgss/tutorials/LoginConfigFile.html">JAAS</a>        configuration file in the conf directory of the node&#8217;s <em>HBASE_HOME</em>        directory that looks like the following:</p>
 </div>
@@ -33945,7 +33994,7 @@ bin/hbase regionserver start</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_external_zookeeper_configuration"><a class="anchor" href="#_external_zookeeper_configuration"></a>176.3. External ZooKeeper Configuration</h3>
+<h3 id="_external_zookeeper_configuration"><a class="anchor" href="#_external_zookeeper_configuration"></a>177.3. External ZooKeeper Configuration</h3>
 <div class="paragraph">
 <p>Add a JAAS configuration file that looks like:</p>
 </div>
@@ -34046,7 +34095,7 @@ bin/hbase regionserver start</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_zookeeper_server_authentication_log_output"><a class="anchor" href="#_zookeeper_server_authentication_log_output"></a>176.4. ZooKeeper Server Authentication Log Output</h3>
+<h3 id="_zookeeper_server_authentication_log_output"><a class="anchor" href="#_zookeeper_server_authentication_log_output"></a>177.4. ZooKeeper Server Authentication Log Output</h3>
 <div class="paragraph">
 <p>If the configuration above is successful, you should see something similar to the following in your ZooKeeper server logs:</p>
 </div>
@@ -34068,7 +34117,7 @@ bin/hbase regionserver start</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_zookeeper_client_authentication_log_output"><a class="anchor" href="#_zookeeper_client_authentication_log_output"></a>176.5. ZooKeeper Client Authentication Log Output</h3>
+<h3 id="_zookeeper_client_authentication_log_output"><a class="anchor" href="#_zookeeper_client_authentication_log_output"></a>177.5. ZooKeeper Client Authentication Log Output</h3>
 <div class="paragraph">
 <p>On the ZooKeeper client side (HBase master or regionserver), you should see something similar to the following:</p>
 </div>
@@ -34089,7 +34138,7 @@ bin/hbase regionserver start</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_configuration_from_scratch"><a class="anchor" href="#_configuration_from_scratch"></a>176.6. Configuration from Scratch</h3>
+<h3 id="_configuration_from_scratch"><a class="anchor" href="#_configuration_from_scratch"></a>177.6. Configuration from Scratch</h3>
 <div class="paragraph">
 <p>This has been tested on the current standard Amazon Linux AMI.
 First setup KDC and principals as described above.
@@ -34115,9 +34164,9 @@ bin/hbase regionserver &amp;</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_future_improvements"><a class="anchor" href="#_future_improvements"></a>176.7. Future improvements</h3>
+<h3 id="_future_improvements"><a class="anchor" href="#_future_improvements"></a>177.7. Future improvements</h3>
 <div class="sect3">
-<h4 id="_fix_target_cached_classpath_txt"><a class="anchor" href="#_fix_target_cached_classpath_txt"></a>176.7.1. Fix target/cached_classpath.txt</h4>
+<h4 id="_fix_target_cached_classpath_txt"><a class="anchor" href="#_fix_target_cached_classpath_txt"></a>177.7.1. Fix target/cached_classpath.txt</h4>
 <div class="paragraph">
 <p>You must override the standard hadoop-core jar file from the <code>target/cached_classpath.txt</code> file with the version containing the HADOOP-7070 fix.
 You can use the following script to do this:</p>
@@ -34130,13 +34179,13 @@ mv target/tmp.txt target/cached_classpath.txt</pre>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_set_jaas_configuration_programmatically"><a class="anchor" href="#_set_jaas_configuration_programmatically"></a>176.7.2. Set JAAS configuration programmatically</h4>
+<h4 id="_set_jaas_configuration_programmatically"><a class="anchor" href="#_set_jaas_configuration_programmatically"></a>177.7.2. Set JAAS configuration programmatically</h4>
 <div class="paragraph">
 <p>This would avoid the need for a separate Hadoop jar that fixes <a href="https://issues.apache.org/jira/browse/HADOOP-7070">HADOOP-7070</a>.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_elimination_of_code_kerberos_removehostfromprincipal_code_and_kerberos_removerealmfromprincipal"><a class="anchor" href="#_elimination_of_code_kerberos_removehostfromprincipal_code_and_kerberos_removerealmfromprincipal"></a>176.7.3. Elimination of <code>kerberos.removeHostFromPrincipal</code> and`kerberos.removeRealmFromPrincipal`</h4>
+<h4 id="_elimination_of_code_kerberos_removehostfromprincipal_code_and_kerberos_removerealmfromprincipal"><a class="anchor" href="#_elimination_of_code_kerberos_removehostfromprincipal_code_and_kerberos_removerealmfromprincipal"></a>177.7.3. Elimination of <code>kerberos.removeHostFromPrincipal</code> and`kerberos.removeRealmFromPrincipal`</h4>
 
 </div>
 </div>
@@ -34144,7 +34193,7 @@ mv target/tmp.txt target/cached_classpath.txt</pre>
 </div>
 <h1 id="community" class="sect0"><a class="anchor" href="#community"></a>Community</h1>
 <div class="sect1">
-<h2 id="_decisions"><a class="anchor" href="#_decisions"></a>177. Decisions</h2>
+<h2 id="_decisions"><a class="anchor" href="#_decisions"></a>178. Decisions</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <div class="title">Feature Branches</div>
@@ -34192,10 +34241,10 @@ We also are currently in violation of this basic tenet&#8201;&#8212;&#8201;repli
 </div>
 </div>
 <div class="sect1">
-<h2 id="community.roles"><a class="anchor" href="#community.roles"></a>178. Community Roles</h2>
+<h2 id="community.roles"><a class="anchor" href="#community.roles"></a>179. Community Roles</h2>
 <div class="sectionbody">
 <div class="sect2">
-<h3 id="_release_managers"><a class="anchor" href="#_release_managers"></a>178.1. Release Managers</h3>
+<h3 id="_release_managers"><a class="anchor" href="#_release_managers"></a>179.1. Release Managers</h3>
 <div class="paragraph">
 <p>Each maintained release branch has a release manager, who volunteers to coordinate new features and bug fixes are backported to that release.
 The release managers are <a href="https://hbase.apache.org/team-list.html">committers</a>.
@@ -34249,7 +34298,7 @@ End-of-life releases are not included in this list.
 </div>
 </div>
 <div class="sect1">
-<h2 id="hbase.commit.msg.format"><a class="anchor" href="#hbase.commit.msg.format"></a>179. Commit Message format</h2>
+<h2 id="hbase.commit.msg.format"><a class="anchor" href="#hbase.commit.msg.format"></a>180. Commit Message format</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>We <a href="http://search-hadoop.com/m/Gwxwl10cFHa1">agreed</a> to the following Git commit message format:</p>
@@ -37456,7 +37505,7 @@ The <code>LocalFileSpanReceiver</code> looks in <em>hbase-site.xml</em>      for
 </div>
 </div>
 <div class="sect1">
-<h2 id="tracing.client.modifications"><a class="anchor" href="#tracing.client.modifications"></a>180. Client Modifications</h2>
+<h2 id="tracing.client.modifications"><a class="anchor" href="#tracing.client.modifications"></a>181. Client Modifications</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>In order to turn on tracing in your client code, you must initialize the module sending spans to receiver once per client process.</p>
@@ -37514,7 +37563,7 @@ See the HTrace <em>README</em> for more information on Samplers.</p>
 </div>
 </div>
 <div class="sect1">
-<h2 id="tracing.client.shell"><a class="anchor" href="#tracing.client.shell"></a>181. Tracing from HBase Shell</h2>
+<h2 id="tracing.client.shell"><a class="anchor" href="#tracing.client.shell"></a>182. Tracing from HBase Shell</h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>You can use <code>trace</code> command for tracing requests from HBase Shell. <code>trace 'start'</code> command turns on tracing and <code>trace 'stop'</code> command turns off tracing.</p>
@@ -37824,7 +37873,7 @@ The server will return cellblocks compressed using this same compressor as long
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2018-05-01 14:29:55 UTC
+Last updated 2018-05-02 14:29:51 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index c00d1e3..66eadba 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -306,7 +306,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 400c722..0186c79 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -281,7 +281,7 @@
 <th><img src="images/icon_warning_sml.gif" alt="" />&#160;Warnings</th>
 <th><img src="images/icon_error_sml.gif" alt="" />&#160;Errors</th></tr>
 <tr class="b">
-<td>3606</td>
+<td>3607</td>
 <td>0</td>
 <td>0</td>
 <td>15867</td></tr></table></div>
@@ -10327,12 +10327,12 @@
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocTagContinuationIndentation">JavadocTagContinuationIndentation</a>
 <ul>
 <li>offset: <tt>&quot;2&quot;</tt></li></ul></td>
-<td>797</td>
+<td>783</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>3823</td>
+<td>3837</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>misc</td>
@@ -14541,7 +14541,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 26 has parse error. Missed HTML close tag 'arg'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>44</td></tr></table></div>
 <div class="section">
@@ -15177,7 +15177,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 4 has parse error. Missed HTML close tag 'pre'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>59</td></tr></table></div>
 <div class="section">
@@ -16932,7 +16932,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 19 has parse error. Details: no viable alternative at input '&lt;code&gt;\n   *   List&lt;Future&lt;' while parsing HTML_TAG</td>
 <td>167</td></tr></table></div>
 <div class="section">
@@ -19854,7 +19854,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 2 has parse error. Unrecognized error from ANTLR parser: null</td>
 <td>83</td></tr>
 <tr class="b">
@@ -33801,7 +33801,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 37 has parse error. Details: no viable alternative at input '&lt;ColumnFamily,' while parsing HTML_ELEMENT</td>
 <td>29</td></tr></table></div>
 <div class="section">
@@ -50097,7 +50097,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 24 has parse error. Details: no viable alternative at input '&lt;key,' while parsing HTML_ELEMENT</td>
 <td>25</td></tr>
 <tr class="a">
@@ -53685,7 +53685,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 2 has parse error. Unrecognized error from ANTLR parser: null</td>
 <td>587</td></tr>
 <tr class="b">
@@ -73296,7 +73296,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 60 has parse error. Missed HTML close tag 'Comparable'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>29</td></tr>
 <tr class="a">
@@ -77478,7 +77478,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 0 has parse error. Unrecognized error from ANTLR parser: null</td>
 <td>74</td></tr>
 <tr class="a">
@@ -87408,7 +87408,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 33 has parse error. Missed HTML close tag 'number'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>127</td></tr>
 <tr class="b">
@@ -115977,7 +115977,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 23 has parse error. Details: no viable alternative at input '&lt;expected,' while parsing HTML_ELEMENT</td>
 <td>143</td></tr>
 <tr class="b">
@@ -116181,7 +116181,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 78 has parse error. Details: no viable alternative at input '&lt;Object&gt;, Map&lt;String,' while parsing HTML_TAG</td>
 <td>33</td></tr>
 <tr class="b">
@@ -116781,7 +116781,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 35 has parse error. Missed HTML close tag 'index'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>823</td></tr>
 <tr class="a">
@@ -120594,7 +120594,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 58 has parse error. Details: no viable alternative at input '&lt;byte[' while parsing HTML_ELEMENT</td>
 <td>426</td></tr>
 <tr class="a">
@@ -123435,7 +123435,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index a0e92fa..151c494 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,7 +25,7 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2018 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 3606,
+      <title>File: 3607,
              Errors: 15867,
              Warnings: 0,
              Infos: 0
@@ -8964,6 +8964,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.io.asyncfs.TestOverwriteFileUnderConstruction.java">org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.regionserver.TestStoreScanner.java">org/apache/hadoop/hbase/regionserver/TestStoreScanner.java</a>
                 </td>
                 <td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index fb44828..973d28a 100644
--- a/coc.html
+++ b/coc.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -375,7 +375,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index bf7ae52..e3731d3 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -440,7 +440,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index e0a7feb..4bdbfd3 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -1105,7 +1105,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 39e7938..ea7bd4d 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -313,7 +313,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 3ec32be..7fb9f61 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -969,7 +969,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index ebfab4e..852c5ce 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3768,21 +3768,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Tue May  1 14:39:02 UTC 2018"</code></td>
+<td class="colLast"><code>"Wed May  2 14:38:54 UTC 2018"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"7790ab156eabbea4527ec8e5a1c39430398bed0c"</code></td>
+<td class="colLast"><code>"2e9b96e4f14c2802b59c6037cbfe4a427ec93bea"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"fdb39258407f4e8b010b6f19204e4d5c"</code></td>
+<td class="colLast"><code>"300425a7629c0718634c89407e4d606a"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html b/devapidocs/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html
index d1aba7d..fb9291f 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html
@@ -968,7 +968,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createOutput</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">FanOutOneBlockAsyncDFSOutput</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html#line.843">createOutput</a>(org.apache.hadoop.hdfs.DistributedFileSystem&nbsp;dfs,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">FanOutOneBlockAsyncDFSOutput</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html#line.840">createOutput</a>(org.apache.hadoop.hdfs.DistributedFileSystem&nbsp;dfs,
                                                         org.apache.hadoop.fs.Path&nbsp;f,
                                                         boolean&nbsp;overwrite,
                                                         boolean&nbsp;createParent,
@@ -991,7 +991,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldRetryCreate</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html#line.862">shouldRetryCreate</a>(org.apache.hadoop.ipc.RemoteException&nbsp;e)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html#line.859">shouldRetryCreate</a>(org.apache.hadoop.ipc.RemoteException&nbsp;e)</pre>
 </li>
 </ul>
 <a name="completeFile-org.apache.hadoop.hdfs.DFSClient-org.apache.hadoop.hdfs.protocol.ClientProtocol-java.lang.String-java.lang.String-org.apache.hadoop.hdfs.protocol.ExtendedBlock-long-">
@@ -1000,7 +1000,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>completeFile</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html#line.869">completeFile</a>(org.apache.hadoop.hdfs.DFSClient&nbsp;client,
+<pre>static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html#line.866">completeFile</a>(org.apache.hadoop.hdfs.DFSClient&nbsp;client,
                          org.apache.hadoop.hdfs.protocol.ClientProtocol&nbsp;namenode,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;src,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientName,
@@ -1014,7 +1014,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sleepIgnoreInterrupt</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html#line.894">sleepIgnoreInterrupt</a>(int&nbsp;retry)</pre>
+<pre>static&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html#line.891">sleepIgnoreInterrupt</a>(int&nbsp;retry)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index b949222..be7b664 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a name="line.9"></a>
 <span class="sourceLineNo">010</span>  public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = "7790ab156eabbea4527ec8e5a1c39430398bed0c";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "2e9b96e4f14c2802b59c6037cbfe4a427ec93bea";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Tue May  1 14:39:02 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Wed May  2 14:38:54 UTC 2018";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://jenkins-websites1.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "fdb39258407f4e8b010b6f19204e4d5c";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "300425a7629c0718634c89407e4d606a";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 


[3/8] hbase-site git commit: Published site at 2e9b96e4f14c2802b59c6037cbfe4a427ec93bea.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.PipelineAckStatusGetter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.PipelineAckStatusGetter.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.PipelineAckStatusGetter.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.PipelineAckStatusGetter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.PipelineAckStatusGetter.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.StorageTypeSetter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.StorageTypeSetter.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.StorageTypeSetter.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.StorageTypeSetter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.StorageTypeSetter.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/downloads.html
----------------------------------------------------------------------
diff --git a/downloads.html b/downloads.html
index 2775b1f..ef70d10 100644
--- a/downloads.html
+++ b/downloads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase Downloads</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -366,7 +366,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index 4d49d4e..3f86c8c 100644
--- a/export_control.html
+++ b/export_control.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -331,7 +331,7 @@ for more details.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 683626f..6fd3abe 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBaseâ„¢ Home</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -409,7 +409,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 8783c1f..6f85deb 100644
--- a/integration.html
+++ b/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -291,7 +291,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index 608a556..3c6e64d 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -288,7 +288,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 85d1bab..9d5b520 100644
--- a/license.html
+++ b/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -491,7 +491,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index b26b9e5..950ff77 100644
--- a/mail-lists.html
+++ b/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -341,7 +341,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 8b70543..8de636d 100644
--- a/metrics.html
+++ b/metrics.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -459,7 +459,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 233f7c8..b510a41 100644
--- a/old_news.html
+++ b/old_news.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -440,7 +440,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index e11774a..380cf98 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -440,7 +440,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index 7357dd2..8927d88 100644
--- a/plugins.html
+++ b/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -375,7 +375,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 8e1453d..27647a0 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Powered By Apache HBase™</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -769,7 +769,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index 8b74346..4b11639 100644
--- a/project-info.html
+++ b/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -335,7 +335,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index c7e4004..d66991b 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -305,7 +305,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index 6ce9af7..1b49bdc 100644
--- a/project-summary.html
+++ b/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -331,7 +331,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 9ebb449..6d3329c 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -308,7 +308,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index ce11b06..9fa89b8 100644
--- a/replication.html
+++ b/replication.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -303,7 +303,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index 3847da7..eb5d64d 100644
--- a/resources.html
+++ b/resources.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Other Apache HBase (TM) Resources</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -331,7 +331,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index 75f4c05..6d0109f 100644
--- a/source-repository.html
+++ b/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -299,7 +299,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index 52ec3cc..373e8d9 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase™ Sponsors</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -333,7 +333,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index 82368bd..201f15e 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Supporting Projects</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -520,7 +520,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index c129180..1e38067 100644
--- a/team-list.html
+++ b/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -730,7 +730,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index f6264df..ecb51c5 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -1555,6 +1555,7 @@
 <li><a href="org/apache/hadoop/hbase/types/TestOrderedBlobVar.html" title="class in org.apache.hadoop.hbase.types" target="classFrame">TestOrderedBlobVar</a></li>
 <li><a href="org/apache/hadoop/hbase/util/TestOrderedBytes.html" title="class in org.apache.hadoop.hbase.util" target="classFrame">TestOrderedBytes</a></li>
 <li><a href="org/apache/hadoop/hbase/types/TestOrderedString.html" title="class in org.apache.hadoop.hbase.types" target="classFrame">TestOrderedString</a></li>
+<li><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs" target="classFrame">TestOverwriteFileUnderConstruction</a></li>
 <li><a href="org/apache/hadoop/hbase/filter/TestPageFilter.html" title="class in org.apache.hadoop.hbase.filter" target="classFrame">TestPageFilter</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestParallelPut.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">TestParallelPut</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestParallelPut.Putter.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">TestParallelPut.Putter</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index 4d56c33..6078263 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -1555,6 +1555,7 @@
 <li><a href="org/apache/hadoop/hbase/types/TestOrderedBlobVar.html" title="class in org.apache.hadoop.hbase.types">TestOrderedBlobVar</a></li>
 <li><a href="org/apache/hadoop/hbase/util/TestOrderedBytes.html" title="class in org.apache.hadoop.hbase.util">TestOrderedBytes</a></li>
 <li><a href="org/apache/hadoop/hbase/types/TestOrderedString.html" title="class in org.apache.hadoop.hbase.types">TestOrderedString</a></li>
+<li><a href="org/apache/hadoop/hbase/io/asyncfs/TestOverwriteFileUnderConstruction.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestOverwriteFileUnderConstruction</a></li>
 <li><a href="org/apache/hadoop/hbase/filter/TestPageFilter.html" title="class in org.apache.hadoop.hbase.filter">TestPageFilter</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestParallelPut.html" title="class in org.apache.hadoop.hbase.regionserver">TestParallelPut</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestParallelPut.Putter.html" title="class in org.apache.hadoop.hbase.regionserver">TestParallelPut.Putter</a></li>


[7/8] hbase-site git commit: Published site at 2e9b96e4f14c2802b59c6037cbfe4a427ec93bea.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index d51337d..ec7e132 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,16 +5,16 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20180501142955+00'00')
-/CreationDate (D:20180501144425+00'00')
+/ModDate (D:20180502142951+00'00')
+/CreationDate (D:20180502144424+00'00')
 >>
 endobj
 2 0 obj
 << /Type /Catalog
 /Pages 3 0 R
 /Names 26 0 R
-/Outlines 4634 0 R
-/PageLabels 4860 0 R
+/Outlines 4642 0 R
+/PageLabels 4869 0 R
 /PageMode /UseOutlines
 /OpenAction [7 0 R /FitH 842.89]
 /ViewerPreferences << /DisplayDocTitle true
@@ -23,8 +23,8 @@ endobj
 endobj
 3 0 obj
 << /Type /Pages
-/Count 723
-/Kids [7 0 R 12 0 R 14 0 R 16 0 R 18 0 R 20 0 R 22 0 R 24 0 R 44 0 R 47 0 R 50 0 R 54 0 R 61 0 R 63 0 R 67 0 R 69 0 R 71 0 R 78 0 R 81 0 R 83 0 R 89 0 R 92 0 R 94 0 R 96 0 R 103 0 R 110 0 R 115 0 R 117 0 R 133 0 R 138 0 R 146 0 R 155 0 R 163 0 R 172 0 R 183 0 R 187 0 R 189 0 R 193 0 R 202 0 R 211 0 R 219 0 R 228 0 R 233 0 R 242 0 R 250 0 R 259 0 R 272 0 R 279 0 R 289 0 R 297 0 R 305 0 R 312 0 R 320 0 R 327 0 R 333 0 R 340 0 R 348 0 R 357 0 R 366 0 R 380 0 R 387 0 R 395 0 R 402 0 R 410 0 R 419 0 R 429 0 R 437 0 R 444 0 R 453 0 R 465 0 R 475 0 R 482 0 R 489 0 R 497 0 R 506 0 R 514 0 R 519 0 R 523 0 R 528 0 R 532 0 R 548 0 R 559 0 R 563 0 R 578 0 R 583 0 R 588 0 R 590 0 R 592 0 R 595 0 R 597 0 R 599 0 R 607 0 R 613 0 R 618 0 R 623 0 R 630 0 R 640 0 R 648 0 R 652 0 R 656 0 R 658 0 R 668 0 R 682 0 R 691 0 R 700 0 R 710 0 R 721 0 R 732 0 R 754 0 R 760 0 R 764 0 R 770 0 R 773 0 R 777 0 R 781 0 R 784 0 R 787 0 R 789 0 R 792 0 R 796 0 R 798 0 R 802 0 R 808 0 R 813 0 R 817 0 R 820 0 R 826 0 R
  828 0 R 832 0 R 840 0 R 842 0 R 845 0 R 848 0 R 851 0 R 854 0 R 868 0 R 876 0 R 887 0 R 898 0 R 904 0 R 914 0 R 925 0 R 928 0 R 932 0 R 935 0 R 940 0 R 949 0 R 957 0 R 961 0 R 965 0 R 970 0 R 974 0 R 976 0 R 992 0 R 1003 0 R 1008 0 R 1015 0 R 1018 0 R 1026 0 R 1034 0 R 1039 0 R 1044 0 R 1049 0 R 1051 0 R 1053 0 R 1055 0 R 1065 0 R 1073 0 R 1077 0 R 1084 0 R 1091 0 R 1099 0 R 1103 0 R 1109 0 R 1114 0 R 1122 0 R 1126 0 R 1131 0 R 1133 0 R 1139 0 R 1147 0 R 1153 0 R 1160 0 R 1171 0 R 1175 0 R 1177 0 R 1179 0 R 1183 0 R 1186 0 R 1191 0 R 1194 0 R 1206 0 R 1210 0 R 1216 0 R 1224 0 R 1229 0 R 1233 0 R 1237 0 R 1239 0 R 1242 0 R 1245 0 R 1248 0 R 1252 0 R 1256 0 R 1260 0 R 1265 0 R 1269 0 R 1272 0 R 1274 0 R 1284 0 R 1287 0 R 1295 0 R 1304 0 R 1310 0 R 1314 0 R 1316 0 R 1327 0 R 1330 0 R 1336 0 R 1344 0 R 1347 0 R 1354 0 R 1362 0 R 1364 0 R 1366 0 R 1375 0 R 1377 0 R 1379 0 R 1382 0 R 1384 0 R 1386 0 R 1388 0 R 1390 0 R 1393 0 R 1397 0 R 1402 0 R 1404 0 R 1406 0 R 1408 0 R 1413 0 R 1420 0
  R 1426 0 R 1429 0 R 1431 0 R 1434 0 R 1438 0 R 1442 0 R 1445 0 R 1447 0 R 1449 0 R 1452 0 R 1457 0 R 1463 0 R 1471 0 R 1485 0 R 1499 0 R 1502 0 R 1507 0 R 1520 0 R 1525 0 R 1540 0 R 1548 0 R 1552 0 R 1561 0 R 1576 0 R 1590 0 R 1598 0 R 1603 0 R 1614 0 R 1619 0 R 1625 0 R 1631 0 R 1643 0 R 1646 0 R 1655 0 R 1658 0 R 1667 0 R 1673 0 R 1677 0 R 1689 0 R 1694 0 R 1700 0 R 1702 0 R 1709 0 R 1717 0 R 1725 0 R 1729 0 R 1731 0 R 1733 0 R 1745 0 R 1751 0 R 1760 0 R 1766 0 R 1779 0 R 1785 0 R 1791 0 R 1802 0 R 1808 0 R 1813 0 R 1818 0 R 1821 0 R 1824 0 R 1829 0 R 1834 0 R 1841 0 R 1845 0 R 1850 0 R 1859 0 R 1864 0 R 1869 0 R 1871 0 R 1880 0 R 1887 0 R 1893 0 R 1898 0 R 1902 0 R 1906 0 R 1911 0 R 1916 0 R 1922 0 R 1924 0 R 1926 0 R 1929 0 R 1940 0 R 1943 0 R 1950 0 R 1958 0 R 1963 0 R 1967 0 R 1972 0 R 1974 0 R 1977 0 R 1982 0 R 1985 0 R 1987 0 R 1990 0 R 1993 0 R 1996 0 R 2006 0 R 2011 0 R 2016 0 R 2018 0 R 2026 0 R 2033 0 R 2040 0 R 2046 0 R 2051 0 R 2053 0 R 2062 0 R 2072 0 R 2082 0 R 2088
  0 R 2095 0 R 2097 0 R 2102 0 R 2104 0 R 2106 0 R 2110 0 R 2113 0 R 2116 0 R 2121 0 R 2125 0 R 2136 0 R 2139 0 R 2144 0 R 2147 0 R 2149 0 R 2154 0 R 2164 0 R 2166 0 R 2168 0 R 2170 0 R 2172 0 R 2175 0 R 2177 0 R 2179 0 R 2182 0 R 2184 0 R 2186 0 R 2190 0 R 2195 0 R 2204 0 R 2206 0 R 2208 0 R 2214 0 R 2216 0 R 2221 0 R 2223 0 R 2225 0 R 2232 0 R 2237 0 R 2241 0 R 2246 0 R 2250 0 R 2252 0 R 2254 0 R 2258 0 R 2261 0 R 2263 0 R 2265 0 R 2269 0 R 2271 0 R 2274 0 R 2276 0 R 2278 0 R 2280 0 R 2287 0 R 2290 0 R 2295 0 R 2297 0 R 2299 0 R 2301 0 R 2303 0 R 2311 0 R 2322 0 R 2336 0 R 2347 0 R 2351 0 R 2356 0 R 2360 0 R 2363 0 R 2368 0 R 2374 0 R 2376 0 R 2379 0 R 2381 0 R 2383 0 R 2385 0 R 2390 0 R 2392 0 R 2405 0 R 2408 0 R 2416 0 R 2422 0 R 2434 0 R 2448 0 R 2461 0 R 2480 0 R 2482 0 R 2484 0 R 2488 0 R 2506 0 R 2512 0 R 2524 0 R 2528 0 R 2532 0 R 2541 0 R 2553 0 R 2558 0 R 2568 0 R 2581 0 R 2600 0 R 2609 0 R 2612 0 R 2621 0 R 2638 0 R 2645 0 R 2648 0 R 2653 0 R 2657 0 R 2660 0 R 2669 0 R 26
 78 0 R 2681 0 R 2683 0 R 2687 0 R 2701 0 R 2710 0 R 2715 0 R 2719 0 R 2722 0 R 2724 0 R 2726 0 R 2728 0 R 2733 0 R 2746 0 R 2756 0 R 2764 0 R 2770 0 R 2775 0 R 2786 0 R 2793 0 R 2799 0 R 2801 0 R 2810 0 R 2818 0 R 2820 0 R 2828 0 R 2836 0 R 2838 0 R 2847 0 R 2850 0 R 2860 0 R 2864 0 R 2873 0 R 2881 0 R 2886 0 R 2890 0 R 2894 0 R 2896 0 R 2902 0 R 2906 0 R 2910 0 R 2916 0 R 2922 0 R 2925 0 R 2931 0 R 2935 0 R 2944 0 R 2949 0 R 2955 0 R 2965 0 R 2971 0 R 2978 0 R 2981 0 R 2984 0 R 2991 0 R 2996 0 R 2999 0 R 3004 0 R 3014 0 R 3019 0 R 3021 0 R 3025 0 R 3032 0 R 3035 0 R 3046 0 R 3049 0 R 3056 0 R 3064 0 R 3068 0 R 3078 0 R 3083 0 R 3087 0 R 3095 0 R 3100 0 R 3104 0 R 3106 0 R 3117 0 R 3122 0 R 3125 0 R 3127 0 R 3129 0 R 3139 0 R 3146 0 R 3150 0 R 3153 0 R 3159 0 R 3163 0 R 3166 0 R 3170 0 R 3175 0 R 3183 0 R 3188 0 R 3193 0 R 3198 0 R 3200 0 R 3203 0 R 3205 0 R 3209 0 R 3220 0 R 3222 0 R 3226 0 R 3229 0 R 3233 0 R 3236 0 R 3240 0 R 3242 0 R 3255 0 R 3260 0 R 3265 0 R 3271 0 R 3279 0 R 
 3281 0 R 3289 0 R 3307 0 R 3318 0 R 3325 0 R 3341 0 R 3344 0 R 3349 0 R 3351 0 R 3358 0 R 3363 0 R 3366 0 R 3368 0 R 3370 0 R 3372 0 R 3375 0 R 3393 0 R 3396 0 R 3401 0 R 3407 0 R 3417 0 R 3422 0 R 3432 0 R 3442 0 R 3450 0 R 3455 0 R 3461 0 R 3466 0 R 3469 0 R 3477 0 R 3481 0 R 3486 0 R 3491 0 R 3504 0 R 3507 0 R 3513 0 R 3518 0 R 3527 0 R 3536 0 R 3542 0 R 3551 0 R 3560 0 R 3565 0 R 3571 0 R 3577 0 R 3581 0 R 3583 0 R 3589 0 R 3596 0 R 3598 0 R 3604 0 R 3606 0 R 3612 0 R 3620 0 R 3626 0 R 3635 0 R 3642 0 R 3653 0 R 3663 0 R 3675 0 R 3688 0 R 3691 0 R 3693 0 R 3698 0 R 3713 0 R 3719 0 R 3725 0 R 3729 0 R 3732 0 R 3737 0 R 3739 0 R 3743 0 R 3745 0 R 3749 0 R 3752 0 R 3755 0 R 3763 0 R 3765 0 R 3769 0 R 3772 0 R 3780 0 R 3788 0 R 3792 0 R 3795 0 R 3797 0 R 3801 0 R 3806 0 R 3811 0 R 3814 0 R 3823 0 R 3828 0 R 3832 0 R 3835 0 R 3843 0 R 3848 0 R 3856 0 R 3861 0 R 3863 0 R 3869 0 R 3871 0 R 3876 0 R 3880 0 R 3886 0 R 3890 0 R 3902 0 R 3918 0 R 3933 0 R 3938 0 R 3941 0 R 3944 0 R 3950 0 
 R 3955 0 R 3957 0 R 3959 0 R 3961 0 R 3963 0 R 3965 0 R 3974 0 R 3978 0 R 3982 0 R 3986 0 R 3988 0 R 3995 0 R 4005 0 R 4014 0 R 4017 0 R 4020 0 R 4022 0 R 4029 0 R 4036 0 R 4046 0 R 4050 0 R 4053 0 R 4057 0 R 4061 0 R 4067 0 R 4070 0 R 4086 0 R 4091 0 R 4114 0 R 4118 0 R 4125 0 R 4136 0 R 4145 0 R 4148 0 R 4151 0 R 4154 0 R 4170 0 R 4175 0 R 4182 0 R]
+/Count 724
+/Kids [7 0 R 12 0 R 14 0 R 16 0 R 18 0 R 20 0 R 22 0 R 24 0 R 44 0 R 47 0 R 50 0 R 54 0 R 61 0 R 63 0 R 67 0 R 69 0 R 71 0 R 78 0 R 81 0 R 83 0 R 89 0 R 92 0 R 94 0 R 96 0 R 103 0 R 110 0 R 115 0 R 117 0 R 133 0 R 138 0 R 146 0 R 155 0 R 163 0 R 172 0 R 183 0 R 187 0 R 189 0 R 193 0 R 202 0 R 211 0 R 219 0 R 228 0 R 233 0 R 242 0 R 250 0 R 259 0 R 272 0 R 279 0 R 289 0 R 297 0 R 305 0 R 312 0 R 320 0 R 327 0 R 333 0 R 340 0 R 348 0 R 357 0 R 366 0 R 380 0 R 387 0 R 395 0 R 402 0 R 410 0 R 419 0 R 429 0 R 437 0 R 444 0 R 453 0 R 465 0 R 475 0 R 482 0 R 489 0 R 497 0 R 506 0 R 514 0 R 519 0 R 523 0 R 528 0 R 532 0 R 548 0 R 559 0 R 563 0 R 578 0 R 583 0 R 588 0 R 590 0 R 592 0 R 595 0 R 597 0 R 599 0 R 607 0 R 613 0 R 618 0 R 623 0 R 630 0 R 640 0 R 648 0 R 652 0 R 656 0 R 658 0 R 668 0 R 682 0 R 691 0 R 700 0 R 710 0 R 721 0 R 732 0 R 754 0 R 760 0 R 764 0 R 770 0 R 773 0 R 777 0 R 781 0 R 784 0 R 787 0 R 789 0 R 792 0 R 796 0 R 798 0 R 802 0 R 808 0 R 813 0 R 817 0 R 820 0 R 826 0 R
  828 0 R 832 0 R 840 0 R 842 0 R 845 0 R 848 0 R 851 0 R 854 0 R 868 0 R 876 0 R 887 0 R 898 0 R 904 0 R 914 0 R 925 0 R 928 0 R 932 0 R 935 0 R 940 0 R 949 0 R 957 0 R 961 0 R 965 0 R 970 0 R 974 0 R 976 0 R 992 0 R 1003 0 R 1008 0 R 1015 0 R 1018 0 R 1026 0 R 1034 0 R 1039 0 R 1044 0 R 1049 0 R 1051 0 R 1053 0 R 1055 0 R 1065 0 R 1073 0 R 1077 0 R 1084 0 R 1091 0 R 1099 0 R 1103 0 R 1109 0 R 1114 0 R 1122 0 R 1126 0 R 1131 0 R 1133 0 R 1139 0 R 1147 0 R 1153 0 R 1160 0 R 1171 0 R 1175 0 R 1177 0 R 1179 0 R 1183 0 R 1186 0 R 1191 0 R 1194 0 R 1206 0 R 1210 0 R 1216 0 R 1224 0 R 1229 0 R 1233 0 R 1237 0 R 1239 0 R 1242 0 R 1245 0 R 1248 0 R 1252 0 R 1256 0 R 1260 0 R 1265 0 R 1269 0 R 1272 0 R 1274 0 R 1284 0 R 1287 0 R 1295 0 R 1304 0 R 1310 0 R 1314 0 R 1316 0 R 1327 0 R 1330 0 R 1336 0 R 1344 0 R 1347 0 R 1354 0 R 1362 0 R 1364 0 R 1366 0 R 1375 0 R 1377 0 R 1379 0 R 1382 0 R 1384 0 R 1386 0 R 1388 0 R 1390 0 R 1393 0 R 1397 0 R 1402 0 R 1404 0 R 1406 0 R 1408 0 R 1413 0 R 1420 0
  R 1426 0 R 1429 0 R 1431 0 R 1434 0 R 1438 0 R 1442 0 R 1445 0 R 1447 0 R 1449 0 R 1452 0 R 1457 0 R 1463 0 R 1471 0 R 1485 0 R 1499 0 R 1502 0 R 1507 0 R 1520 0 R 1525 0 R 1540 0 R 1548 0 R 1552 0 R 1561 0 R 1576 0 R 1590 0 R 1598 0 R 1603 0 R 1614 0 R 1619 0 R 1625 0 R 1631 0 R 1643 0 R 1646 0 R 1655 0 R 1658 0 R 1667 0 R 1673 0 R 1677 0 R 1689 0 R 1694 0 R 1700 0 R 1702 0 R 1709 0 R 1717 0 R 1725 0 R 1729 0 R 1731 0 R 1733 0 R 1745 0 R 1751 0 R 1760 0 R 1766 0 R 1779 0 R 1785 0 R 1791 0 R 1802 0 R 1808 0 R 1813 0 R 1818 0 R 1821 0 R 1824 0 R 1829 0 R 1834 0 R 1841 0 R 1845 0 R 1850 0 R 1859 0 R 1864 0 R 1869 0 R 1871 0 R 1880 0 R 1887 0 R 1893 0 R 1898 0 R 1902 0 R 1906 0 R 1911 0 R 1916 0 R 1922 0 R 1924 0 R 1926 0 R 1929 0 R 1940 0 R 1943 0 R 1950 0 R 1958 0 R 1963 0 R 1967 0 R 1972 0 R 1974 0 R 1977 0 R 1982 0 R 1985 0 R 1987 0 R 1990 0 R 1993 0 R 1996 0 R 2006 0 R 2011 0 R 2016 0 R 2018 0 R 2026 0 R 2033 0 R 2040 0 R 2046 0 R 2051 0 R 2053 0 R 2062 0 R 2072 0 R 2082 0 R 2088
  0 R 2095 0 R 2097 0 R 2102 0 R 2104 0 R 2106 0 R 2110 0 R 2113 0 R 2116 0 R 2121 0 R 2125 0 R 2136 0 R 2139 0 R 2144 0 R 2147 0 R 2149 0 R 2154 0 R 2164 0 R 2166 0 R 2168 0 R 2170 0 R 2172 0 R 2175 0 R 2177 0 R 2179 0 R 2182 0 R 2184 0 R 2186 0 R 2190 0 R 2195 0 R 2204 0 R 2206 0 R 2208 0 R 2214 0 R 2216 0 R 2221 0 R 2223 0 R 2225 0 R 2232 0 R 2237 0 R 2241 0 R 2246 0 R 2250 0 R 2252 0 R 2254 0 R 2258 0 R 2261 0 R 2263 0 R 2265 0 R 2269 0 R 2271 0 R 2274 0 R 2276 0 R 2278 0 R 2280 0 R 2287 0 R 2290 0 R 2295 0 R 2297 0 R 2299 0 R 2301 0 R 2303 0 R 2311 0 R 2322 0 R 2336 0 R 2347 0 R 2351 0 R 2356 0 R 2360 0 R 2363 0 R 2368 0 R 2374 0 R 2376 0 R 2379 0 R 2381 0 R 2383 0 R 2385 0 R 2390 0 R 2392 0 R 2405 0 R 2408 0 R 2416 0 R 2422 0 R 2434 0 R 2448 0 R 2461 0 R 2480 0 R 2482 0 R 2484 0 R 2488 0 R 2506 0 R 2512 0 R 2524 0 R 2528 0 R 2532 0 R 2541 0 R 2553 0 R 2558 0 R 2568 0 R 2581 0 R 2600 0 R 2609 0 R 2612 0 R 2621 0 R 2638 0 R 2645 0 R 2648 0 R 2653 0 R 2657 0 R 2660 0 R 2669 0 R 26
 78 0 R 2681 0 R 2683 0 R 2687 0 R 2701 0 R 2710 0 R 2715 0 R 2719 0 R 2722 0 R 2724 0 R 2726 0 R 2728 0 R 2733 0 R 2746 0 R 2756 0 R 2764 0 R 2770 0 R 2775 0 R 2786 0 R 2793 0 R 2799 0 R 2801 0 R 2810 0 R 2818 0 R 2820 0 R 2828 0 R 2836 0 R 2838 0 R 2847 0 R 2850 0 R 2860 0 R 2864 0 R 2873 0 R 2881 0 R 2886 0 R 2890 0 R 2894 0 R 2896 0 R 2902 0 R 2906 0 R 2910 0 R 2916 0 R 2922 0 R 2925 0 R 2931 0 R 2935 0 R 2944 0 R 2949 0 R 2955 0 R 2965 0 R 2971 0 R 2978 0 R 2981 0 R 2984 0 R 2991 0 R 2996 0 R 2999 0 R 3004 0 R 3014 0 R 3019 0 R 3021 0 R 3025 0 R 3032 0 R 3035 0 R 3046 0 R 3049 0 R 3056 0 R 3064 0 R 3068 0 R 3078 0 R 3083 0 R 3087 0 R 3095 0 R 3100 0 R 3104 0 R 3106 0 R 3117 0 R 3122 0 R 3125 0 R 3127 0 R 3129 0 R 3139 0 R 3146 0 R 3150 0 R 3153 0 R 3159 0 R 3163 0 R 3166 0 R 3170 0 R 3175 0 R 3183 0 R 3188 0 R 3193 0 R 3198 0 R 3200 0 R 3203 0 R 3205 0 R 3209 0 R 3220 0 R 3222 0 R 3226 0 R 3229 0 R 3233 0 R 3236 0 R 3240 0 R 3242 0 R 3255 0 R 3260 0 R 3265 0 R 3271 0 R 3279 0 R 
 3281 0 R 3289 0 R 3307 0 R 3318 0 R 3325 0 R 3341 0 R 3344 0 R 3349 0 R 3351 0 R 3358 0 R 3363 0 R 3366 0 R 3368 0 R 3370 0 R 3372 0 R 3375 0 R 3393 0 R 3396 0 R 3401 0 R 3407 0 R 3417 0 R 3422 0 R 3432 0 R 3442 0 R 3450 0 R 3455 0 R 3461 0 R 3466 0 R 3469 0 R 3477 0 R 3481 0 R 3486 0 R 3491 0 R 3504 0 R 3507 0 R 3513 0 R 3519 0 R 3524 0 R 3533 0 R 3542 0 R 3548 0 R 3557 0 R 3566 0 R 3571 0 R 3577 0 R 3583 0 R 3587 0 R 3589 0 R 3595 0 R 3602 0 R 3604 0 R 3610 0 R 3612 0 R 3618 0 R 3626 0 R 3632 0 R 3641 0 R 3648 0 R 3659 0 R 3669 0 R 3681 0 R 3694 0 R 3697 0 R 3699 0 R 3704 0 R 3719 0 R 3725 0 R 3731 0 R 3735 0 R 3738 0 R 3743 0 R 3745 0 R 3749 0 R 3751 0 R 3755 0 R 3758 0 R 3761 0 R 3769 0 R 3771 0 R 3775 0 R 3778 0 R 3786 0 R 3794 0 R 3798 0 R 3801 0 R 3803 0 R 3807 0 R 3812 0 R 3817 0 R 3820 0 R 3829 0 R 3834 0 R 3838 0 R 3841 0 R 3849 0 R 3854 0 R 3862 0 R 3867 0 R 3869 0 R 3875 0 R 3877 0 R 3882 0 R 3886 0 R 3892 0 R 3896 0 R 3908 0 R 3924 0 R 3939 0 R 3944 0 R 3947 0 R 3950 0 
 R 3956 0 R 3961 0 R 3963 0 R 3965 0 R 3967 0 R 3969 0 R 3971 0 R 3980 0 R 3984 0 R 3988 0 R 3992 0 R 3994 0 R 4001 0 R 4011 0 R 4020 0 R 4023 0 R 4026 0 R 4028 0 R 4035 0 R 4042 0 R 4052 0 R 4056 0 R 4059 0 R 4063 0 R 4067 0 R 4073 0 R 4076 0 R 4092 0 R 4097 0 R 4120 0 R 4124 0 R 4131 0 R 4142 0 R 4151 0 R 4154 0 R 4157 0 R 4160 0 R 4176 0 R 4181 0 R 4188 0 R]
 >>
 endobj
 4 0 obj
@@ -187,11 +187,11 @@ endobj
 << /Type /Font
 /BaseFont /71be00+NotoSerif
 /Subtype /TrueType
-/FontDescriptor 4862 0 R
+/FontDescriptor 4871 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4864 0 R
-/ToUnicode 4863 0 R
+/Widths 4873 0 R
+/ToUnicode 4872 0 R
 >>
 endobj
 11 0 obj
@@ -1750,7 +1750,7 @@ endobj
 /F1.0 10 0 R
 >>
 >>
-/Annots [4184 0 R 4185 0 R 4186 0 R 4187 0 R 4188 0 R 4189 0 R 4190 0 R 4191 0 R 4192 0 R 4193 0 R 4194 0 R 4195 0 R 4196 0 R 4197 0 R 4198 0 R 4199 0 R 4200 0 R 4201 0 R 4202 0 R 4203 0 R 4204 0 R 4205 0 R 4206 0 R 4207 0 R 4208 0 R 4209 0 R 4210 0 R 4211 0 R 4212 0 R 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4220 0 R 4221 0 R 4222 0 R 4223 0 R 4224 0 R 4225 0 R 4226 0 R 4227 0 R 4228 0 R 4229 0 R 4230 0 R 4231 0 R 4232 0 R 4233 0 R 4234 0 R 4235 0 R 4236 0 R 4237 0 R 4238 0 R 4239 0 R 4240 0 R 4241 0 R 4242 0 R 4243 0 R 4244 0 R 4245 0 R 4246 0 R 4247 0 R 4248 0 R 4249 0 R 4250 0 R 4251 0 R 4252 0 R 4253 0 R 4254 0 R 4255 0 R 4256 0 R 4257 0 R 4258 0 R 4259 0 R]
+/Annots [4190 0 R 4191 0 R 4192 0 R 4193 0 R 4194 0 R 4195 0 R 4196 0 R 4197 0 R 4198 0 R 4199 0 R 4200 0 R 4201 0 R 4202 0 R 4203 0 R 4204 0 R 4205 0 R 4206 0 R 4207 0 R 4208 0 R 4209 0 R 4210 0 R 4211 0 R 4212 0 R 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4220 0 R 4221 0 R 4222 0 R 4223 0 R 4224 0 R 4225 0 R 4226 0 R 4227 0 R 4228 0 R 4229 0 R 4230 0 R 4231 0 R 4232 0 R 4233 0 R 4234 0 R 4235 0 R 4236 0 R 4237 0 R 4238 0 R 4239 0 R 4240 0 R 4241 0 R 4242 0 R 4243 0 R 4244 0 R 4245 0 R 4246 0 R 4247 0 R 4248 0 R 4249 0 R 4250 0 R 4251 0 R 4252 0 R 4253 0 R 4254 0 R 4255 0 R 4256 0 R 4257 0 R 4258 0 R 4259 0 R 4260 0 R 4261 0 R 4262 0 R 4263 0 R 4264 0 R 4265 0 R]
 >>
 endobj
 13 0 obj
@@ -3417,7 +3417,7 @@ endobj
 /Font << /F1.0 10 0 R
 >>
 >>
-/Annots [4260 0 R 4261 0 R 4262 0 R 4263 0 R 4264 0 R 4265 0 R 4266 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R 4272 0 R 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R 4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R 4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289 0 R 4290 0 R 4291 0 R 4292 0 R 4293 0 R 4294 0 R 4295 0 R 4296 0 R 4297 0 R 4298 0 R 4299 0 R 4300 0 R 4301 0 R 4302 0 R 4303 0 R 4304 0 R 4305 0 R 4306 0 R 4307 0 R 4308 0 R 4309 0 R 4310 0 R 4311 0 R 4312 0 R 4313 0 R 4314 0 R 4315 0 R 4316 0 R 4317 0 R 4318 0 R 4319 0 R 4320 0 R 4321 0 R 4322 0 R 4323 0 R 4324 0 R 4325 0 R 4326 0 R 4327 0 R 4328 0 R 4329 0 R 4330 0 R 4331 0 R 4332 0 R 4333 0 R 4334 0 R 4335 0 R 4336 0 R 4337 0 R 4338 0 R 4339 0 R 4340 0 R 4341 0 R]
+/Annots [4266 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R 4272 0 R 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R 4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R 4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289 0 R 4290 0 R 4291 0 R 4292 0 R 4293 0 R 4294 0 R 4295 0 R 4296 0 R 4297 0 R 4298 0 R 4299 0 R 4300 0 R 4301 0 R 4302 0 R 4303 0 R 4304 0 R 4305 0 R 4306 0 R 4307 0 R 4308 0 R 4309 0 R 4310 0 R 4311 0 R 4312 0 R 4313 0 R 4314 0 R 4315 0 R 4316 0 R 4317 0 R 4318 0 R 4319 0 R 4320 0 R 4321 0 R 4322 0 R 4323 0 R 4324 0 R 4325 0 R 4326 0 R 4327 0 R 4328 0 R 4329 0 R 4330 0 R 4331 0 R 4332 0 R 4333 0 R 4334 0 R 4335 0 R 4336 0 R 4337 0 R 4338 0 R 4339 0 R 4340 0 R 4341 0 R 4342 0 R 4343 0 R 4344 0 R 4345 0 R 4346 0 R 4347 0 R]
 >>
 endobj
 15 0 obj
@@ -5084,7 +5084,7 @@ endobj
 /Font << /F1.0 10 0 R
 >>
 >>
-/Annots [4342 0 R 4343 0 R 4344 0 R 4345 0 R 4346 0 R 4347 0 R 4348 0 R 4349 0 R 4350 0 R 4351 0 R 4352 0 R 4353 0 R 4354 0 R 4355 0 R 4356 0 R 4357 0 R 4358 0 R 4359 0 R 4360 0 R 4361 0 R 4362 0 R 4363 0 R 4364 0 R 4365 0 R 4366 0 R 4367 0 R 4368 0 R 4369 0 R 4370 0 R 4371 0 R 4372 0 R 4373 0 R 4374 0 R 4375 0 R 4376 0 R 4377 0 R 4378 0 R 4379 0 R 4380 0 R 4381 0 R 4382 0 R 4383 0 R 4384 0 R 4385 0 R 4386 0 R 4387 0 R 4388 0 R 4389 0 R 4390 0 R 4391 0 R 4392 0 R 4393 0 R 4394 0 R 4395 0 R 4396 0 R 4397 0 R 4398 0 R 4399 0 R 4400 0 R 4401 0 R 4402 0 R 4403 0 R 4404 0 R 4405 0 R 4406 0 R 4407 0 R 4408 0 R 4409 0 R 4410 0 R 4411 0 R 4412 0 R 4413 0 R 4414 0 R 4415 0 R 4416 0 R 4417 0 R 4418 0 R 4419 0 R 4420 0 R 4421 0 R 4422 0 R 4423 0 R]
+/Annots [4348 0 R 4349 0 R 4350 0 R 4351 0 R 4352 0 R 4353 0 R 4354 0 R 4355 0 R 4356 0 R 4357 0 R 4358 0 R 4359 0 R 4360 0 R 4361 0 R 4362 0 R 4363 0 R 4364 0 R 4365 0 R 4366 0 R 4367 0 R 4368 0 R 4369 0 R 4370 0 R 4371 0 R 4372 0 R 4373 0 R 4374 0 R 4375 0 R 4376 0 R 4377 0 R 4378 0 R 4379 0 R 4380 0 R 4381 0 R 4382 0 R 4383 0 R 4384 0 R 4385 0 R 4386 0 R 4387 0 R 4388 0 R 4389 0 R 4390 0 R 4391 0 R 4392 0 R 4393 0 R 4394 0 R 4395 0 R 4396 0 R 4397 0 R 4398 0 R 4399 0 R 4400 0 R 4401 0 R 4402 0 R 4403 0 R 4404 0 R 4405 0 R 4406 0 R 4407 0 R 4408 0 R 4409 0 R 4410 0 R 4411 0 R 4412 0 R 4413 0 R 4414 0 R 4415 0 R 4416 0 R 4417 0 R 4418 0 R 4419 0 R 4420 0 R 4421 0 R 4422 0 R 4423 0 R 4424 0 R 4425 0 R 4426 0 R 4427 0 R 4428 0 R 4429 0 R]
 >>
 endobj
 17 0 obj
@@ -6751,11 +6751,11 @@ endobj
 /Font << /F1.0 10 0 R
 >>
 >>
-/Annots [4424 0 R 4425 0 R 4426 0 R 4427 0 R 4428 0 R 4429 0 R 4430 0 R 4431 0 R 4432 0 R 4433 0 R 4434 0 R 4435 0 R 4436 0 R 4437 0 R 4438 0 R 4439 0 R 4440 0 R 4441 0 R 4442 0 R 4443 0 R 4444 0 R 4445 0 R 4446 0 R 4447 0 R 4448 0 R 4449 0 R 4450 0 R 4451 0 R 4452 0 R 4453 0 R 4454 0 R 4455 0 R 4456 0 R 4457 0 R 4458 0 R 4459 0 R 4460 0 R 4461 0 R 4462 0 R 4463 0 R 4464 0 R 4465 0 R 4466 0 R 4467 0 R 4468 0 R 4469 0 R 4470 0 R 4471 0 R 4472 0 R 4473 0 R 4474 0 R 4475 0 R 4476 0 R 4477 0 R 4478 0 R 4479 0 R 4480 0 R 4481 0 R 4482 0 R 4483 0 R 4484 0 R 4485 0 R 4486 0 R 4487 0 R 4488 0 R 4489 0 R 4490 0 R 4491 0 R 4492 0 R 4493 0 R 4494 0 R 4495 0 R 4496 0 R 4497 0 R 4498 0 R 4499 0 R 4500 0 R 4501 0 R 4502 0 R 4503 0 R 4504 0 R 4505 0 R]
+/Annots [4430 0 R 4431 0 R 4432 0 R 4433 0 R 4434 0 R 4435 0 R 4436 0 R 4437 0 R 4438 0 R 4439 0 R 4440 0 R 4441 0 R 4442 0 R 4443 0 R 4444 0 R 4445 0 R 4446 0 R 4447 0 R 4448 0 R 4449 0 R 4450 0 R 4451 0 R 4452 0 R 4453 0 R 4454 0 R 4455 0 R 4456 0 R 4457 0 R 4458 0 R 4459 0 R 4460 0 R 4461 0 R 4462 0 R 4463 0 R 4464 0 R 4465 0 R 4466 0 R 4467 0 R 4468 0 R 4469 0 R 4470 0 R 4471 0 R 4472 0 R 4473 0 R 4474 0 R 4475 0 R 4476 0 R 4477 0 R 4478 0 R 4479 0 R 4480 0 R 4481 0 R 4482 0 R 4483 0 R 4484 0 R 4485 0 R 4486 0 R 4487 0 R 4488 0 R 4489 0 R 4490 0 R 4491 0 R 4492 0 R 4493 0 R 4494 0 R 4495 0 R 4496 0 R 4497 0 R 4498 0 R 4499 0 R 4500 0 R 4501 0 R 4502 0 R 4503 0 R 4504 0 R 4505 0 R 4506 0 R 4507 0 R 4508 0 R 4509 0 R 4510 0 R 4511 0 R]
 >>
 endobj
 19 0 obj
-<< /Length 29400
+<< /Length 29395
 >>
 stream
 q
@@ -7847,7 +7847,7 @@ ET
 BT
 60.24 295.716 Td
 /F1.0 10.5 Tf
-[<3136362e2047656e6572> 20.0195 <6174696e6720746865204842617365205265666572656e6365204775696465>] TJ
+<3136362e20416e6e6f756e63696e672052656c6561736573> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -7856,9 +7856,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-277.5601 295.716 Td
+192.0481 295.716 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -7887,18 +7887,7 @@ ET
 BT
 60.24 277.236 Td
 /F1.0 10.5 Tf
-<3136372e205570646174696e6720> Tj
-ET
-
-0.0 0.0 0.0 SCN
-0.0 0.0 0.0 scn
-0.2 0.2 0.2 scn
-0.2 0.2 0.2 SCN
-
-BT
-131.6715 277.236 Td
-/F1.0 10.5 Tf
-<68626173652e6170616368652e6f7267> Tj
+[<3136372e2047656e6572> 20.0195 <6174696e6720746865204842617365205265666572656e6365204775696465>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -7907,9 +7896,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-218.7706 277.236 Td
+277.5601 277.236 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -7938,7 +7927,18 @@ ET
 BT
 60.24 258.756 Td
 /F1.0 10.5 Tf
-[<3136382e2054> 29.7852 <65737473>] TJ
+<3136382e205570646174696e6720> Tj
+ET
+
+0.0 0.0 0.0 SCN
+0.0 0.0 0.0 scn
+0.2 0.2 0.2 scn
+0.2 0.2 0.2 SCN
+
+BT
+131.6715 258.756 Td
+/F1.0 10.5 Tf
+<68626173652e6170616368652e6f7267> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -7947,9 +7947,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-111.8806 258.756 Td
+218.7706 258.756 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -7978,7 +7978,7 @@ ET
 BT
 60.24 240.276 Td
 /F1.0 10.5 Tf
-<3136392e20446576656c6f7065722047756964656c696e6573> Tj
+[<3136392e2054> 29.7852 <65737473>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -7987,9 +7987,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-192.0481 240.276 Td
+111.8806 240.276 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8007,7 +8007,7 @@ ET
 BT
 529.4315 240.276 Td
 /F1.0 10.5 Tf
-<363138> Tj
+<363035> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8016,9 +8016,9 @@ ET
 0.2 0.2 0.2 SCN
 
 BT
-48.24 221.796 Td
+60.24 221.796 Td
 /F1.0 10.5 Tf
-[<556e69742054> 29.7852 <657374696e67204842617365204170706c69636174696f6e73>] TJ
+<3137302e20446576656c6f7065722047756964656c696e6573> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8027,9 +8027,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-208.0816 221.796 Td
+192.0481 221.796 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8047,7 +8047,7 @@ ET
 BT
 529.4315 221.796 Td
 /F1.0 10.5 Tf
-<363332> Tj
+<363139> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8056,9 +8056,9 @@ ET
 0.2 0.2 0.2 SCN
 
 BT
-60.24 203.316 Td
+48.24 203.316 Td
 /F1.0 10.5 Tf
-<3137302e204a556e6974> Tj
+[<556e69742054> 29.7852 <657374696e67204842617365204170706c69636174696f6e73>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -8067,9 +8067,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-111.8806 203.316 Td
+208.0816 203.316 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8098,7 +8098,7 @@ ET
 BT
 60.24 184.836 Td
 /F1.0 10.5 Tf
-<3137312e204d6f636b69746f> Tj
+<3137312e204a556e6974> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8107,9 +8107,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-127.9141 184.836 Td
+111.8806 184.836 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8127,7 +8127,7 @@ ET
 BT
 529.4315 184.836 Td
 /F1.0 10.5 Tf
-<363335> Tj
+<363334> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8138,7 +8138,7 @@ ET
 BT
 60.24 166.356 Td
 /F1.0 10.5 Tf
-[<3137322e204d52> 9.7656 <556e6974>] TJ
+<3137322e204d6f636b69746f> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8147,9 +8147,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-122.5696 166.356 Td
+127.9141 166.356 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8167,7 +8167,7 @@ ET
 BT
 529.4315 166.356 Td
 /F1.0 10.5 Tf
-<363337> Tj
+<363336> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8178,7 +8178,7 @@ ET
 BT
 60.24 147.876 Td
 /F1.0 10.5 Tf
-[<3137332e20496e74656772> 20.0195 <6174696f6e2054> 29.7852 <657374696e67207769746820616e204842617365204d696e692d436c7573746572>] TJ
+[<3137332e204d52> 9.7656 <556e6974>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -8187,9 +8187,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-320.3161 147.876 Td
+122.5696 147.876 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8207,7 +8207,7 @@ ET
 BT
 529.4315 147.876 Td
 /F1.0 10.5 Tf
-<363339> Tj
+<363338> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8216,9 +8216,9 @@ ET
 0.2 0.2 0.2 SCN
 
 BT
-48.24 129.396 Td
+60.24 129.396 Td
 /F1.0 10.5 Tf
-<50726f746f62756620696e204842617365> Tj
+[<3137342e20496e74656772> 20.0195 <6174696f6e2054> 29.7852 <657374696e67207769746820616e204842617365204d696e692d436c7573746572>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -8227,9 +8227,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-143.9476 129.396 Td
+320.3161 129.396 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8247,7 +8247,7 @@ ET
 BT
 529.4315 129.396 Td
 /F1.0 10.5 Tf
-<363431> Tj
+<363430> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8256,9 +8256,9 @@ ET
 0.2 0.2 0.2 SCN
 
 BT
-60.24 110.916 Td
+48.24 110.916 Td
 /F1.0 10.5 Tf
-<3137342e2050726f746f627566> Tj
+<50726f746f62756620696e204842617365> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8267,9 +8267,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-127.9141 110.916 Td
+143.9476 110.916 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8296,9 +8296,9 @@ ET
 0.2 0.2 0.2 SCN
 
 BT
-48.24 92.436 Td
+60.24 92.436 Td
 /F1.0 10.5 Tf
-[<5a6f6f4b> 20.0195 <6565706572>] TJ
+<3137352e2050726f746f627566> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8307,9 +8307,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-106.5361 92.436 Td
+127.9141 92.436 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8327,7 +8327,7 @@ ET
 BT
 529.4315 92.436 Td
 /F1.0 10.5 Tf
-<363434> Tj
+<363433> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8336,9 +8336,9 @@ ET
 0.2 0.2 0.2 SCN
 
 BT
-60.24 73.956 Td
+48.24 73.956 Td
 /F1.0 10.5 Tf
-[<3137352e205573696e67206578697374696e67205a6f6f4b> 20.0195 <656570657220656e73656d626c65>] TJ
+[<5a6f6f4b> 20.0195 <6565706572>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -8347,9 +8347,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-261.5266 73.956 Td
+106.5361 73.956 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8367,7 +8367,7 @@ ET
 BT
 529.4315 73.956 Td
 /F1.0 10.5 Tf
-<363436> Tj
+<363435> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8378,7 +8378,7 @@ ET
 BT
 60.24 55.476 Td
 /F1.0 10.5 Tf
-[<3137362e2053> 20.0195 <41534c2041> 20.0195 <757468656e7469636174696f6e2077697468205a6f6f4b> 20.0195 <6565706572>] TJ
+[<3137362e205573696e67206578697374696e67205a6f6f4b> 20.0195 <656570657220656e73656d626c65>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -8387,9 +8387,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-272.2156 55.476 Td
+261.5266 55.476 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8429,11 +8429,11 @@ endobj
 /Font << /F1.0 10 0 R
 >>
 >>
-/Annots [4506 0 R 4507 0 R 4508 0 R 4509 0 R 4510 0 R 4511 0 R 4512 0 R 4513 0 R 4514 0 R 4515 0 R 4516 0 R 4517 0 R 4518 0 R 4519 0 R 4520 0 R 4521 0 R 4522 0 R 4523 0 R 4524 0 R 4525 0 R 4526 0 R 4527 0 R 4528 0 R 4529 0 R 4530 0 R 4531 0 R 4532 0 R 4533 0 R 4534 0 R 4535 0 R 4536 0 R 4537 0 R 4538 0 R 4539 0 R 4540 0 R 4541 0 R 4542 0 R 4543 0 R 4544 0 R 4545 0 R 4546 0 R 4547 0 R 4548 0 R 4549 0 R 4550 0 R 4551 0 R 4552 0 R 4553 0 R 4554 0 R 4555 0 R 4556 0 R 4557 0 R 4558 0 R 4559 0 R 4560 0 R 4561 0 R 4562 0 R 4563 0 R 4564 0 R 4565 0 R 4566 0 R 4567 0 R 4568 0 R 4569 0 R 4570 0 R 4571 0 R 4572 0 R 4573 0 R 4574 0 R 4575 0 R 4576 0 R 4577 0 R 4578 0 R 4579 0 R 4580 0 R 4581 0 R 4582 0 R 4583 0 R 4584 0 R 4585 0 R 4586 0 R 4587 0 R 4588 0 R 4589 0 R]
+/Annots [4512 0 R 4513 0 R 4514 0 R 4515 0 R 4516 0 R 4517 0 R 4518 0 R 4519 0 R 4520 0 R 4521 0 R 4522 0 R 4523 0 R 4524 0 R 4525 0 R 4526 0 R 4527 0 R 4528 0 R 4529 0 R 4530 0 R 4531 0 R 4532 0 R 4533 0 R 4534 0 R 4535 0 R 4536 0 R 4537 0 R 4538 0 R 4539 0 R 4540 0 R 4541 0 R 4542 0 R 4543 0 R 4544 0 R 4545 0 R 4546 0 R 4547 0 R 4548 0 R 4549 0 R 4550 0 R 4551 0 R 4552 0 R 4553 0 R 4554 0 R 4555 0 R 4556 0 R 4557 0 R 4558 0 R 4559 0 R 4560 0 R 4561 0 R 4562 0 R 4563 0 R 4564 0 R 4565 0 R 4566 0 R 4567 0 R 4568 0 R 4569 0 R 4570 0 R 4571 0 R 4572 0 R 4573 0 R 4574 0 R 4575 0 R 4576 0 R 4577 0 R 4578 0 R 4579 0 R 4580 0 R 4581 0 R 4582 0 R 4583 0 R 4584 0 R 4585 0 R 4586 0 R 4587 0 R 4588 0 R 4589 0 R 4590 0 R 4591 0 R 4592 0 R 4593 0 R 4594 0 R 4595 0 R]
 >>
 endobj
 21 0 obj
-<< /Length 14810
+<< /Length 15523
 >>
 stream
 q
@@ -8443,9 +8443,9 @@ q
 0.2 0.2 0.2 SCN
 
 BT
-48.24 794.676 Td
+60.24 794.676 Td
 /F1.0 10.5 Tf
-<436f6d6d756e697479> Tj
+[<3137372e2053> 20.0195 <41534c2041> 20.0195 <757468656e7469636174696f6e2077697468205a6f6f4b> 20.0195 <6565706572>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -8454,9 +8454,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-111.8806 794.676 Td
+272.2156 794.676 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8474,7 +8474,7 @@ ET
 BT
 529.4315 794.676 Td
 /F1.0 10.5 Tf
-<363534> Tj
+<363438> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8483,9 +8483,9 @@ ET
 0.2 0.2 0.2 SCN
 
 BT
-60.24 776.196 Td
+48.24 776.196 Td
 /F1.0 10.5 Tf
-<3137372e204465636973696f6e73> Tj
+<436f6d6d756e697479> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8494,9 +8494,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-133.2586 776.196 Td
+111.8806 776.196 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8525,7 +8525,7 @@ ET
 BT
 60.24 757.716 Td
 /F1.0 10.5 Tf
-<3137382e20436f6d6d756e69747920526f6c6573> Tj
+<3137382e204465636973696f6e73> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8534,9 +8534,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-176.0146 757.716 Td
+133.2586 757.716 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8565,7 +8565,7 @@ ET
 BT
 60.24 739.236 Td
 /F1.0 10.5 Tf
-<3137392e20436f6d6d6974204d65737361676520666f726d6174> Tj
+<3137392e20436f6d6d756e69747920526f6c6573> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8574,9 +8574,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-208.0816 739.236 Td
+176.0146 739.236 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8603,9 +8603,9 @@ ET
 0.2 0.2 0.2 SCN
 
 BT
-48.24 720.756 Td
+60.24 720.756 Td
 /F1.0 10.5 Tf
-<417070656e646978> Tj
+<3138302e20436f6d6d6974204d65737361676520666f726d6174> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8614,9 +8614,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-101.1916 720.756 Td
+208.0816 720.756 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8643,9 +8643,9 @@ ET
 0.2 0.2 0.2 SCN
 
 BT
-60.24 702.276 Td
+48.24 702.276 Td
 /F1.0 10.5 Tf
-<417070656e64697820413a20436f6e747269627574696e6720746f20446f63756d656e746174696f6e> Tj
+<417070656e646978> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8654,9 +8654,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-282.9046 702.276 Td
+101.1916 702.276 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8685,7 +8685,7 @@ ET
 BT
 60.24 683.796 Td
 /F1.0 10.5 Tf
-[<417070656e64697820423a2046> 69.8242 <41> 20.0195 <51>] TJ
+<417070656e64697820413a20436f6e747269627574696e6720746f20446f63756d656e746174696f6e> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8694,9 +8694,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-149.2921 683.796 Td
+282.9046 683.796 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8714,7 +8714,7 @@ ET
 BT
 529.4315 683.796 Td
 /F1.0 10.5 Tf
-<363730> Tj
+<363630> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8725,7 +8725,7 @@ ET
 BT
 60.24 665.316 Td
 /F1.0 10.5 Tf
-<417070656e64697820433a206862636b20496e204465707468> Tj
+[<417070656e64697820423a2046> 69.8242 <41> 20.0195 <51>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -8734,9 +8734,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-197.3926 665.316 Td
+149.2921 665.316 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8754,7 +8754,7 @@ ET
 BT
 529.4315 665.316 Td
 /F1.0 10.5 Tf
-<363733> Tj
+<363731> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8765,7 +8765,7 @@ ET
 BT
 60.24 646.836 Td
 /F1.0 10.5 Tf
-[<417070656e64697820443a2041> 20.0195 <636365737320436f6e74726f6c204d6174726978>] TJ
+<417070656e64697820433a206862636b20496e204465707468> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8774,9 +8774,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-234.8041 646.836 Td
+197.3926 646.836 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8794,7 +8794,7 @@ ET
 BT
 529.4315 646.836 Td
 /F1.0 10.5 Tf
-<363737> Tj
+<363734> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8805,7 +8805,7 @@ ET
 BT
 60.24 628.356 Td
 /F1.0 10.5 Tf
-<417070656e64697820453a20436f6d7072657373696f6e20616e64204461746120426c6f636b20456e636f64696e6720496e204842617365> Tj
+[<417070656e64697820443a2041> 20.0195 <636365737320436f6e74726f6c204d6174726978>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -8814,9 +8814,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-368.4166 628.356 Td
+234.8041 628.356 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8834,7 +8834,7 @@ ET
 BT
 529.4315 628.356 Td
 /F1.0 10.5 Tf
-<363833> Tj
+<363738> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8845,7 +8845,7 @@ ET
 BT
 60.24 609.876 Td
 /F1.0 10.5 Tf
-<417070656e64697820463a2053514c206f766572204842617365> Tj
+<417070656e64697820453a20436f6d7072657373696f6e20616e64204461746120426c6f636b20456e636f64696e6720496e204842617365> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8854,9 +8854,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-208.0816 609.876 Td
+368.4166 609.876 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8874,7 +8874,7 @@ ET
 BT
 529.4315 609.876 Td
 /F1.0 10.5 Tf
-<363934> Tj
+<363834> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8885,7 +8885,7 @@ ET
 BT
 60.24 591.396 Td
 /F1.0 10.5 Tf
-[<417070656e64697820473a2059> 29.7852 <435342>] TJ
+<417070656e64697820463a2053514c206f766572204842617365> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8894,9 +8894,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-154.6366 591.396 Td
+208.0816 591.396 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8925,7 +8925,7 @@ ET
 BT
 60.24 572.916 Td
 /F1.0 10.5 Tf
-<417070656e64697820483a204846696c6520666f726d6174> Tj
+[<417070656e64697820473a2059> 29.7852 <435342>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -8934,9 +8934,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-192.0481 572.916 Td
+154.6366 572.916 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8965,7 +8965,7 @@ ET
 BT
 60.24 554.436 Td
 /F1.0 10.5 Tf
-<417070656e64697820493a204f7468657220496e666f726d6174696f6e2041626f7574204842617365> Tj
+<417070656e64697820483a204846696c6520666f726d6174> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8974,9 +8974,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-282.9046 554.436 Td
+192.0481 554.436 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -8994,7 +8994,7 @@ ET
 BT
 529.4315 554.436 Td
 /F1.0 10.5 Tf
-<373035> Tj
+<363937> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9005,7 +9005,7 @@ ET
 BT
 60.24 535.956 Td
 /F1.0 10.5 Tf
-<417070656e646978204a3a20484261736520486973746f7279> Tj
+<417070656e64697820493a204f7468657220496e666f726d6174696f6e2041626f7574204842617365> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9014,9 +9014,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-197.3926 535.956 Td
+282.9046 535.956 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9045,7 +9045,7 @@ ET
 BT
 60.24 517.476 Td
 /F1.0 10.5 Tf
-[<417070656e646978204b3a20484261736520616e64207468652041706163686520536f6674776172652046> 40.0391 <6f756e646174696f6e>] TJ
+<417070656e646978204a3a20484261736520486973746f7279> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9054,9 +9054,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-347.0386 517.476 Td
+197.3926 517.476 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9085,7 +9085,7 @@ ET
 BT
 60.24 498.996 Td
 /F1.0 10.5 Tf
-<417070656e646978204c3a20417061636865204842617365204f726361> Tj
+[<417070656e646978204b3a20484261736520616e64207468652041706163686520536f6674776172652046> 40.0391 <6f756e646174696f6e>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -9094,9 +9094,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-224.1151 498.996 Td
+347.0386 498.996 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9125,7 +9125,7 @@ ET
 BT
 60.24 480.516 Td
 /F1.0 10.5 Tf
-[<417070656e646978204d3a20456e61626c696e67204461707065722d6c696b> 20.0195 <65205472> 20.0195 <6163696e6720696e204842617365>] TJ
+<417070656e646978204c3a20417061636865204842617365204f726361> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9134,9 +9134,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-325.6606 480.516 Td
+224.1151 480.516 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9165,7 +9165,7 @@ ET
 BT
 60.24 462.036 Td
 /F1.0 10.5 Tf
-<3138302e20436c69656e74204d6f64696669636174696f6e73> Tj
+[<417070656e646978204d3a20456e61626c696e67204461707065722d6c696b> 20.0195 <65205472> 20.0195 <6163696e6720696e204842617365>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -9174,9 +9174,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-186.7036 462.036 Td
+325.6606 462.036 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9194,7 +9194,7 @@ ET
 BT
 529.4315 462.036 Td
 /F1.0 10.5 Tf
-<373131> Tj
+<373130> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9205,7 +9205,7 @@ ET
 BT
 60.24 443.556 Td
 /F1.0 10.5 Tf
-[<3138312e205472> 20.0195 <6163696e672066726f6d204842617365205368656c6c>] TJ
+<3138312e20436c69656e74204d6f64696669636174696f6e73> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9214,9 +9214,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-213.4261 443.556 Td
+186.7036 443.556 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9245,7 +9245,7 @@ ET
 BT
 60.24 425.076 Td
 /F1.0 10.5 Tf
-<417070656e646978204e3a20302e3935205250432053706563696669636174696f6e> Tj
+[<3138322e205472> 20.0195 <6163696e672066726f6d204842617365205368656c6c>] TJ
 ET
 
 0.0 0.0 0.0 SCN
@@ -9254,9 +9254,9 @@ ET
 0.6627 0.6627 0.6627 SCN
 
 BT
-240.1486 425.076 Td
+213.4261 425.076 Td
 /F1.0 10.5 Tf
-<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
 ET
 
 0.0 0.0 0.0 SCN
@@ -9279,6 +9279,46 @@ ET
 
 0.0 0.0 0.0 SCN
 0.0 0.0 0.0 scn
+0.2 0.2 0.2 scn
+0.2 0.2 0.2 SCN
+
+BT
+60.24 406.596 Td
+/F1.0 10.5 Tf
+<417070656e646978204e3a20302e3935205250432053706563696669636174696f6e> Tj
+ET
+
+0.0 0.0 0.0 SCN
+0.0 0.0 0.0 scn
+0.6627 0.6627 0.6627 scn
+0.6627 0.6627 0.6627 SCN
+
+BT
+240.1486 406.596 Td
+/F1.0 10.5 Tf
+<2e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e202e20> Tj
+ET
+
+0.0 0.0 0.0 SCN
+0.0 0.0 0.0 scn
+
+BT
+528.7516 406.596 Td
+/F1.0 2.625 Tf
+<ca> Tj
+ET
+
+0.2 0.2 0.2 scn
+0.2 0.2 0.2 SCN
+
+BT
+529.4315 406.596 Td
+/F1.0 10.5 Tf
+<373134> Tj
+ET
+
+0.0 0.0 0.0 SCN
+0.0 0.0 0.0 scn
 Q
 
 endstream
@@ -9296,7 +9336,7 @@ endobj
 /Font << /F1.0 10 0 R
 >>
 >>
-/Annots [4590 0 R 4591 0 R 4592 0 R 4593 0 R 4594 0 R 4595 0 R 4596 0 R 4597 0 R 4598 0 R 4599 0 R 4600 0 R 4601 0 R 4602 0 R 4603 0 R 4604 0 R 4605 0 R 4606 0 R 4607 0 R 4608 0 R 4609 0 R 4610 0 R 4611 0 R 4612 0 R 4613 0 R 4614 0 R 4615 0 R 4616 0 R 4617 0 R 4618 0 R 4619 0 R 4620 0 R 4621 0 R 4622 0 R 4623 0 R 4624 0 R 4625 0 R 4626 0 R 4627 0 R 4628 0 R 4629 0 R 4630 0 R 4631 0 R]
+/Annots [4596 0 R 4597 0 R 4598 0 R 4599 0 R 4600 0 R 4601 0 R 4602 0 R 4603 0 R 4604 0 R 4605 0 R 4606 0 R 4607 0 R 4608 0 R 4609 0 R 4610 0 R 4611 0 R 4612 0 R 4613 0 R 4614 0 R 4615 0 R 4616 0 R 4617 0 R 4618 0 R 4619 0 R 4620 0 R 4621 0 R 4622 0 R 4623 0 R 4624 0 R 4625 0 R 4626 0 R 4627 0 R 4628 0 R 4629 0 R 4630 0 R 4631 0 R 4632 0 R 4633 0 R 4634 0 R 4635 0 R 4636 0 R 4637 0 R 4638 0 R 4639 0 R]
 >>
 endobj
 23 0 obj
@@ -10108,7 +10148,7 @@ endobj
 /F4.0 35 0 R
 /F1.1 38 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [30 0 R 31 0 R 32 0 R 34 0 R 36 0 R 37 0 R 39 0 R 40 0 R 41 0 R]
@@ -10123,7 +10163,7 @@ endobj
 >>
 endobj
 27 0 obj
-<< /Kids [643 0 R 3651 0 R 1933 0 R 644 0 R 4011 0 R 1163 0 R 2548 0 R 3783 0 R]
+<< /Kids [643 0 R 3657 0 R 1933 0 R 644 0 R 4017 0 R 1163 0 R 2548 0 R 3789 0 R]
 >>
 endobj
 28 0 obj
@@ -10133,11 +10173,11 @@ endobj
 << /Type /Font
 /BaseFont /358635+NotoSerif-Bold
 /Subtype /TrueType
-/FontDescriptor 4866 0 R
+/FontDescriptor 4875 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4868 0 R
-/ToUnicode 4867 0 R
+/Widths 4877 0 R
+/ToUnicode 4876 0 R
 >>
 endobj
 30 0 obj
@@ -10177,11 +10217,11 @@ endobj
 << /Type /Font
 /BaseFont /260f03+NotoSerif-Italic
 /Subtype /TrueType
-/FontDescriptor 4870 0 R
+/FontDescriptor 4879 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4872 0 R
-/ToUnicode 4871 0 R
+/Widths 4881 0 R
+/ToUnicode 4880 0 R
 >>
 endobj
 34 0 obj
@@ -10199,11 +10239,11 @@ endobj
 << /Type /Font
 /BaseFont /c7d210+mplus1mn-regular
 /Subtype /TrueType
-/FontDescriptor 4874 0 R
+/FontDescriptor 4883 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4876 0 R
-/ToUnicode 4875 0 R
+/Widths 4885 0 R
+/ToUnicode 4884 0 R
 >>
 endobj
 36 0 obj
@@ -10229,11 +10269,11 @@ endobj
 << /Type /Font
 /BaseFont /34c70d+NotoSerif
 /Subtype /TrueType
-/FontDescriptor 4878 0 R
+/FontDescriptor 4887 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4880 0 R
-/ToUnicode 4879 0 R
+/Widths 4889 0 R
+/ToUnicode 4888 0 R
 >>
 endobj
 39 0 obj
@@ -10667,7 +10707,7 @@ endobj
 /F5.1 45 0 R
 /F2.0 29 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -10676,11 +10716,11 @@ endobj
 << /Type /Font
 /BaseFont /26ec65+FontAwesome
 /Subtype /TrueType
-/FontDescriptor 4882 0 R
+/FontDescriptor 4891 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4884 0 R
-/ToUnicode 4883 0 R
+/Widths 4893 0 R
+/ToUnicode 4892 0 R
 >>
 endobj
 46 0 obj
@@ -10738,7 +10778,7 @@ endobj
 /Font << /F2.0 29 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -10823,7 +10863,7 @@ endobj
 /Font << /F2.0 29 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [52 0 R]
@@ -12396,7 +12436,7 @@ endobj
 /F1.1 38 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [57 0 R 59 0 R]
@@ -13516,7 +13556,7 @@ endobj
 /F1.0 10 0 R
 /F5.1 45 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -14395,7 +14435,7 @@ endobj
 /F3.0 33 0 R
 /F5.1 45 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [64 0 R]
@@ -15185,7 +15225,7 @@ endobj
 /Font << /F4.0 35 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -15904,7 +15944,7 @@ endobj
 /Font << /F4.0 35 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -16780,7 +16820,7 @@ endobj
 /F2.0 29 0 R
 /F5.1 45 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [73 0 R 74 0 R 75 0 R 76 0 R]
@@ -17770,7 +17810,7 @@ endobj
 /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [79 0 R]
@@ -18693,7 +18733,7 @@ endobj
 /F4.0 35 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -20204,7 +20244,7 @@ endobj
 /F4.0 35 0 R
 /F5.1 45 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [84 0 R 86 0 R]
@@ -21552,7 +21592,7 @@ endobj
 /F4.0 35 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [90 0 R]
@@ -22626,7 +22666,7 @@ endobj
 /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -23349,7 +23389,7 @@ endobj
 /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -23988,7 +24028,7 @@ endobj
 /F4.0 35 0 R
 /F2.0 29 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [97 0 R 98 0 R 99 0 R 101 0 R]
@@ -24232,7 +24272,7 @@ endobj
 /Font << /F2.0 29 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [105 0 R 106 0 R 107 0 R 108 0 R]
@@ -25104,7 +25144,7 @@ endobj
 /F4.0 35 0 R
 /F5.1 45 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [112 0 R 113 0 R]
@@ -25384,7 +25424,7 @@ endobj
 /F1.0 10 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -26864,7 +26904,7 @@ endobj
 /F5.1 45 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R 126 0 R 128 0 R 129 0 R 130 0 R 131 0 R]
@@ -27904,7 +27944,7 @@ endobj
 /F2.0 29 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [134 0 R 136 0 R]
@@ -28657,7 +28697,7 @@ endobj
 /F2.0 29 0 R
 /F5.1 45 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [139 0 R 141 0 R 142 0 R 143 0 R 144 0 R]
@@ -31216,7 +31256,7 @@ endobj
 /F2.0 29 0 R
 /F5.1 45 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [147 0 R 148 0 R 149 0 R 150 0 R 151 0 R 152 0 R 153 0 R]
@@ -32017,7 +32057,7 @@ endobj
 /F2.0 29 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [159 0 R 160 0 R]
@@ -32028,7 +32068,7 @@ endobj
 endobj
 157 0 obj
 << /Limits [(__anchor-top) (adding.new.node)]
-/Names [(__anchor-top) 25 0 R (__indexterm-2002) 3545 0 R (__indexterm-2004) 3547 0 R (__indexterm-2006) 3549 0 R (__indexterm-2008) 3552 0 R (acid) 936 0 R (acl) 3356 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3645 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3647 0 R (add.metrics) 3643 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3887 0 R (adding.new.node) 3102 0 R]
+/Names [(__anchor-top) 25 0 R (__indexterm-2002) 3551 0 R (__indexterm-2004) 3553 0 R (__indexterm-2006) 3555 0 R (__indexterm-2008) 3558 0 R (acid) 936 0 R (acl) 3356 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3651 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3653 0 R (add.metrics) 3649 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3893 0 R (adding.new.node) 3102 0 R]
 >>
 endobj
 158 0 obj
@@ -33172,7 +33212,7 @@ endobj
 /F4.0 35 0 R
 /F1.1 38 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [165 0 R 166 0 R 168 0 R]
@@ -33972,7 +34012,7 @@ endobj
 /F5.1 45 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [173 0 R 174 0 R 175 0 R 177 0 R 178 0 R 180 0 R 181 0 R]
@@ -35444,7 +35484,7 @@ endobj
 /F1.0 10 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [184 0 R 185 0 R]
@@ -35869,7 +35909,7 @@ endobj
 /F4.0 35 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -36525,7 +36565,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [191 0 R]
@@ -37292,7 +37332,7 @@ endobj
 /F4.0 35 0 R
 /F1.1 38 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [196 0 R]
@@ -37823,7 +37863,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -37839,7 +37879,7 @@ endobj
 endobj
 206 0 obj
 << /Limits [(getshortmidpointkey-an-optimization-for-data-index-block) (handling-of-errors-during-log-splitting)]
-/Names [(getshortmidpointkey-an-optimization-for-data-index-block) 4068 0 R (getting.involved) 3376 0 R (getting_started) 48 0 R (git.best.practices) 3648 0 R (git.patch.flow) 3703 0 R (goals) 4162 0 R (guide-for-hbase-committers) 3677 0 R (guidelines-for-deploying-a-coprocessor) 2386 0 R (guidelines-for-reporting-effective-issues) 3394 0 R (hadoop) 140 0 R (hadoop.native.lib) 3984 0 R (hadoop.policy.file) 383 0 R (handling-of-errors-during-log-splitting) 1678 0 R]
+/Names [(getshortmidpointkey-an-optimization-for-data-index-block) 4074 0 R (getting.involved) 3376 0 R (getting_started) 48 0 R (git.best.practices) 3654 0 R (git.patch.flow) 3709 0 R (goals) 4168 0 R (guide-for-hbase-committers) 3683 0 R (guidelines-for-deploying-a-coprocessor) 2386 0 R (guidelines-for-reporting-effective-issues) 3394 0 R (hadoop) 140 0 R (hadoop.native.lib) 3990 0 R (hadoop.policy.file) 383 0 R (handling-of-errors-during-log-splitting) 1678 0 R]
 >>
 endobj
 207 0 obj
@@ -38369,7 +38409,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -38891,7 +38931,7 @@ endobj
 /F1.0 10 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -39526,7 +39566,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -40035,7 +40075,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -40566,7 +40606,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -41145,7 +41185,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [252 0 R 253 0 R]
@@ -41712,7 +41752,7 @@ endobj
 /F1.0 10 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [261 0 R 262 0 R 264 0 R 265 0 R]
@@ -41776,7 +41816,7 @@ endobj
 endobj
 268 0 obj
 << /Limits [(hbase.table.lock.enable) (hbase.tmp.dir)]
-/Names [(hbase.table.lock.enable) 408 0 R (hbase.table.max.rowsize) 411 0 R (hbase.tags) 1355 0 R (hbase.tests) 3528 0 R (hbase.tests.categories) 3572 0 R (hbase.tests.cluster) 3574 0 R (hbase.tests.example.code) 3575 0 R (hbase.tests.rules) 3568 0 R (hbase.tests.sleeps) 3573 0 R (hbase.tests.writing) 3567 0 R (hbase.thrift.maxQueuedRequests) 415 0 R (hbase.thrift.maxWorkerThreads) 414 0 R (hbase.thrift.minWorkerThreads) 413 0 R (hbase.tmp.dir) 198 0 R]
+/Names [(hbase.table.lock.enable) 408 0 R (hbase.table.max.rowsize) 411 0 R (hbase.tags) 1355 0 R (hbase.tests) 3534 0 R (hbase.tests.categories) 3578 0 R (hbase.tests.cluster) 3580 0 R (hbase.tests.example.code) 3581 0 R (hbase.tests.rules) 3574 0 R (hbase.tests.sleeps) 3579 0 R (hbase.tests.writing) 3573 0 R (hbase.thrift.maxQueuedRequests) 415 0 R (hbase.thrift.maxWorkerThreads) 414 0 R (hbase.thrift.minWorkerThreads) 413 0 R (hbase.tmp.dir) 198 0 R]
 >>
 endobj
 269 0 obj
@@ -42332,7 +42372,7 @@ endobj
 /F1.0 10 0 R
 /F1.1 38 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -42927,7 +42967,7 @@ endobj
 /F4.0 35 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [285 0 R 286 0 R]
@@ -42947,7 +42987,7 @@ endobj
 endobj
 284 0 obj
 << /Limits [(hbase.cluster.distributed) (hbase.data.umask.enable)]
-/Names [(hbase.cluster.distributed) 200 0 R (hbase.column.max.version) 434 0 R (hbase.commit.msg.format) 3829 0 R (hbase.coordinated.state.manager.class) 477 0 R (hbase.coprocessor.abortonerror) 399 0 R (hbase.coprocessor.enabled) 392 0 R (hbase.coprocessor.master.classes) 398 0 R (hbase.coprocessor.region.classes) 397 0 R (hbase.coprocessor.user.enabled) 396 0 R (hbase.data.umask) 425 0 R (hbase.data.umask.enable) 424 0 R]
+/Names [(hbase.cluster.distributed) 200 0 R (hbase.column.max.version) 434 0 R (hbase.commit.msg.format) 3835 0 R (hbase.coordinated.state.manager.class) 477 0 R (hbase.coprocessor.abortonerror) 399 0 R (hbase.coprocessor.enabled) 392 0 R (hbase.coprocessor.master.classes) 398 0 R (hbase.coprocessor.region.classes) 397 0 R (hbase.coprocessor.user.enabled) 396 0 R (hbase.data.umask) 425 0 R (hbase.data.umask.enable) 424 0 R]
 >>
 endobj
 285 0 obj
@@ -43493,7 +43533,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -43984,7 +44024,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -44556,7 +44596,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -45117,7 +45157,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -45714,7 +45754,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -46318,7 +46358,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -46861,7 +46901,7 @@ endobj
 /F1.0 10 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -47369,7 +47409,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -47944,7 +47984,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [350 0 R 354 0 R]
@@ -48513,7 +48553,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -48523,7 +48563,7 @@ endobj
 endobj
 359 0 obj
 << /Limits [(quota) (regions.arch)]
-/Names [(quota) 3214 0 R (read-api-and-usage) 1937 0 R (read-hbase-shell-commands-from-a-command-file) 785 0 R (reading-filtering-and-sending-edits) 3194 0 R (reading_cells_with_labels) 1409 0 R (recommended.configurations.hdfs) 546 0 R (recommended_configurations) 541 0 R (recommended_configurations.zk) 542 0 R (region-overlap-repairs) 3942 0 R (region-replication-for-meta-table-s-region) 1914 0 R (regions.arch) 1710 0 R]
+/Names [(quota) 3214 0 R (read-api-and-usage) 1937 0 R (read-hbase-shell-commands-from-a-command-file) 785 0 R (reading-filtering-and-sending-edits) 3194 0 R (reading_cells_with_labels) 1409 0 R (recommended.configurations.hdfs) 546 0 R (recommended_configurations) 541 0 R (recommended_configurations.zk) 542 0 R (region-overlap-repairs) 3948 0 R (region-replication-for-meta-table-s-region) 1914 0 R (regions.arch) 1710 0 R]
 >>
 endobj
 360 0 obj
@@ -49124,7 +49164,7 @@ endobj
 /F4.0 35 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [370 0 R 371 0 R 373 0 R 375 0 R 376 0 R]
@@ -49135,7 +49175,7 @@ endobj
 endobj
 368 0 obj
 << /Limits [(hbase.regionserver.thrift.compact) (hbase.rootdir.perms)]
-/Names [(hbase.regionserver.thrift.compact) 420 0 R (hbase.regionserver.thrift.framed) 416 0 R (hbase.regionserver.thrift.framed.max_frame_size_in_mb) 417 0 R (hbase.replication.management) 3164 0 R (hbase.replication.rpc.codec) 486 0 R (hbase.replication.source.maxthreads) 487 0 R (hbase.rest-csrf.browser-useragents-regex) 470 0 R (hbase.rest.csrf.enabled) 469 0 R (hbase.rest.filter.classes) 458 0 R (hbase.rest.port) 400 0 R (hbase.rest.readonly) 403 0 R (hbase.rest.support.proxyuser) 406 0 R (hbase.rest.threads.max) 404 0 R (hbase.rest.threads.min) 405 0 R (hbase.rolling.restart) 635 0 R (hbase.rolling.upgrade) 631 0 R (hbase.rootdir) 199 0 R (hbase.rootdir.perms) 421 0 R]
+/Names [(hbase.regionserver.thrift.compact) 420 0 R (hbase.regionserver.thrift.framed) 416 0 R (hbase.regionserver.thrift.framed.max_frame_size_in_mb) 417 0 R (hbase.release.announcement) 3514 0 R (hbase.replication.management) 3164 0 R (hbase.replication.rpc.codec) 486 0 R (hbase.replication.source.maxthreads) 487 0 R (hbase.rest-csrf.browser-useragents-regex) 470 0 R (hbase.rest.csrf.enabled) 469 0 R (hbase.rest.filter.classes) 458 0 R (hbase.rest.port) 400 0 R (hbase.rest.readonly) 403 0 R (hbase.rest.support.proxyuser) 406 0 R (hbase.rest.threads.max) 404 0 R (hbase.rest.threads.min) 405 0 R (hbase.rolling.restart) 635 0 R (hbase.rolling.upgrade) 631 0 R (hbase.rootdir) 199 0 R (hbase.rootdir.perms) 421 0 R]
 >>
 endobj
 369 0 obj
@@ -49715,7 +49755,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -50257,7 +50297,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -50808,7 +50848,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -51327,7 +51367,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -51845,7 +51885,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -51855,7 +51895,7 @@ endobj
 endobj
 412 0 obj
 << /Limits [(hbase.zookeeper.property.maxClientCnxns) (hfile.block.index.cacheonwrite)]
-/Names [(hbase.zookeeper.property.maxClientCnxns) 273 0 R (hbase.zookeeper.property.syncLimit) 267 0 R (hbase.zookeeper.quorum) 203 0 R (hbase_apis) 2140 0 R (hbase_default_configurations) 197 0 R (hbase_env) 530 0 R (hbase_metrics) 3107 0 R (hbase_mob) 1951 0 R (hbase_site) 526 0 R (hbase_supported_tested_definitions) 42 0 R (hbck) 3005 0 R (hbck.in.depth) 3934 0 R (health.check) 3001 0 R (hedged.reads) 2604 0 R (hfile) 1767 0 R (hfile-format) 1768 0 R (hfile-format-2) 4037 0 R (hfile.block.bloom.cacheonwrite) 355 0 R (hfile.block.cache.size) 344 0 R (hfile.block.index.cacheonwrite) 345 0 R]
+/Names [(hbase.zookeeper.property.maxClientCnxns) 273 0 R (hbase.zookeeper.property.syncLimit) 267 0 R (hbase.zookeeper.quorum) 203 0 R (hbase_apis) 2140 0 R (hbase_default_configurations) 197 0 R (hbase_env) 530 0 R (hbase_metrics) 3107 0 R (hbase_mob) 1951 0 R (hbase_site) 526 0 R (hbase_supported_tested_definitions) 42 0 R (hbck) 3005 0 R (hbck.in.depth) 3940 0 R (health.check) 3001 0 R (hedged.reads) 2604 0 R (hfile) 1767 0 R (hfile-format) 1768 0 R (hfile-format-2) 4043 0 R (hfile.block.bloom.cacheonwrite) 355 0 R (hfile.block.cache.size) 344 0 R (hfile.block.index.cacheonwrite) 345 0 R]
 >>
 endobj
 413 0 obj
@@ -52341,7 +52381,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -52354,7 +52394,7 @@ endobj
 endobj
 422 0 obj
 << /Limits [(hbase.rpc) (hbase.secure.spnego.ui)]
-/Names [(hbase.rpc) 4155 0 R (hbase.rpc.rows.warning.threshold) 509 0 R (hbase.rpc.shortoperation.timeout) 367 0 R (hbase.rpc.timeout) 361 0 R (hbase.rs.cacheblocksonwrite) 360 0 R (hbase.secure.bulkload) 1435 0 R (hbase.secure.configuration) 1275 0 R (hbase.secure.enable) 1439 0 R (hbase.secure.simpleconfiguration) 1317 0 R (hbase.secure.spnego.ui) 1270 0 R]
+/Names [(hbase.rpc) 4161 0 R (hbase.rpc.rows.warning.threshold) 509 0 R (hbase.rpc.shortoperation.timeout) 367 0 R (hbase.rpc.timeout) 361 0 R (hbase.rs.cacheblocksonwrite) 360 0 R (hbase.secure.bulkload) 1435 0 R (hbase.secure.configuration) 1275 0 R (hbase.secure.enable) 1439 0 R (hbase.secure.simpleconfiguration) 1317 0 R (hbase.secure.spnego.ui) 1270 0 R]
 >>
 endobj
 423 0 obj
@@ -52875,7 +52915,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -53443,7 +53483,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -53960,7 +54000,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -54503,7 +54543,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [461 0 R 462 0 R]
@@ -55150,7 +55190,7 @@ endobj
 /F4.0 35 0 R
 /F6.0 471 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [467 0 R 468 0 R]
@@ -55191,11 +55231,11 @@ endobj
 << /Type /Font
 /BaseFont /066905+mplus1mn-bold
 /Subtype /TrueType
-/FontDescriptor 4886 0 R
+/FontDescriptor 4895 0 R
 /FirstChar 32
 /LastChar 255
-/Widths 4888 0 R
-/ToUnicode 4887 0 R
+/Widths 4897 0 R
+/ToUnicode 4896 0 R
 >>
 endobj
 472 0 obj
@@ -55761,7 +55801,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -55774,7 +55814,7 @@ endobj
 endobj
 478 0 obj
 << /Limits [(hbase.defaults.for.version.skip) (hbase.hregion.percolumnfamilyflush.size.lower.bound.min)]
-/Names [(hbase.defaults.for.version.skip) 407 0 R (hbase.dfs.client.read.shortcircuit.buffer.size) 439 0 R (hbase.display.keys) 391 0 R (hbase.dynamic.jars.dir) 456 0 R (hbase.encryption.server) 1422 0 R (hbase.env.sh) 511 0 R (hbase.fix.version.in.jira) 3817 0 R (hbase.history) 4115 0 R (hbase.hregion.majorcompaction) 314 0 R (hbase.hregion.majorcompaction.jitter) 315 0 R (hbase.hregion.max.filesize) 313 0 R (hbase.hregion.memstore.block.multiplier) 309 0 R (hbase.hregion.memstore.flush.size) 306 0 R (hbase.hregion.memstore.mslab.enabled) 310 0 R (hbase.hregion.percolumnfamilyflush.size.lower.bound.min) 307 0 R]
+/Names [(hbase.defaults.for.version.skip) 407 0 R (hbase.dfs.client.read.shortcircuit.buffer.size) 439 0 R (hbase.display.keys) 391 0 R (hbase.dynamic.jars.dir) 456 0 R (hbase.encryption.server) 1422 0 R (hbase.env.sh) 511 0 R (hbase.fix.version.in.jira) 3823 0 R (hbase.history) 4121 0 R (hbase.hregion.majorcompaction) 314 0 R (hbase.hregion.majorcompaction.jitter) 315 0 R (hbase.hregion.max.filesize) 313 0 R (hbase.hregion.memstore.block.multiplier) 309 0 R (hbase.hregion.memstore.flush.size) 306 0 R (hbase.hregion.memstore.mslab.enabled) 310 0 R (hbase.hregion.percolumnfamilyflush.size.lower.bound.min) 307 0 R]
 >>
 endobj
 479 0 obj
@@ -56313,7 +56353,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -56828,7 +56868,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -57339,7 +57379,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -57355,7 +57395,7 @@ endobj
 endobj
 501 0 obj
 << /Limits [(hbase.mob.file.cache.size) (hbase.org.site.contributing)]
-/Names [(hbase.mob.file.cache.size) 492 0 R (hbase.moduletest.run) 3537 0 R (hbase.moduletest.shell) 3532 0 R (hbase.moduletests) 3530 0 R (hbase.normalizer.min.region.count) 300 0 R (hbase.normalizer.period) 299 0 R (hbase.offpeak.end.hour) 335 0 R (hbase.offpeak.start.hour) 334 0 R (hbase.org) 3519 0 R (hbase.org.site.contributing) 3521 0 R]
+/Names [(hbase.mob.file.cache.size) 492 0 R (hbase.moduletest.run) 3543 0 R (hbase.moduletest.shell) 3538 0 R (hbase.moduletests) 3536 0 R (hbase.normalizer.min.region.count) 300 0 R (hbase.normalizer.period) 299 0 R (hbase.offpeak.end.hour) 335 0 R (hbase.offpeak.start.hour) 334 0 R (hbase.org) 3525 0 R (hbase.org.site.contributing) 3527 0 R]
 >>
 endobj
 502 0 obj
@@ -57870,7 +57910,7 @@ endobj
 /F1.0 10 0 R
 /F2.0 29 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -58981,7 +59021,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [517 0 R]
@@ -59829,7 +59869,7 @@ endobj
 /F4.0 35 0 R
 /F2.0 29 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [520 0 R]
@@ -61286,7 +61326,7 @@ endobj
 /F3.0 33 0 R
 /F1.1 38 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -61810,7 +61850,7 @@ endobj
 /F1.0 10 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -62463,7 +62503,7 @@ endobj
 /F4.0 35 0 R
 /F1.1 38 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [535 0 R 536 0 R 538 0 R 539 0 R 540 0 R 545 0 R]
@@ -63218,7 +63258,7 @@ endobj
 /F2.0 29 0 R
 /F1.1 38 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [551 0 R 554 0 R 557 0 R]
@@ -63257,7 +63297,7 @@ endobj
 endobj
 556 0 obj
 << /Limits [(configuration) (coprocessor-implementation-overview)]
-/Names [(configuration) 104 0 R (configuration-2) 3136 0 R (configuration-3) 3905 0 R (configuration-files) 111 0 R (configuration-from-scratch) 3802 0 R (configuration-properties) 1919 0 R (configure-mob-compaction-mergeable-threshold) 1960 0 R (configure-mob-compaction-policy) 1959 0 R (configuring-columns-for-mob) 1956 0 R (configuring-server-wide-behavior-of-bloom-filters) 2510 0 R (configuring-the-rest-server-and-client) 2159 0 R (confirm) 190 0 R (connection-setup) 4167 0 R (constraints) 1074 0 R (contributing-to-documentation-or-other-strings) 3840 0 R (coprocessor-implementation-overview) 2315 0 R]
+/Names [(configuration) 104 0 R (configuration-2) 3136 0 R (configuration-3) 3911 0 R (configuration-files) 111 0 R (configuration-from-scratch) 3808 0 R (configuration-properties) 1919 0 R (configure-mob-compaction-mergeable-threshold) 1960 0 R (configure-mob-compaction-policy) 1959 0 R (configuring-columns-for-mob) 1956 0 R (configuring-server-wide-behavior-of-bloom-filters) 2510 0 R (configuring-the-rest-server-and-client) 2159 0 R (confirm) 190 0 R (connection-setup) 4173 0 R (constraints) 1074 0 R (contributing-to-documentation-or-other-strings) 3846 0 R (coprocessor-implementation-overview) 2315 0 R]
 >>
 endobj
 557 0 obj
@@ -64119,7 +64159,7 @@ endobj
 /F4.0 35 0 R
 /F5.1 45 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [561 0 R]
@@ -64933,7 +64973,7 @@ endobj
 /F5.1 45 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [565 0 R 566 0 R 567 0 R 571 0 R 574 0 R 575 0 R 576 0 R]
@@ -65675,7 +65715,7 @@ endobj
 /F1.1 38 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [580 0 R 581 0 R]
@@ -67107,7 +67147,7 @@ endobj
 /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [585 0 R 586 0 R]
@@ -67884,7 +67924,7 @@ endobj
 /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -68585,7 +68625,7 @@ endobj
 /F3.0 33 0 R
 /F5.1 45 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -69916,7 +69956,7 @@ endobj
 /F4.0 35 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -71411,7 +71451,7 @@ endobj
 /Font << /F2.0 29 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -71577,7 +71617,7 @@ endobj
 /Font << /F2.0 29 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -71775,7 +71815,7 @@ endobj
 /Font << /F2.0 29 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [601 0 R 602 0 R 603 0 R 604 0 R 605 0 R]
@@ -72529,7 +72569,7 @@ endobj
 /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [610 0 R]
@@ -73472,7 +73512,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [614 0 R 615 0 R 616 0 R]
@@ -75860,7 +75900,7 @@ endobj
 /F1.1 38 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [620 0 R 621 0 R]
@@ -76745,7 +76785,7 @@ endobj
 /F2.0 29 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [624 0 R]
@@ -77219,7 +77259,7 @@ endobj
 /F4.0 35 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [632 0 R 633 0 R 634 0 R 636 0 R 637 0 R 638 0 R]
@@ -78011,7 +78051,7 @@ endobj
 /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [646 0 R]
@@ -78027,12 +78067,12 @@ endobj
 endobj
 643 0 obj
 << /Limits [(__anchor-top) (cascading)]
-/Kids [157 0 R 3646 0 R 1878 0 R 1459 0 R 3882 0 R 1622 0 R 4063 0 R 2108 0 R 2066 0 R 2023 0 R 2057 0 R 3457 0 R]
+/Kids [157 0 R 3652 0 R 1878 0 R 1459 0 R 3888 0 R 1622 0 R 4069 0 R 2108 0 R 2066 0 R 2023 0 R 2057 0 R 3457 0 R]
 >>
 endobj
 644 0 obj
 << /Limits [(hbase.mob.file.cache.size) (hbase.zookeeper.property.initLimit)]
-/Kids [501 0 R 4010 0 R 441 0 R 239 0 R 368 0 R 422 0 R 4156 0 R 455 0 R 268 0 R 3569 0 R 3540 0 R]
+/Kids [501 0 R 4016 0 R 441 0 R 239 0 R 368 0 R 422 0 R 4162 0 R 455 0 R 268 0 R 3575 0 R 3546 0 R]
 >>
 endobj
 645 0 obj
@@ -78696,7 +78736,7 @@ endobj
 /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -79411,7 +79451,7 @@ endobj
 /F1.0 10 0 R
 /F2.0 29 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [654 0 R]
@@ -79878,7 +79918,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -80598,7 +80638,7 @@ endobj
 /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [663 0 R 666 0 R]
@@ -81841,7 +81881,7 @@ endobj
 /F3.0 33 0 R
 /F2.0 29 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [669 0 R 670 0 R 671 0 R 672 0 R 673 0 R 674 0 R 675 0 R 676 0 R 679 0 R 680 0 R]
@@ -82781,7 +82821,7 @@ endobj
 /Font << /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [683 0 R 686 0 R 689 0 R]
@@ -83696,7 +83736,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [693 0 R 695 0 R 696 0 R 697 0 R]
@@ -84423,7 +84463,7 @@ endobj
 /Font << /F1.0 10 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [702 0 R 705 0 R 706 0 R]
@@ -85475,7 +85515,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [711 0 R 713 0 R 715 0 R 718 0 R]
@@ -86247,7 +86287,7 @@ endobj
 /F3.0 33 0 R
 /F2.0 29 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [726 0 R 727 0 R 728 0 R]
@@ -87305,7 +87345,7 @@ endobj
 /F2.0 29 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [734 0 R 735 0 R 736 0 R 738 0 R 739 0 R 740 0 R 741 0 R 742 0 R 743 0 R 744 0 R 745 0 R 746 0 R 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R]
@@ -88127,7 +88167,7 @@ endobj
 /F2.0 29 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -88258,7 +88298,7 @@ endobj
 /Font << /F1.0 10 0 R
 /F2.0 29 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -88612,7 +88652,7 @@ endobj
 /F1.0 10 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [766 0 R 767 0 R 768 0 R]
@@ -88813,7 +88853,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -89051,7 +89091,7 @@ endobj
 /F1.0 10 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 /Annots [775 0 R]
@@ -89647,7 +89687,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [779 0 R]
@@ -90184,7 +90224,7 @@ endobj
 /F4.0 35 0 R
 /F2.0 29 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -90434,7 +90474,7 @@ endobj
 /F3.0 33 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -90918,7 +90958,7 @@ endobj
 /F1.0 10 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -91193,7 +91233,7 @@ endobj
 /F4.0 35 0 R
 /F3.0 33 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -91630,7 +91670,7 @@ endobj
 /F1.0 10 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -92193,7 +92233,7 @@ endobj
 /Font << /F4.0 35 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 >>
@@ -92804,7 +92844,7 @@ endobj
 /F3.0 33 0 R
 /F1.0 10 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -93974,7 +94014,7 @@ endobj
 /F2.0 29 0 R
 /F4.0 35 0 R
 >>
-/XObject << /Stamp1 4632 0 R
+/XObject << /Stamp1 4640 0 R
 >>
 >>
 /Annots [803 0 R]
@@ -93996,7 +94036,7 @@ endobj
 endobj
 805 0 obj
 << /Limits [(multiple-typed-queues) (new.version.behavior)]
-/Names [(multiple-typed-queues) 3227 0 R (multiwal) 1670 0 R (nagles) 573 0 R (namespace) 833 0 R (namespace_creation) 837 0 R (namespace_quotas) 3223 0 R (namespace_special) 838 0 R (network-saturation-the-winner) 2947 0 R (new-committers) 3678 0 R (new.version.behavior) 912 0 R]
+/Names [(multiple-typed-queues) 3227 0 R (multiwal) 1670 0 R (nagles) 573 0 R (namespace) 833 0 R (namespace_creation) 837 0 R (namespace_quotas) 3223 0 R (namespace_special) 838 0 R (network-saturation-the-winner) 2947 0 R (new-committers) 3684 0 R (new.version.behavior) 912 0 R]
 >>
 endobj
 806 0 obj
@@ -99260,7 +99300,7 @@ endobj
 /F2.0 29 0 R
 /F1.1 38 0 R
 >>
-/XObject << /Stamp2 4633 0 R
+/XObject << /Stamp2 4641 0 R
 >>
 >>
 >>
@@ -99636,7 +99676,7 @@ endobj
 /F2.0 

<TRUNCATED>

[8/8] hbase-site git commit: Published site at 2e9b96e4f14c2802b59c6037cbfe4a427ec93bea.

Posted by gi...@apache.org.
Published site at 2e9b96e4f14c2802b59c6037cbfe4a427ec93bea.


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

Branch: refs/heads/asf-site
Commit: c3fc94f005c53cbea97c42abe9cc54b6772145b3
Parents: 230898a
Author: jenkins <bu...@apache.org>
Authored: Wed May 2 14:47:09 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Wed May 2 14:47:09 2018 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                | 18728 +++++++++--------
 book.html                                       |   239 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       |    38 +-
 checkstyle.rss                                  |    16 +-
 coc.html                                        |     4 +-
 dependencies.html                               |     4 +-
 dependency-convergence.html                     |     4 +-
 dependency-info.html                            |     4 +-
 dependency-management.html                      |     4 +-
 devapidocs/constant-values.html                 |     6 +-
 .../FanOutOneBlockAsyncDFSOutputHelper.html     |     8 +-
 .../org/apache/hadoop/hbase/Version.html        |     6 +-
 ...OneBlockAsyncDFSOutputHelper.BlockAdder.html |   193 +-
 ...BlockAsyncDFSOutputHelper.CancelOnClose.html |   193 +-
 ...ockAsyncDFSOutputHelper.ChecksumCreater.html |   193 +-
 ...ckAsyncDFSOutputHelper.DFSClientAdaptor.html |   193 +-
 ...neBlockAsyncDFSOutputHelper.FileCreator.html |   193 +-
 ...eBlockAsyncDFSOutputHelper.LeaseManager.html |   193 +-
 ...kAsyncDFSOutputHelper.NameNodeException.html |   193 +-
 ...utOneBlockAsyncDFSOutputHelper.PBHelper.html |   193 +-
 ...DFSOutputHelper.PipelineAckStatusGetter.html |   193 +-
 ...kAsyncDFSOutputHelper.StorageTypeSetter.html |   193 +-
 .../FanOutOneBlockAsyncDFSOutputHelper.html     |   193 +-
 downloads.html                                  |     4 +-
 export_control.html                             |     4 +-
 index.html                                      |     4 +-
 integration.html                                |     4 +-
 issue-tracking.html                             |     4 +-
 license.html                                    |     4 +-
 mail-lists.html                                 |     4 +-
 metrics.html                                    |     4 +-
 old_news.html                                   |     4 +-
 plugin-management.html                          |     4 +-
 plugins.html                                    |     4 +-
 poweredbyhbase.html                             |     4 +-
 project-info.html                               |     4 +-
 project-reports.html                            |     4 +-
 project-summary.html                            |     4 +-
 pseudo-distributed.html                         |     4 +-
 replication.html                                |     4 +-
 resources.html                                  |     4 +-
 source-repository.html                          |     4 +-
 sponsors.html                                   |     4 +-
 supportingprojects.html                         |     4 +-
 team-list.html                                  |     4 +-
 testdevapidocs/allclasses-frame.html            |     1 +
 testdevapidocs/allclasses-noframe.html          |     1 +
 testdevapidocs/index-all.html                   |    22 +
 .../hbase/class-use/HBaseClassTestRule.html     |     4 +
 .../hbase/class-use/HBaseTestingUtility.html    |     4 +
 .../hbase/io/asyncfs/TestLocalAsyncOutput.html  |     4 +-
 .../TestOverwriteFileUnderConstruction.html     |   407 +
 .../TestSaslFanOutOneBlockAsyncDFSOutput.html   |     4 +-
 .../TestOverwriteFileUnderConstruction.html     |   125 +
 .../hadoop/hbase/io/asyncfs/package-frame.html  |     1 +
 .../hbase/io/asyncfs/package-summary.html       |     8 +-
 .../hadoop/hbase/io/asyncfs/package-tree.html   |     1 +
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 .../hbase/master/locking/TestLockProcedure.html |    14 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     8 +-
 .../hadoop/hbase/procedure/package-tree.html    |     8 +-
 .../hadoop/hbase/regionserver/package-tree.html |     6 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     4 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 testdevapidocs/overview-tree.html               |     1 +
 .../TestOverwriteFileUnderConstruction.html     |   180 +
 .../hbase/master/locking/TestLockProcedure.html |   305 +-
 69 files changed, 11916 insertions(+), 10476 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 9e7256a..0bfe44a 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180501" />
+    <meta name="Date-Revision-yyyymmdd" content="20180502" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -601,7 +601,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-05-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-05-02</li>
             </p>
                 </div>
 


[5/8] hbase-site git commit: Published site at 2e9b96e4f14c2802b59c6037cbfe4a427ec93bea.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.BlockAdder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.BlockAdder.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.BlockAdder.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.BlockAdder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.BlockAdder.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.CancelOnClose.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.CancelOnClose.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.CancelOnClose.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.CancelOnClose.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.CancelOnClose.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.ChecksumCreater.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.ChecksumCreater.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.ChecksumCreater.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.ChecksumCreater.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.ChecksumCreater.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/c3fc94f0/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.DFSClientAdaptor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.DFSClientAdaptor.html b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.DFSClientAdaptor.html
index ad7bc92..eb6a26e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.DFSClientAdaptor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.DFSClientAdaptor.html
@@ -808,104 +808,101 @@
 <span class="sourceLineNo">800</span>        } else {<a name="line.800"></a>
 <span class="sourceLineNo">801</span>          throw e.unwrapRemoteException();<a name="line.801"></a>
 <span class="sourceLineNo">802</span>        }<a name="line.802"></a>
-<span class="sourceLineNo">803</span>      } catch (NameNodeException e) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>        throw e;<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      } catch (IOException e) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        if (retry &gt;= createMaxRetries) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>          throw e;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>        }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        // overwrite the old broken file.<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        overwrite = true;<a name="line.811"></a>
-<span class="sourceLineNo">812</span>        try {<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        } catch (InterruptedException ie) {<a name="line.814"></a>
-<span class="sourceLineNo">815</span>          throw new InterruptedIOException();<a name="line.815"></a>
-<span class="sourceLineNo">816</span>        }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      } finally {<a name="line.817"></a>
-<span class="sourceLineNo">818</span>        if (!succ) {<a name="line.818"></a>
-<span class="sourceLineNo">819</span>          if (futureList != null) {<a name="line.819"></a>
-<span class="sourceLineNo">820</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span>                @Override<a name="line.823"></a>
-<span class="sourceLineNo">824</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.824"></a>
-<span class="sourceLineNo">825</span>                  if (future.isSuccess()) {<a name="line.825"></a>
-<span class="sourceLineNo">826</span>                    future.getNow().close();<a name="line.826"></a>
-<span class="sourceLineNo">827</span>                  }<a name="line.827"></a>
-<span class="sourceLineNo">828</span>                }<a name="line.828"></a>
-<span class="sourceLineNo">829</span>              });<a name="line.829"></a>
-<span class="sourceLineNo">830</span>            }<a name="line.830"></a>
-<span class="sourceLineNo">831</span>          }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>          endFileLease(client, stat.getFileId());<a name="line.832"></a>
-<span class="sourceLineNo">833</span>          fsUtils.recoverFileLease(dfs, new Path(src), conf, new CancelOnClose(client));<a name="line.833"></a>
-<span class="sourceLineNo">834</span>        }<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      }<a name="line.835"></a>
-<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
-<span class="sourceLineNo">837</span>  }<a name="line.837"></a>
-<span class="sourceLineNo">838</span><a name="line.838"></a>
-<span class="sourceLineNo">839</span>  /**<a name="line.839"></a>
-<span class="sourceLineNo">840</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.840"></a>
-<span class="sourceLineNo">841</span>   * inside an {@link EventLoop}.<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   */<a name="line.842"></a>
-<span class="sourceLineNo">843</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.843"></a>
-<span class="sourceLineNo">844</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.844"></a>
-<span class="sourceLineNo">845</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.845"></a>
-<span class="sourceLineNo">846</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.846"></a>
-<span class="sourceLineNo">847</span><a name="line.847"></a>
-<span class="sourceLineNo">848</span>      @Override<a name="line.848"></a>
-<span class="sourceLineNo">849</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.849"></a>
-<span class="sourceLineNo">850</span>          throws IOException, UnresolvedLinkException {<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.851"></a>
-<span class="sourceLineNo">852</span>          blockSize, eventLoopGroup, channelClass);<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      }<a name="line.853"></a>
-<span class="sourceLineNo">854</span><a name="line.854"></a>
-<span class="sourceLineNo">855</span>      @Override<a name="line.855"></a>
-<span class="sourceLineNo">856</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.856"></a>
-<span class="sourceLineNo">857</span>        throw new UnsupportedOperationException();<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      }<a name="line.858"></a>
-<span class="sourceLineNo">859</span>    }.resolve(dfs, f);<a name="line.859"></a>
-<span class="sourceLineNo">860</span>  }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.862"></a>
-<span class="sourceLineNo">863</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.864"></a>
-<span class="sourceLineNo">865</span>    // DFSOutputStream.newStreamForCreate.<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  }<a name="line.867"></a>
-<span class="sourceLineNo">868</span><a name="line.868"></a>
-<span class="sourceLineNo">869</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      ExtendedBlock block, long fileId) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    for (int retry = 0;; retry++) {<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      try {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>          endFileLease(client, fileId);<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          return;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        } else {<a name="line.876"></a>
-<span class="sourceLineNo">877</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>      } catch (RemoteException e) {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>        IOException ioe = e.unwrapRemoteException();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.881"></a>
-<span class="sourceLineNo">882</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          return;<a name="line.883"></a>
-<span class="sourceLineNo">884</span>        } else {<a name="line.884"></a>
-<span class="sourceLineNo">885</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
-<span class="sourceLineNo">886</span>        }<a name="line.886"></a>
-<span class="sourceLineNo">887</span>      } catch (Exception e) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      sleepIgnoreInterrupt(retry);<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    }<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.894"></a>
-<span class="sourceLineNo">895</span>    try {<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    } catch (InterruptedException e) {<a name="line.897"></a>
-<span class="sourceLineNo">898</span>    }<a name="line.898"></a>
-<span class="sourceLineNo">899</span>  }<a name="line.899"></a>
-<span class="sourceLineNo">900</span>}<a name="line.900"></a>
+<span class="sourceLineNo">803</span>      } catch (IOException e) {<a name="line.803"></a>
+<span class="sourceLineNo">804</span>        LOG.warn("create fan-out dfs output {} failed, retry = {}", src, retry, e);<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (retry &gt;= createMaxRetries) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          throw e;<a name="line.806"></a>
+<span class="sourceLineNo">807</span>        }<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        // overwrite the old broken file.<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        overwrite = true;<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        try {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.811"></a>
+<span class="sourceLineNo">812</span>        } catch (InterruptedException ie) {<a name="line.812"></a>
+<span class="sourceLineNo">813</span>          throw new InterruptedIOException();<a name="line.813"></a>
+<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>      } finally {<a name="line.815"></a>
+<span class="sourceLineNo">816</span>        if (!succ) {<a name="line.816"></a>
+<span class="sourceLineNo">817</span>          if (futureList != null) {<a name="line.817"></a>
+<span class="sourceLineNo">818</span>            for (Future&lt;Channel&gt; f : futureList) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>              f.addListener(new FutureListener&lt;Channel&gt;() {<a name="line.819"></a>
+<span class="sourceLineNo">820</span><a name="line.820"></a>
+<span class="sourceLineNo">821</span>                @Override<a name="line.821"></a>
+<span class="sourceLineNo">822</span>                public void operationComplete(Future&lt;Channel&gt; future) throws Exception {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>                  if (future.isSuccess()) {<a name="line.823"></a>
+<span class="sourceLineNo">824</span>                    future.getNow().close();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>                  }<a name="line.825"></a>
+<span class="sourceLineNo">826</span>                }<a name="line.826"></a>
+<span class="sourceLineNo">827</span>              });<a name="line.827"></a>
+<span class="sourceLineNo">828</span>            }<a name="line.828"></a>
+<span class="sourceLineNo">829</span>          }<a name="line.829"></a>
+<span class="sourceLineNo">830</span>          endFileLease(client, stat.getFileId());<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        }<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      }<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>  }<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>  /**<a name="line.836"></a>
+<span class="sourceLineNo">837</span>   * Create a {@link FanOutOneBlockAsyncDFSOutput}. The method maybe blocked so do not call it<a name="line.837"></a>
+<span class="sourceLineNo">838</span>   * inside an {@link EventLoop}.<a name="line.838"></a>
+<span class="sourceLineNo">839</span>   */<a name="line.839"></a>
+<span class="sourceLineNo">840</span>  public static FanOutOneBlockAsyncDFSOutput createOutput(DistributedFileSystem dfs, Path f,<a name="line.840"></a>
+<span class="sourceLineNo">841</span>      boolean overwrite, boolean createParent, short replication, long blockSize,<a name="line.841"></a>
+<span class="sourceLineNo">842</span>      EventLoopGroup eventLoopGroup, Class&lt;? extends Channel&gt; channelClass) throws IOException {<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    return new FileSystemLinkResolver&lt;FanOutOneBlockAsyncDFSOutput&gt;() {<a name="line.843"></a>
+<span class="sourceLineNo">844</span><a name="line.844"></a>
+<span class="sourceLineNo">845</span>      @Override<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      public FanOutOneBlockAsyncDFSOutput doCall(Path p)<a name="line.846"></a>
+<span class="sourceLineNo">847</span>          throws IOException, UnresolvedLinkException {<a name="line.847"></a>
+<span class="sourceLineNo">848</span>        return createOutput(dfs, p.toUri().getPath(), overwrite, createParent, replication,<a name="line.848"></a>
+<span class="sourceLineNo">849</span>          blockSize, eventLoopGroup, channelClass);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      @Override<a name="line.852"></a>
+<span class="sourceLineNo">853</span>      public FanOutOneBlockAsyncDFSOutput next(FileSystem fs, Path p) throws IOException {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>        throw new UnsupportedOperationException();<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    }.resolve(dfs, f);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>  }<a name="line.857"></a>
+<span class="sourceLineNo">858</span><a name="line.858"></a>
+<span class="sourceLineNo">859</span>  public static boolean shouldRetryCreate(RemoteException e) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>    // RetryStartFileException is introduced in HDFS 2.6+, so here we can only use the class name.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>    // For exceptions other than this, we just throw it out. This is same with<a name="line.861"></a>
+<span class="sourceLineNo">862</span>    // DFSOutputStream.newStreamForCreate.<a name="line.862"></a>
+<span class="sourceLineNo">863</span>    return e.getClassName().endsWith("RetryStartFileException");<a name="line.863"></a>
+<span class="sourceLineNo">864</span>  }<a name="line.864"></a>
+<span class="sourceLineNo">865</span><a name="line.865"></a>
+<span class="sourceLineNo">866</span>  static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName,<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      ExtendedBlock block, long fileId) {<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    for (int retry = 0;; retry++) {<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      try {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>        if (namenode.complete(src, clientName, block, fileId)) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>          endFileLease(client, fileId);<a name="line.871"></a>
+<span class="sourceLineNo">872</span>          return;<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        } else {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          LOG.warn("complete file " + src + " not finished, retry = " + retry);<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      } catch (RemoteException e) {<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        IOException ioe = e.unwrapRemoteException();<a name="line.877"></a>
+<span class="sourceLineNo">878</span>        if (ioe instanceof LeaseExpiredException) {<a name="line.878"></a>
+<span class="sourceLineNo">879</span>          LOG.warn("lease for file " + src + " is expired, give up", e);<a name="line.879"></a>
+<span class="sourceLineNo">880</span>          return;<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        } else {<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>        }<a name="line.883"></a>
+<span class="sourceLineNo">884</span>      } catch (Exception e) {<a name="line.884"></a>
+<span class="sourceLineNo">885</span>        LOG.warn("complete file " + src + " failed, retry = " + retry, e);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      }<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      sleepIgnoreInterrupt(retry);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>  }<a name="line.889"></a>
+<span class="sourceLineNo">890</span><a name="line.890"></a>
+<span class="sourceLineNo">891</span>  static void sleepIgnoreInterrupt(int retry) {<a name="line.891"></a>
+<span class="sourceLineNo">892</span>    try {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>      Thread.sleep(ConnectionUtils.getPauseTime(100, retry));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>    } catch (InterruptedException e) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span>    }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>  }<a name="line.896"></a>
+<span class="sourceLineNo">897</span>}<a name="line.897"></a>