You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2017/11/19 15:17:25 UTC

[01/19] hbase-site git commit: Published site at .

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site d55acf775 -> 2424a45f6


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html
index 35bd215..85f881b 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html
@@ -749,478 +749,477 @@
 <span class="sourceLineNo">741</span>          candidates.remove(0);<a name="line.741"></a>
 <span class="sourceLineNo">742</span>        }<a name="line.742"></a>
 <span class="sourceLineNo">743</span>        c.bypass();<a name="line.743"></a>
-<span class="sourceLineNo">744</span>        c.complete();<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>    }<a name="line.746"></a>
-<span class="sourceLineNo">747</span>  }<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span>  private void waitUntilMobCompactionFinished(TableName tableName) throws IOException,<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    InterruptedException {<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    long finished = EnvironmentEdgeManager.currentTime() + 60000;<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    CompactionState state = admin.getCompactionState(tableName, CompactType.MOB);<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    while (EnvironmentEdgeManager.currentTime() &lt; finished) {<a name="line.753"></a>
-<span class="sourceLineNo">754</span>      if (state == CompactionState.NONE) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        break;<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      }<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      state = admin.getCompactionState(tableName, CompactType.MOB);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>      Thread.sleep(10);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    }<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    assertEquals(CompactionState.NONE, state);<a name="line.760"></a>
-<span class="sourceLineNo">761</span>  }<a name="line.761"></a>
-<span class="sourceLineNo">762</span><a name="line.762"></a>
-<span class="sourceLineNo">763</span>  /**<a name="line.763"></a>
-<span class="sourceLineNo">764</span>   * Gets the number of rows in the given table.<a name="line.764"></a>
-<span class="sourceLineNo">765</span>   * @param table to get the  scanner<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * @return the number of rows<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   */<a name="line.767"></a>
-<span class="sourceLineNo">768</span>  private int countMobRows(final Table table) throws IOException {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    Scan scan = new Scan();<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    // Do not retrieve the mob data when scanning<a name="line.770"></a>
-<span class="sourceLineNo">771</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    return TEST_UTIL.countRows(table, scan);<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  }<a name="line.773"></a>
-<span class="sourceLineNo">774</span><a name="line.774"></a>
-<span class="sourceLineNo">775</span>  /**<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   * Gets the number of cells in the given table.<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   * @param table to get the  scanner<a name="line.777"></a>
-<span class="sourceLineNo">778</span>   * @return the number of cells<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   */<a name="line.779"></a>
-<span class="sourceLineNo">780</span>  private int countMobCells(final Table table) throws IOException {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>    Scan scan = new Scan();<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    // Do not retrieve the mob data when scanning<a name="line.782"></a>
-<span class="sourceLineNo">783</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    ResultScanner results = table.getScanner(scan);<a name="line.784"></a>
-<span class="sourceLineNo">785</span>    int count = 0;<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    for (Result res : results) {<a name="line.786"></a>
-<span class="sourceLineNo">787</span>      count += res.size();<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    }<a name="line.788"></a>
-<span class="sourceLineNo">789</span>    results.close();<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    return count;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>  }<a name="line.791"></a>
-<span class="sourceLineNo">792</span><a name="line.792"></a>
-<span class="sourceLineNo">793</span>  /**<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * Gets the number of files in the mob path.<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   * @param isMobFile gets number of the mob files or del files<a name="line.795"></a>
-<span class="sourceLineNo">796</span>   * @param familyName the family name<a name="line.796"></a>
-<span class="sourceLineNo">797</span>   * @return the number of the files<a name="line.797"></a>
-<span class="sourceLineNo">798</span>   */<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  private int countFiles(TableName tableName, boolean isMobFile, String familyName)<a name="line.799"></a>
-<span class="sourceLineNo">800</span>    throws IOException {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    int count = 0;<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (fs.exists(mobDirPath)) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      for (FileStatus file : files) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        if (isMobFile == true) {<a name="line.806"></a>
-<span class="sourceLineNo">807</span>          if (!StoreFileInfo.isDelFile(file.getPath())) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>            count++;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>          }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        } else {<a name="line.810"></a>
-<span class="sourceLineNo">811</span>          if (StoreFileInfo.isDelFile(file.getPath())) {<a name="line.811"></a>
-<span class="sourceLineNo">812</span>            count++;<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          }<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
-<span class="sourceLineNo">815</span>      }<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    return count;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>  }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>  private boolean verifyEncryption(TableName tableName, String familyName) throws IOException {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    boolean hasFiles = false;<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    if (fs.exists(mobDirPath)) {<a name="line.823"></a>
-<span class="sourceLineNo">824</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      hasFiles = files != null &amp;&amp; files.length &gt; 0;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      Assert.assertTrue(hasFiles);<a name="line.826"></a>
-<span class="sourceLineNo">827</span>      Path path = files[0].getPath();<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      CacheConfig cacheConf = new CacheConfig(conf);<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      HStoreFile sf = new HStoreFile(TEST_UTIL.getTestFileSystem(), path, conf, cacheConf,<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        BloomType.NONE, true);<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      sf.initReader();<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      HFile.Reader reader = sf.getReader().getHFileReader();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      byte[] encryptionKey = reader.getTrailer().getEncryptionKey();<a name="line.833"></a>
-<span class="sourceLineNo">834</span>      Assert.assertTrue(null != encryptionKey);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      Assert.assertTrue(reader.getFileContext().getEncryptionContext().getCipher().getName()<a name="line.835"></a>
-<span class="sourceLineNo">836</span>        .equals(HConstants.CIPHER_AES));<a name="line.836"></a>
-<span class="sourceLineNo">837</span>    }<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    return hasFiles;<a name="line.838"></a>
-<span class="sourceLineNo">839</span>  }<a name="line.839"></a>
-<span class="sourceLineNo">840</span><a name="line.840"></a>
-<span class="sourceLineNo">841</span>  /**<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   * Gets the number of HFileLink in the mob path.<a name="line.842"></a>
-<span class="sourceLineNo">843</span>   * @param familyName the family name<a name="line.843"></a>
-<span class="sourceLineNo">844</span>   * @return the number of the HFileLink<a name="line.844"></a>
-<span class="sourceLineNo">845</span>   */<a name="line.845"></a>
-<span class="sourceLineNo">846</span>  private int countHFileLinks(String familyName) throws IOException {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    int count = 0;<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    if (fs.exists(mobDirPath)) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.850"></a>
-<span class="sourceLineNo">851</span>      for (FileStatus file : files) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>        if (HFileLink.isHFileLink(file.getPath())) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>          count++;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>        }<a name="line.854"></a>
-<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    }<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    return count;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>  }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>  /**<a name="line.860"></a>
-<span class="sourceLineNo">861</span>   * Gets the number of files.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>   * @param size the size of the file<a name="line.862"></a>
-<span class="sourceLineNo">863</span>   * @param tableName the current table name<a name="line.863"></a>
-<span class="sourceLineNo">864</span>   * @param familyName the family name<a name="line.864"></a>
-<span class="sourceLineNo">865</span>   * @return the number of files large than the size<a name="line.865"></a>
-<span class="sourceLineNo">866</span>   */<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  private int countLargeFiles(int size, TableName tableName, String familyName) throws IOException {<a name="line.867"></a>
-<span class="sourceLineNo">868</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    int count = 0;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    if (fs.exists(mobDirPath)) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      for (FileStatus file : files) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        // ignore the del files in the mob path<a name="line.873"></a>
-<span class="sourceLineNo">874</span>        if ((!StoreFileInfo.isDelFile(file.getPath())) &amp;&amp; (file.getLen() &gt; size)) {<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          count++;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        }<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      }<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    return count;<a name="line.879"></a>
-<span class="sourceLineNo">880</span>  }<a name="line.880"></a>
-<span class="sourceLineNo">881</span><a name="line.881"></a>
-<span class="sourceLineNo">882</span>  /**<a name="line.882"></a>
-<span class="sourceLineNo">883</span>   * loads some data to the table.<a name="line.883"></a>
-<span class="sourceLineNo">884</span>   */<a name="line.884"></a>
-<span class="sourceLineNo">885</span>  private void loadData(Admin admin, BufferedMutator table, TableName tableName, int fileNum,<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    int rowNumPerFile) throws IOException, InterruptedException {<a name="line.886"></a>
-<span class="sourceLineNo">887</span>    if (fileNum &lt;= 0) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>      throw new IllegalArgumentException();<a name="line.888"></a>
-<span class="sourceLineNo">889</span>    }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    for (int i = 0; i &lt; fileNum * rowNumPerFile; i++) {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>      for (byte k0 : KEYS) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>        byte[] k = new byte[] { k0 };<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        byte[] key = Bytes.add(k, Bytes.toBytes(i));<a name="line.893"></a>
-<span class="sourceLineNo">894</span>        byte[] mobVal = makeDummyData(10 * (i + 1));<a name="line.894"></a>
-<span class="sourceLineNo">895</span>        Put put = new Put(key);<a name="line.895"></a>
-<span class="sourceLineNo">896</span>        put.setDurability(Durability.SKIP_WAL);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        put.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), mobVal);<a name="line.897"></a>
-<span class="sourceLineNo">898</span>        put.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf2), mobVal);<a name="line.898"></a>
-<span class="sourceLineNo">899</span>        put.addColumn(Bytes.toBytes(family2), Bytes.toBytes(qf1), mobVal);<a name="line.899"></a>
-<span class="sourceLineNo">900</span>        table.mutate(put);<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      }<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      if ((i + 1) % rowNumPerFile == 0) {<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        table.flush();<a name="line.903"></a>
-<span class="sourceLineNo">904</span>        admin.flush(tableName);<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      }<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  }<a name="line.907"></a>
-<span class="sourceLineNo">908</span><a name="line.908"></a>
-<span class="sourceLineNo">909</span>  private void loadData(Admin admin, BufferedMutator table, TableName tableName, Put[] puts)<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    throws IOException {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>    table.mutate(Arrays.asList(puts));<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    table.flush();<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    admin.flush(tableName);<a name="line.913"></a>
-<span class="sourceLineNo">914</span>  }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>  private void loadDataForPartitionPolicy(Admin admin, BufferedMutator table, TableName tableName)<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      throws IOException {<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>    Put[] pArray = new Put[1000];<a name="line.919"></a>
-<span class="sourceLineNo">920</span><a name="line.920"></a>
-<span class="sourceLineNo">921</span>    for (int i = 0; i &lt; 1000; i ++) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span>      Put put0 = new Put(Bytes.toBytes("r0" + i));<a name="line.922"></a>
-<span class="sourceLineNo">923</span>      put0.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151130Monday, Bytes.toBytes(mobValue0));<a name="line.923"></a>
-<span class="sourceLineNo">924</span>      pArray[i] = put0;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>    }<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    loadData(admin, bufMut, tableName, pArray);<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    Put put06 = new Put(mobKey06);<a name="line.928"></a>
-<span class="sourceLineNo">929</span>    put06.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151128Saturday, Bytes.toBytes(mobValue0));<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span>    loadData(admin, bufMut, tableName, new Put[] { put06 });<a name="line.931"></a>
-<span class="sourceLineNo">932</span><a name="line.932"></a>
-<span class="sourceLineNo">933</span>    Put put1 = new Put(mobKey1);<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    put1.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151201Tuesday,<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        Bytes.toBytes(mobValue1));<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    loadData(admin, bufMut, tableName, new Put[] { put1 });<a name="line.936"></a>
-<span class="sourceLineNo">937</span><a name="line.937"></a>
-<span class="sourceLineNo">938</span>    Put put2 = new Put(mobKey2);<a name="line.938"></a>
-<span class="sourceLineNo">939</span>    put2.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151205Saturday,<a name="line.939"></a>
-<span class="sourceLineNo">940</span>        Bytes.toBytes(mobValue2));<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    loadData(admin, bufMut, tableName, new Put[] { put2 });<a name="line.941"></a>
-<span class="sourceLineNo">942</span><a name="line.942"></a>
-<span class="sourceLineNo">943</span>    Put put3 = new Put(mobKey3);<a name="line.943"></a>
-<span class="sourceLineNo">944</span>    put3.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151228Monday,<a name="line.944"></a>
-<span class="sourceLineNo">945</span>        Bytes.toBytes(mobValue3));<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    loadData(admin, bufMut, tableName, new Put[] { put3 });<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    Put put4 = new Put(mobKey4);<a name="line.948"></a>
-<span class="sourceLineNo">949</span>    put4.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151231Thursday,<a name="line.949"></a>
-<span class="sourceLineNo">950</span>        Bytes.toBytes(mobValue4));<a name="line.950"></a>
-<span class="sourceLineNo">951</span>    loadData(admin, bufMut, tableName, new Put[] { put4 });<a name="line.951"></a>
-<span class="sourceLineNo">952</span><a name="line.952"></a>
-<span class="sourceLineNo">953</span>    Put put5 = new Put(mobKey5);<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    put5.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20160101Friday,<a name="line.954"></a>
-<span class="sourceLineNo">955</span>        Bytes.toBytes(mobValue5));<a name="line.955"></a>
-<span class="sourceLineNo">956</span>    loadData(admin, bufMut, tableName, new Put[] { put5 });<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>    Put put6 = new Put(mobKey6);<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    put6.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20160103Sunday,<a name="line.959"></a>
-<span class="sourceLineNo">960</span>        Bytes.toBytes(mobValue6));<a name="line.960"></a>
-<span class="sourceLineNo">961</span>    loadData(admin, bufMut, tableName, new Put[] { put6 });<a name="line.961"></a>
-<span class="sourceLineNo">962</span><a name="line.962"></a>
-<span class="sourceLineNo">963</span>    Put put7 = new Put(mobKey7);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    put7.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20150907Monday,<a name="line.964"></a>
-<span class="sourceLineNo">965</span>        Bytes.toBytes(mobValue7));<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    loadData(admin, bufMut, tableName, new Put[] { put7 });<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    Put put8 = new Put(mobKey8);<a name="line.968"></a>
-<span class="sourceLineNo">969</span>    put8.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151120Sunday,<a name="line.969"></a>
-<span class="sourceLineNo">970</span>        Bytes.toBytes(mobValue8));<a name="line.970"></a>
-<span class="sourceLineNo">971</span>    loadData(admin, bufMut, tableName, new Put[] { put8 });<a name="line.971"></a>
-<span class="sourceLineNo">972</span>  }<a name="line.972"></a>
+<span class="sourceLineNo">744</span>      }<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
+<span class="sourceLineNo">746</span>  }<a name="line.746"></a>
+<span class="sourceLineNo">747</span><a name="line.747"></a>
+<span class="sourceLineNo">748</span>  private void waitUntilMobCompactionFinished(TableName tableName) throws IOException,<a name="line.748"></a>
+<span class="sourceLineNo">749</span>    InterruptedException {<a name="line.749"></a>
+<span class="sourceLineNo">750</span>    long finished = EnvironmentEdgeManager.currentTime() + 60000;<a name="line.750"></a>
+<span class="sourceLineNo">751</span>    CompactionState state = admin.getCompactionState(tableName, CompactType.MOB);<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    while (EnvironmentEdgeManager.currentTime() &lt; finished) {<a name="line.752"></a>
+<span class="sourceLineNo">753</span>      if (state == CompactionState.NONE) {<a name="line.753"></a>
+<span class="sourceLineNo">754</span>        break;<a name="line.754"></a>
+<span class="sourceLineNo">755</span>      }<a name="line.755"></a>
+<span class="sourceLineNo">756</span>      state = admin.getCompactionState(tableName, CompactType.MOB);<a name="line.756"></a>
+<span class="sourceLineNo">757</span>      Thread.sleep(10);<a name="line.757"></a>
+<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
+<span class="sourceLineNo">759</span>    assertEquals(CompactionState.NONE, state);<a name="line.759"></a>
+<span class="sourceLineNo">760</span>  }<a name="line.760"></a>
+<span class="sourceLineNo">761</span><a name="line.761"></a>
+<span class="sourceLineNo">762</span>  /**<a name="line.762"></a>
+<span class="sourceLineNo">763</span>   * Gets the number of rows in the given table.<a name="line.763"></a>
+<span class="sourceLineNo">764</span>   * @param table to get the  scanner<a name="line.764"></a>
+<span class="sourceLineNo">765</span>   * @return the number of rows<a name="line.765"></a>
+<span class="sourceLineNo">766</span>   */<a name="line.766"></a>
+<span class="sourceLineNo">767</span>  private int countMobRows(final Table table) throws IOException {<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    Scan scan = new Scan();<a name="line.768"></a>
+<span class="sourceLineNo">769</span>    // Do not retrieve the mob data when scanning<a name="line.769"></a>
+<span class="sourceLineNo">770</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.770"></a>
+<span class="sourceLineNo">771</span>    return TEST_UTIL.countRows(table, scan);<a name="line.771"></a>
+<span class="sourceLineNo">772</span>  }<a name="line.772"></a>
+<span class="sourceLineNo">773</span><a name="line.773"></a>
+<span class="sourceLineNo">774</span>  /**<a name="line.774"></a>
+<span class="sourceLineNo">775</span>   * Gets the number of cells in the given table.<a name="line.775"></a>
+<span class="sourceLineNo">776</span>   * @param table to get the  scanner<a name="line.776"></a>
+<span class="sourceLineNo">777</span>   * @return the number of cells<a name="line.777"></a>
+<span class="sourceLineNo">778</span>   */<a name="line.778"></a>
+<span class="sourceLineNo">779</span>  private int countMobCells(final Table table) throws IOException {<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    Scan scan = new Scan();<a name="line.780"></a>
+<span class="sourceLineNo">781</span>    // Do not retrieve the mob data when scanning<a name="line.781"></a>
+<span class="sourceLineNo">782</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.782"></a>
+<span class="sourceLineNo">783</span>    ResultScanner results = table.getScanner(scan);<a name="line.783"></a>
+<span class="sourceLineNo">784</span>    int count = 0;<a name="line.784"></a>
+<span class="sourceLineNo">785</span>    for (Result res : results) {<a name="line.785"></a>
+<span class="sourceLineNo">786</span>      count += res.size();<a name="line.786"></a>
+<span class="sourceLineNo">787</span>    }<a name="line.787"></a>
+<span class="sourceLineNo">788</span>    results.close();<a name="line.788"></a>
+<span class="sourceLineNo">789</span>    return count;<a name="line.789"></a>
+<span class="sourceLineNo">790</span>  }<a name="line.790"></a>
+<span class="sourceLineNo">791</span><a name="line.791"></a>
+<span class="sourceLineNo">792</span>  /**<a name="line.792"></a>
+<span class="sourceLineNo">793</span>   * Gets the number of files in the mob path.<a name="line.793"></a>
+<span class="sourceLineNo">794</span>   * @param isMobFile gets number of the mob files or del files<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   * @param familyName the family name<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * @return the number of the files<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
+<span class="sourceLineNo">798</span>  private int countFiles(TableName tableName, boolean isMobFile, String familyName)<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    throws IOException {<a name="line.799"></a>
+<span class="sourceLineNo">800</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.800"></a>
+<span class="sourceLineNo">801</span>    int count = 0;<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    if (fs.exists(mobDirPath)) {<a name="line.802"></a>
+<span class="sourceLineNo">803</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.803"></a>
+<span class="sourceLineNo">804</span>      for (FileStatus file : files) {<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (isMobFile == true) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          if (!StoreFileInfo.isDelFile(file.getPath())) {<a name="line.806"></a>
+<span class="sourceLineNo">807</span>            count++;<a name="line.807"></a>
+<span class="sourceLineNo">808</span>          }<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        } else {<a name="line.809"></a>
+<span class="sourceLineNo">810</span>          if (StoreFileInfo.isDelFile(file.getPath())) {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>            count++;<a name="line.811"></a>
+<span class="sourceLineNo">812</span>          }<a name="line.812"></a>
+<span class="sourceLineNo">813</span>        }<a name="line.813"></a>
+<span class="sourceLineNo">814</span>      }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>    }<a name="line.815"></a>
+<span class="sourceLineNo">816</span>    return count;<a name="line.816"></a>
+<span class="sourceLineNo">817</span>  }<a name="line.817"></a>
+<span class="sourceLineNo">818</span><a name="line.818"></a>
+<span class="sourceLineNo">819</span>  private boolean verifyEncryption(TableName tableName, String familyName) throws IOException {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.820"></a>
+<span class="sourceLineNo">821</span>    boolean hasFiles = false;<a name="line.821"></a>
+<span class="sourceLineNo">822</span>    if (fs.exists(mobDirPath)) {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.823"></a>
+<span class="sourceLineNo">824</span>      hasFiles = files != null &amp;&amp; files.length &gt; 0;<a name="line.824"></a>
+<span class="sourceLineNo">825</span>      Assert.assertTrue(hasFiles);<a name="line.825"></a>
+<span class="sourceLineNo">826</span>      Path path = files[0].getPath();<a name="line.826"></a>
+<span class="sourceLineNo">827</span>      CacheConfig cacheConf = new CacheConfig(conf);<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      HStoreFile sf = new HStoreFile(TEST_UTIL.getTestFileSystem(), path, conf, cacheConf,<a name="line.828"></a>
+<span class="sourceLineNo">829</span>        BloomType.NONE, true);<a name="line.829"></a>
+<span class="sourceLineNo">830</span>      sf.initReader();<a name="line.830"></a>
+<span class="sourceLineNo">831</span>      HFile.Reader reader = sf.getReader().getHFileReader();<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      byte[] encryptionKey = reader.getTrailer().getEncryptionKey();<a name="line.832"></a>
+<span class="sourceLineNo">833</span>      Assert.assertTrue(null != encryptionKey);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>      Assert.assertTrue(reader.getFileContext().getEncryptionContext().getCipher().getName()<a name="line.834"></a>
+<span class="sourceLineNo">835</span>        .equals(HConstants.CIPHER_AES));<a name="line.835"></a>
+<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
+<span class="sourceLineNo">837</span>    return hasFiles;<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>  /**<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   * Gets the number of HFileLink in the mob path.<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * @param familyName the family name<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * @return the number of the HFileLink<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   */<a name="line.844"></a>
+<span class="sourceLineNo">845</span>  private int countHFileLinks(String familyName) throws IOException {<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.846"></a>
+<span class="sourceLineNo">847</span>    int count = 0;<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    if (fs.exists(mobDirPath)) {<a name="line.848"></a>
+<span class="sourceLineNo">849</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      for (FileStatus file : files) {<a name="line.850"></a>
+<span class="sourceLineNo">851</span>        if (HFileLink.isHFileLink(file.getPath())) {<a name="line.851"></a>
+<span class="sourceLineNo">852</span>          count++;<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>    }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    return count;<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>  /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span>   * Gets the number of files.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>   * @param size the size of the file<a name="line.861"></a>
+<span class="sourceLineNo">862</span>   * @param tableName the current table name<a name="line.862"></a>
+<span class="sourceLineNo">863</span>   * @param familyName the family name<a name="line.863"></a>
+<span class="sourceLineNo">864</span>   * @return the number of files large than the size<a name="line.864"></a>
+<span class="sourceLineNo">865</span>   */<a name="line.865"></a>
+<span class="sourceLineNo">866</span>  private int countLargeFiles(int size, TableName tableName, String familyName) throws IOException {<a name="line.866"></a>
+<span class="sourceLineNo">867</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    int count = 0;<a name="line.868"></a>
+<span class="sourceLineNo">869</span>    if (fs.exists(mobDirPath)) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.870"></a>
+<span class="sourceLineNo">871</span>      for (FileStatus file : files) {<a name="line.871"></a>
+<span class="sourceLineNo">872</span>        // ignore the del files in the mob path<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        if ((!StoreFileInfo.isDelFile(file.getPath())) &amp;&amp; (file.getLen() &gt; size)) {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          count++;<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      }<a name="line.876"></a>
+<span class="sourceLineNo">877</span>    }<a name="line.877"></a>
+<span class="sourceLineNo">878</span>    return count;<a name="line.878"></a>
+<span class="sourceLineNo">879</span>  }<a name="line.879"></a>
+<span class="sourceLineNo">880</span><a name="line.880"></a>
+<span class="sourceLineNo">881</span>  /**<a name="line.881"></a>
+<span class="sourceLineNo">882</span>   * loads some data to the table.<a name="line.882"></a>
+<span class="sourceLineNo">883</span>   */<a name="line.883"></a>
+<span class="sourceLineNo">884</span>  private void loadData(Admin admin, BufferedMutator table, TableName tableName, int fileNum,<a name="line.884"></a>
+<span class="sourceLineNo">885</span>    int rowNumPerFile) throws IOException, InterruptedException {<a name="line.885"></a>
+<span class="sourceLineNo">886</span>    if (fileNum &lt;= 0) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      throw new IllegalArgumentException();<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>    for (int i = 0; i &lt; fileNum * rowNumPerFile; i++) {<a name="line.889"></a>
+<span class="sourceLineNo">890</span>      for (byte k0 : KEYS) {<a name="line.890"></a>
+<span class="sourceLineNo">891</span>        byte[] k = new byte[] { k0 };<a name="line.891"></a>
+<span class="sourceLineNo">892</span>        byte[] key = Bytes.add(k, Bytes.toBytes(i));<a name="line.892"></a>
+<span class="sourceLineNo">893</span>        byte[] mobVal = makeDummyData(10 * (i + 1));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>        Put put = new Put(key);<a name="line.894"></a>
+<span class="sourceLineNo">895</span>        put.setDurability(Durability.SKIP_WAL);<a name="line.895"></a>
+<span class="sourceLineNo">896</span>        put.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), mobVal);<a name="line.896"></a>
+<span class="sourceLineNo">897</span>        put.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf2), mobVal);<a name="line.897"></a>
+<span class="sourceLineNo">898</span>        put.addColumn(Bytes.toBytes(family2), Bytes.toBytes(qf1), mobVal);<a name="line.898"></a>
+<span class="sourceLineNo">899</span>        table.mutate(put);<a name="line.899"></a>
+<span class="sourceLineNo">900</span>      }<a name="line.900"></a>
+<span class="sourceLineNo">901</span>      if ((i + 1) % rowNumPerFile == 0) {<a name="line.901"></a>
+<span class="sourceLineNo">902</span>        table.flush();<a name="line.902"></a>
+<span class="sourceLineNo">903</span>        admin.flush(tableName);<a name="line.903"></a>
+<span class="sourceLineNo">904</span>      }<a name="line.904"></a>
+<span class="sourceLineNo">905</span>    }<a name="line.905"></a>
+<span class="sourceLineNo">906</span>  }<a name="line.906"></a>
+<span class="sourceLineNo">907</span><a name="line.907"></a>
+<span class="sourceLineNo">908</span>  private void loadData(Admin admin, BufferedMutator table, TableName tableName, Put[] puts)<a name="line.908"></a>
+<span class="sourceLineNo">909</span>    throws IOException {<a name="line.909"></a>
+<span class="sourceLineNo">910</span>    table.mutate(Arrays.asList(puts));<a name="line.910"></a>
+<span class="sourceLineNo">911</span>    table.flush();<a name="line.911"></a>
+<span class="sourceLineNo">912</span>    admin.flush(tableName);<a name="line.912"></a>
+<span class="sourceLineNo">913</span>  }<a name="line.913"></a>
+<span class="sourceLineNo">914</span><a name="line.914"></a>
+<span class="sourceLineNo">915</span>  private void loadDataForPartitionPolicy(Admin admin, BufferedMutator table, TableName tableName)<a name="line.915"></a>
+<span class="sourceLineNo">916</span>      throws IOException {<a name="line.916"></a>
+<span class="sourceLineNo">917</span><a name="line.917"></a>
+<span class="sourceLineNo">918</span>    Put[] pArray = new Put[1000];<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span>    for (int i = 0; i &lt; 1000; i ++) {<a name="line.920"></a>
+<span class="sourceLineNo">921</span>      Put put0 = new Put(Bytes.toBytes("r0" + i));<a name="line.921"></a>
+<span class="sourceLineNo">922</span>      put0.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151130Monday, Bytes.toBytes(mobValue0));<a name="line.922"></a>
+<span class="sourceLineNo">923</span>      pArray[i] = put0;<a name="line.923"></a>
+<span class="sourceLineNo">924</span>    }<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    loadData(admin, bufMut, tableName, pArray);<a name="line.925"></a>
+<span class="sourceLineNo">926</span><a name="line.926"></a>
+<span class="sourceLineNo">927</span>    Put put06 = new Put(mobKey06);<a name="line.927"></a>
+<span class="sourceLineNo">928</span>    put06.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151128Saturday, Bytes.toBytes(mobValue0));<a name="line.928"></a>
+<span class="sourceLineNo">929</span><a name="line.929"></a>
+<span class="sourceLineNo">930</span>    loadData(admin, bufMut, tableName, new Put[] { put06 });<a name="line.930"></a>
+<span class="sourceLineNo">931</span><a name="line.931"></a>
+<span class="sourceLineNo">932</span>    Put put1 = new Put(mobKey1);<a name="line.932"></a>
+<span class="sourceLineNo">933</span>    put1.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151201Tuesday,<a name="line.933"></a>
+<span class="sourceLineNo">934</span>        Bytes.toBytes(mobValue1));<a name="line.934"></a>
+<span class="sourceLineNo">935</span>    loadData(admin, bufMut, tableName, new Put[] { put1 });<a name="line.935"></a>
+<span class="sourceLineNo">936</span><a name="line.936"></a>
+<span class="sourceLineNo">937</span>    Put put2 = new Put(mobKey2);<a name="line.937"></a>
+<span class="sourceLineNo">938</span>    put2.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151205Saturday,<a name="line.938"></a>
+<span class="sourceLineNo">939</span>        Bytes.toBytes(mobValue2));<a name="line.939"></a>
+<span class="sourceLineNo">940</span>    loadData(admin, bufMut, tableName, new Put[] { put2 });<a name="line.940"></a>
+<span class="sourceLineNo">941</span><a name="line.941"></a>
+<span class="sourceLineNo">942</span>    Put put3 = new Put(mobKey3);<a name="line.942"></a>
+<span class="sourceLineNo">943</span>    put3.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151228Monday,<a name="line.943"></a>
+<span class="sourceLineNo">944</span>        Bytes.toBytes(mobValue3));<a name="line.944"></a>
+<span class="sourceLineNo">945</span>    loadData(admin, bufMut, tableName, new Put[] { put3 });<a name="line.945"></a>
+<span class="sourceLineNo">946</span><a name="line.946"></a>
+<span class="sourceLineNo">947</span>    Put put4 = new Put(mobKey4);<a name="line.947"></a>
+<span class="sourceLineNo">948</span>    put4.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151231Thursday,<a name="line.948"></a>
+<span class="sourceLineNo">949</span>        Bytes.toBytes(mobValue4));<a name="line.949"></a>
+<span class="sourceLineNo">950</span>    loadData(admin, bufMut, tableName, new Put[] { put4 });<a name="line.950"></a>
+<span class="sourceLineNo">951</span><a name="line.951"></a>
+<span class="sourceLineNo">952</span>    Put put5 = new Put(mobKey5);<a name="line.952"></a>
+<span class="sourceLineNo">953</span>    put5.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20160101Friday,<a name="line.953"></a>
+<span class="sourceLineNo">954</span>        Bytes.toBytes(mobValue5));<a name="line.954"></a>
+<span class="sourceLineNo">955</span>    loadData(admin, bufMut, tableName, new Put[] { put5 });<a name="line.955"></a>
+<span class="sourceLineNo">956</span><a name="line.956"></a>
+<span class="sourceLineNo">957</span>    Put put6 = new Put(mobKey6);<a name="line.957"></a>
+<span class="sourceLineNo">958</span>    put6.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20160103Sunday,<a name="line.958"></a>
+<span class="sourceLineNo">959</span>        Bytes.toBytes(mobValue6));<a name="line.959"></a>
+<span class="sourceLineNo">960</span>    loadData(admin, bufMut, tableName, new Put[] { put6 });<a name="line.960"></a>
+<span class="sourceLineNo">961</span><a name="line.961"></a>
+<span class="sourceLineNo">962</span>    Put put7 = new Put(mobKey7);<a name="line.962"></a>
+<span class="sourceLineNo">963</span>    put7.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20150907Monday,<a name="line.963"></a>
+<span class="sourceLineNo">964</span>        Bytes.toBytes(mobValue7));<a name="line.964"></a>
+<span class="sourceLineNo">965</span>    loadData(admin, bufMut, tableName, new Put[] { put7 });<a name="line.965"></a>
+<span class="sourceLineNo">966</span><a name="line.966"></a>
+<span class="sourceLineNo">967</span>    Put put8 = new Put(mobKey8);<a name="line.967"></a>
+<span class="sourceLineNo">968</span>    put8.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151120Sunday,<a name="line.968"></a>
+<span class="sourceLineNo">969</span>        Bytes.toBytes(mobValue8));<a name="line.969"></a>
+<span class="sourceLineNo">970</span>    loadData(admin, bufMut, tableName, new Put[] { put8 });<a name="line.970"></a>
+<span class="sourceLineNo">971</span>  }<a name="line.971"></a>
+<span class="sourceLineNo">972</span><a name="line.972"></a>
 <span class="sourceLineNo">973</span><a name="line.973"></a>
-<span class="sourceLineNo">974</span><a name="line.974"></a>
-<span class="sourceLineNo">975</span>  /**<a name="line.975"></a>
-<span class="sourceLineNo">976</span>   * delete the row, family and cell to create the del file<a name="line.976"></a>
-<span class="sourceLineNo">977</span>   */<a name="line.977"></a>
-<span class="sourceLineNo">978</span>  private void createDelFile(Table table, TableName tableName, byte[] family, byte[] qf)<a name="line.978"></a>
-<span class="sourceLineNo">979</span>    throws IOException, InterruptedException {<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    for (byte k0 : KEYS) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      byte[] k = new byte[] { k0 };<a name="line.981"></a>
-<span class="sourceLineNo">982</span>      // delete a family<a name="line.982"></a>
-<span class="sourceLineNo">983</span>      byte[] key1 = Bytes.add(k, Bytes.toBytes(0));<a name="line.983"></a>
-<span class="sourceLineNo">984</span>      Delete delete1 = new Delete(key1);<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      delete1.addFamily(family);<a name="line.985"></a>
-<span class="sourceLineNo">986</span>      table.delete(delete1);<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      // delete one row<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      byte[] key2 = Bytes.add(k, Bytes.toBytes(2));<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      Delete delete2 = new Delete(key2);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>      table.delete(delete2);<a name="line.990"></a>
-<span class="sourceLineNo">991</span>      // delete one cell<a name="line.991"></a>
-<span class="sourceLineNo">992</span>      byte[] key3 = Bytes.add(k, Bytes.toBytes(4));<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      Delete delete3 = new Delete(key3);<a name="line.993"></a>
-<span class="sourceLineNo">994</span>      delete3.addColumn(family, qf);<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      table.delete(delete3);<a name="line.995"></a>
-<span class="sourceLineNo">996</span>    }<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    admin.flush(tableName);<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    List&lt;HRegion&gt; regions = TEST_UTIL.getHBaseCluster().getRegions(tableName);<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    for (HRegion region : regions) {<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>      region.waitForFlushesAndCompactions();<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      region.compact(true);<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>  }<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>  /**<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>   * Creates the dummy data with a specific size.<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>   * @param size the size of value<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>   * @return the dummy data<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>   */<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>  private byte[] makeDummyData(int size) {<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    byte[] dummyData = new byte[size];<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>    new Random().nextBytes(dummyData);<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    return dummyData;<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>  }<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span><a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>  /**<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   * Gets the split keys<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>   */<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  private byte[][] getSplitKeys() {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>    byte[][] splitKeys = new byte[KEYS.length - 1][];<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    for (int i = 0; i &lt; splitKeys.length; ++i) {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      splitKeys[i] = new byte[] { KEYS[i + 1] };<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>    return splitKeys;<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>  }<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span><a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>  private static ExecutorService createThreadPool(Configuration conf) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>    int maxThreads = 10;<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    long keepAliveTime = 60;<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>    final SynchronousQueue&lt;Runnable&gt; queue = new SynchronousQueue&lt;&gt;();<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads,<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>        keepAliveTime, TimeUnit.SECONDS, queue,<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>        Threads.newDaemonThreadFactory("MobFileCompactionChore"),<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>        new RejectedExecutionHandler() {<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>          @Override<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>          public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>            try {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>              // waiting for a thread to pick up instead of throwing exceptions.<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>              queue.put(r);<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>            } catch (InterruptedException e) {<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>              throw new RejectedExecutionException(e);<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>            }<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>          }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>        });<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    ((ThreadPoolExecutor) pool).allowCoreThreadTimeOut(true);<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>    return pool;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>  }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  private void assertRefFileNameEqual(String familyName) throws IOException {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>    Scan scan = new Scan();<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    scan.addFamily(Bytes.toBytes(familyName));<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>    // Do not retrieve the mob data when scanning<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>    ResultScanner results = table.getScanner(scan);<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>    Path mobFamilyPath = MobUtils.getMobFamilyPath(TEST_UTIL.getConfiguration(),<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>        tableName, familyName);<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>    List&lt;Path&gt; actualFilePaths = new ArrayList&lt;&gt;();<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>    List&lt;Path&gt; expectFilePaths = new ArrayList&lt;&gt;();<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    for (Result res : results) {<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>      for (Cell cell : res.listCells()) {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>        byte[] referenceValue = CellUtil.cloneValue(cell);<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>        String fileName = Bytes.toString(referenceValue, Bytes.SIZEOF_INT,<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>            referenceValue.length - Bytes.SIZEOF_INT);<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>        Path targetPath = new Path(mobFamilyPath, fileName);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>        if(!actualFilePaths.contains(targetPath)) {<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>          actualFilePaths.add(targetPath);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>        }<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      }<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    results.close();<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>    if (fs.exists(mobFamilyPath)) {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>      FileStatus[] files = fs.listStatus(mobFamilyPath);<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>      for (FileStatus file : files) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>        if (!StoreFileInfo.isDelFile(file.getPath())) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>          expectFilePaths.add(file.getPath());<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>        }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>      }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    }<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    Collections.sort(actualFilePaths);<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    Collections.sort(expectFilePaths);<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>    assertEquals(expectFilePaths, actualFilePaths);<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>  }<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span><a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>  /**<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   * Resets the configuration.<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>   */<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>  private void resetConf() {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>    conf.setLong(MobConstants.MOB_COMPACTION_MERGEABLE_THRESHOLD,<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>      MobConstants.DEFAULT_MOB_COMPACTION_MERGEABLE_THRESHOLD);<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    conf.setInt(MobConstants.MOB_COMPACTION_BATCH_SIZE,<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>      MobConstants.DEFAULT_MOB_COMPACTION_BATCH_SIZE);<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>  }<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span><a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  /**<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>   * Verify mob partition policy compaction values.<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>   */<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>  private void verifyPolicyValues() throws Exception {<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>    Get get = new Get(mobKey01);<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>    Result result = table.get(get);<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>        Bytes.toBytes(mobValue0)));<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span><a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    get = new Get(mobKey02);<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>    result = table.get(get);<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>        Bytes.toBytes(mobValue0)));<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span><a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    get = new Get(mobKey03);<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>    result = table.get(get);<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>        Bytes.toBytes(mobValue0)));<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span><a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    get = new Get(mobKey04);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>    result = table.get(get);<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>        Bytes.toBytes(mobValue0)));<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    get = new Get(mobKey05);<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>    result = table.get(get);<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>        Bytes.toBytes(mobValue0)));<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span><a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    get = new Get(mobKey06);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>    result = table.get(get);<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>        Bytes.toBytes(mobValue0)));<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span><a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    get = new Get(mobKey1);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>    result = table.get(get);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>        Bytes.toBytes(mobValue1)));<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span><a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    get = new Get(mobKey2);<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    result = table.get(get);<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>        Bytes.toBytes(mobValue2)));<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span><a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    get = new Get(mobKey3);<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>    result = table.get(get);<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>        Bytes.toBytes(mobValue3)));<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span><a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    get = new Get(mobKey4);<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>    result = table.get(get);<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>        Bytes.toBytes(mobValue4)));<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    get = new Get(mobKey5);<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>    result = table.get(get);<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>        Bytes.toBytes(mobValue5)));<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span><a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    get = new Get(mobKey6);<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>    result = table.get(get);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>        Bytes.toBytes(mobValue6)));<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span><a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    get = new Get(mobKey7);<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>    result = table.get(get);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>        Bytes.toBytes(mobValue7)));<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    get = new Get(mobKey8);<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>    result = table.get(get);<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>        Bytes.toBytes(mobValue8)));<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  }<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span><a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  private void commonPolicyTestLogic (final String tableNameAsString,<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>      final MobCompactPartitionPolicy pType, final boolean majorCompact,<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>      final int expectedFileNumbers, final String[] expectedFileNames,<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>      final boolean setupAndLoadData<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>      ) throws Exception {<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>    if (setupAndLoadData) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>      setUpForPolicyTest(tableNameAsString, pType);<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span><a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>      loadDataForPartitionPolicy(admin, bufMut, tableName);<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>    } else {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>      alterForPolicyTest(pType);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>    }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>    if (majorCompact) {<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>      admin.majorCompact(tableName, hcd1.getName(), CompactType.MOB);<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>    } else {<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>      admin.compact(tableName, hcd1.getName(), CompactType.MOB);<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>    }<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span><a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>    waitUntilMobCompactionFinished(tableName);<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span><a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>    // Run cleaner to make sure that files in archive directory are cleaned up<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>    TEST_UTIL.getMiniHBaseCluster().getMaster().getHFileCleaner().choreForTesting();<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span><a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>    //check the number of files<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, family1);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>    FileStatus[] fileList = fs.listStatus(mobDirPath);<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>    assertTrue(fileList.length == expectedFileNumbers);<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span><a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>    // the file names are expected<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>    ArrayList&lt;String&gt; fileNames = new ArrayList&lt;&gt;(expectedFileNumbers);<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>    for (FileStatus file : fileList) {<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>      fileNames.add(MobFileName.getDateFromName(file.getPath().getName()));<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>    }<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>    int index = 0;<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>    for (String fileName : expectedFileNames) {<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>      index = fileNames.indexOf(fileName);<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>      assertTrue(index &gt;= 0);<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>      fileNames.remove(index);<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>    }<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span><a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>    // Check daily mob files are removed from the mobdir, and only weekly mob files are there.<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>    // Also check that there is no data loss.<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span><a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>    verifyPolicyValues();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>  }<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">974</span>  /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span>   * delete the row, family and cell to create the del file<a name="line.975"></a>
+<span class="sourceLineNo">976</span>   */<a name="line.976"></a>
+<span class="sourceLineNo">977</span>  private void createDelFile(Table table, TableName tableName, byte[] family, byte[] qf)<a name="line.977"></a>
+<span class="sourceLineNo">978</span>    throws IOException, InterruptedException {<a name="line.978"></a>
+<span class="sourceLineNo">979</span>    for (byte k0 : KEYS) {<a name="line.979"></a>
+<span class="sourceLineNo">980</span>      byte[] k = new byte[] { k0 };<a name="line.980"></a>
+<span class="sourceLineNo">981</span>      // delete a family<a name="line.981"></a>
+<span class="sourceLineNo">982</span>      byte[] key1 = Bytes.add(k, Bytes.toBytes(0));<a name="line.982"></a>
+<span class="sourceLineNo">983</span>      Delete delete1 = new Delete(key1);<a name="line.983"></a>
+<span class="sourceLineNo">984</span>      delete1.addFamily(family);<a name="line.984"></a>
+<span class="sourceLineNo">985</span>      table.delete(delete1);<a name="line.985"></a>
+<span class="sourceLineNo">986</span>      // delete one row<a name="line.986"></a>
+<span class="sourceLineNo">987</span>      byte[] key2 = Bytes.add(k, Bytes.toBytes(2));<a name="line.987"></a>
+<span class="sourceLineNo">988</span>      Delete delete2 = new Delete(key2);<a name="line.988"></a>
+<span class="sourceLineNo">989</span>      table.delete(delete2);<a name="line.989"></a>
+<span class="sourceLineNo">990</span>      // delete one cell<a name="line.990"></a>
+<span class="sourceLineNo">991</span>      byte[] key3 = Bytes.add(k, Bytes.toBytes(4));<a name="line.991"></a>
+<span class="sourceLineNo">992</span>      Delete delete3 = new Delete(key3);<a name="line.992"></a>
+<span class="sourceLineNo">993</span>      delete3.addColumn(family, qf);<a name="line.993"></a>
+<span class="sourceLineNo">994</span>      table.delete(delete3);<a name="line.994"></a>
+<span class="sourceLineNo">995</span>    }<a name="line.995"></a>
+<span class="sourceLineNo">996</span>    admin.flush(tableName);<a name="line.996"></a>
+<span class="sourceLineNo">997</span>    List&lt;HRegion&gt; regions = TEST_UTIL.getHBaseCluster().getRegions(tableName);<a name="line.997"></a>
+<span class="sourceLineNo">998</span>    for (HRegion region : regions) {<a name="line.998"></a>
+<span class="sourceLineNo">999</span>      region.waitForFlushesAndCompactions();<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>      region.compact(true);<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>    }<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>  }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span>  /**<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>   * Creates the dummy data with a specific size.<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>   * @param size the size of value<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>   * @return the dummy data<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>   */<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span>  private byte[] makeDummyData(int size) {<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>    byte[] dummyData = new byte[size];<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>    new Random().nextBytes(dummyData);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>    return dummyData;<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>  }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span><a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>  /**<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>   * Gets the split keys<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>   */<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>  private byte[][] getSplitKeys() {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>    byte[][] splitKeys = new byte[KEYS.length - 1][];<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>    for (int i = 0; i &lt; splitKeys.length; ++i) {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>      splitKeys[i] = new byte[] { KEYS[i + 1] };<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>    }<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>    return splitKeys;<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>  }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span><a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>  private static ExecutorService createThreadPool(Configuration conf) {<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>    int maxThreads = 10;<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>    long keepAliveTime = 60;<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>    final SynchronousQueue&lt;Runnable&gt; queue = new SynchronousQueue&lt;&gt;();<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>    ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads,<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>        keepAliveTime, TimeUnit.SECONDS, queue,<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>        Threads.newDaemonThreadFactory("MobFileCompactionChore"),<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>        new RejectedExecutionHandler() {<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>          @Override<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>          public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>            try {<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>              // waiting for a thread to pick up instead of throwing exceptions.<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>              queue.put(r);<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>            } catch (InterruptedException e) {<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>              throw new RejectedExecutionException(e);<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>            }<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>          }<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>        });<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>    ((ThreadPoolExecutor) pool).allowCoreThreadTimeOut(true);<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>    return pool;<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>  }<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span><a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>  private void assertRefFileNameEqual(String familyName) throws IOException {<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>    Scan scan = new Scan();<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>    scan.addFamily(Bytes.toBytes(familyName));<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>    // Do not retrieve the mob data when scanning<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>    ResultScanner results = table.getScanner(scan);<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>    Path mobFamilyPath = MobUtils.getMobFamilyPath(TEST_UTIL.getConfiguration(),<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>        tableName, familyName);<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>    List&lt;Path&gt; actualFilePaths = new ArrayList&lt;&gt;();<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>    List&lt;Path&gt; expectFilePaths = new ArrayList&lt;&gt;();<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>    for (Result res : results) {<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>      for (Cell cell : res.listCells()) {<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>        byte[] referenceValue = CellUtil.cloneValue(cell);<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>        String fileName = Bytes.toString(referenceValue, Bytes.SIZEOF_INT,<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>            referenceValue.length - Bytes.SIZEOF_INT);<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>        Path targetPath = new Path(mobFamilyPath, fileName);<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>        if(!actualFilePaths.contains(targetPath)) {<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>          actualFilePaths.add(targetPath);<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>        }<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>      }<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>    }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>    results.close();<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>    if (fs.exists(mobFamilyPath)) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>      FileStatus[] files = fs.listStatus(mobFamilyPath);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>      for (FileStatus file : files) {<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>        if (!StoreFileInfo.isDelFile(file.getPath())) {<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>          expectFilePaths.add(file.getPath());<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>    Collections.sort(actualFilePaths);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>    Collections.sort(expectFilePaths);<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>    assertEquals(expectFilePaths, actualFilePaths);<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>  }<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span><a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>  /**<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>   * Resets the configuration.<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>  private void resetConf() {<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>    conf.setLong(MobConstants.MOB_COMPACTION_MERGEABLE_THRESHOLD,<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>      MobConstants.DEFAULT_MOB_COMPACTION_MERGEABLE_THRESHOLD);<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>    conf.setInt(MobConstants.MOB_COMPACTION_BATCH_SIZE,<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>      MobConstants.DEFAULT_MOB_COMPACTION_BATCH_SIZE);<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span><a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>  /**<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>   * Verify mob partition policy compaction values.<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>   */<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>  private void verifyPolicyValues() throws Exception {<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>    Get get = new Get(mobKey01);<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>    Result result = table.get(get);<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>        Bytes.toBytes(mobValue0)));<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span><a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>    get = new Get(mobKey02);<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>    result = table.get(get);<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>        Bytes.toBytes(mobValue0)));<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span><a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>    get = new Get(mobKey03);<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>    result = table.get(get);<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span>        Bytes.toBytes(mobValue0)));<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span><a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>    get = new Get(mobKey04);<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>    result = table.get(get);<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>        Bytes.toBytes(mobValue0)));<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span><a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>    get = new Get(mobKey05);<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>    result = table.get(get);<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>        Bytes.toBytes(mobValue0)));<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span><a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>    get = new Get(mobKey06);<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>    result = table.get(get);<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>        Bytes.toBytes(mobValue0)));<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>    get = new Get(mobKey1);<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>    result = table.get(get);<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>        Bytes.toBytes(mobValue1)));<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>    get = new Get(mobKey2);<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>    result = table.get(get);<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>        Bytes.toBytes(mobValue2)));<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span><a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>    get = new Get(mobKey3);<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>    result = table.get(get);<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>        Bytes.toBytes(mobValue3)));<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span><a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>    get = new Get(mobKey4);<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>    result = table.get(get);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>        Bytes.toBytes(mobValue4)));<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span><a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>    get = new Get(mobKey5);<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>    result = table.get(get);<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>        Bytes.toBytes(mobValue5)));<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span><a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>    get = new Get(mobKey6);<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    result = table.get(get);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>        Bytes.toBytes(mobValue6)));<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>    get = new Get(mobKey7);<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>    result = table.get(get);<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>        Bytes.toBytes(mobValue7)));<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span><a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>    get = new Get(mobKey8);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>    result = table.get(get);<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>        Bytes.toBytes(mobValue8)));<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>  }<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span><a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>  private void commonPolicyTestLogic (final String tableNameAsString,<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>      final MobCompactPartitionPolicy pType, final boolean majorCompact,<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>      final int expectedFileNumbers, final String[] expectedFileNames,<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>      final boolean setupAndLoadData<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>      ) throws Exception {<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>    if (setupAndLoadData) {<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>      setUpForPolicyTest(tableNameAsString, pType);<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span><a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>      loadDataForPartitionPolicy(admin, bufMut, tableName);<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>    } else {<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>      alterForPolicyTest(pType);<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>    }<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span><a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>    if (majorCompact) {<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>      admin.majorCompact(tableName, hcd1.getName(), CompactType.MOB);<a name="line.11

<TRUNCATED>

[14/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.ExampleRegionObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.ExampleRegionObserver.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.ExampleRegionObserver.html
index 9fd977c..dbe5063 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.ExampleRegionObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ExampleRegionObserverWithMetrics.ExampleRegionObserver.html
@@ -329,10 +329,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Region
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preGetOp-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-java.util.List-">RegionObserver</a></code></span></div>
 <div class="block">Called before the client performs a Get
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preGetOp-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-java.util.List-">preGetOp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></code></dd>
@@ -360,9 +357,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Region
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postGetOp-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-java.util.List-">RegionObserver</a></code></span></div>
 <div class="block">Called after the client performs a Get
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'result' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ScanModifyingObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ScanModifyingObserver.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ScanModifyingObserver.html
index 429b431..504e5b7 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ScanModifyingObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/ScanModifyingObserver.html
@@ -387,9 +387,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Region
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preScannerOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Scan-">RegionObserver</a></code></span></div>
 <div class="block">Called before the client opens a new scanner.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/coprocessor/example/WriteHeavyIncrementObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/WriteHeavyIncrementObserver.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/WriteHeavyIncrementObserver.html
index 21ad53a..5872418 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/example/WriteHeavyIncrementObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/example/WriteHeavyIncrementObserver.html
@@ -626,10 +626,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Region
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preGetOp-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-java.util.List-">RegionObserver</a></code></span></div>
 <div class="block">Called before the client performs a Get
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preGetOp-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-java.util.List-">preGetOp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></code></dd>
@@ -667,9 +664,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Region
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>

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

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

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html b/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html
index 21c7df5..06d7dd3 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/MasterCoprocessorHost.MasterObserverOperation.html
@@ -186,7 +186,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete--">complete</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isCompleable--">isCompleable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/O
 bserverContextImpl.html#shouldBypass--">shouldBypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldComplete--">shouldComplete</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldBypass--">shouldBypass</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
index 2450aaa..a01cdad 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
@@ -197,8 +197,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index db3e637..88cb46d 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -332,11 +332,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
 </ul>
 </li>
 </ul>

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 86a2795..43c5cdf 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -203,11 +203,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.BulkLoadObserverOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.BulkLoadObserverOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.BulkLoadObserverOperation.html
index 628ea9e..94a0d86 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.BulkLoadObserverOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.BulkLoadObserverOperation.html
@@ -176,7 +176,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete--">complete</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isCompleable--">isCompleable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/O
 bserverContextImpl.html#shouldBypass--">shouldBypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldComplete--">shouldComplete</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldBypass--">shouldBypass</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionObserverOperationWithoutResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionObserverOperationWithoutResult.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionObserverOperationWithoutResult.html
index 662d5c1..5a19754 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionObserverOperationWithoutResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionObserverOperationWithoutResult.html
@@ -186,7 +186,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete--">complete</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isCompleable--">isCompleable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/O
 bserverContextImpl.html#shouldBypass--">shouldBypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldComplete--">shouldComplete</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldBypass--">shouldBypass</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerObserverOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerObserverOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerObserverOperation.html
index a66da89..12b68e9 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerObserverOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerObserverOperation.html
@@ -179,7 +179,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete--">complete</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isCompleable--">isCompleable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/O
 bserverContextImpl.html#shouldBypass--">shouldBypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldComplete--">shouldComplete</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldBypass--">shouldBypass</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.WALObserverOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.WALObserverOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.WALObserverOperation.html
index 52eb897..93c53fb 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.WALObserverOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.WALObserverOperation.html
@@ -176,7 +176,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Coprocess
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete--">complete</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isCompleable--">isCompleable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../../org/apache
 /hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldBypass--">shouldBypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldComplete--">shouldComplete</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldBypass--">shouldBypass</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
index e7733f9..5585e25 100644
--- a/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/replication/regionserver/package-tree.html
@@ -197,8 +197,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceShipper.WorkerState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactoryImpl.SourceHolder.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">MetricsReplicationSourceFactoryImpl.SourceHolder</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="../../../../../../org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceShipper.WorkerState.html" title="enum in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">ReplicationSourceShipper.WorkerState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html b/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
index 9cd69a6..4b176d0 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/AccessController.html
@@ -3279,10 +3279,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preGetOp-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-java.util.List-">RegionObserver</a></code></span></div>
 <div class="block">Called before the client performs a Get
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preGetOp-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-java.util.List-">preGetOp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></code></dd>
@@ -3310,10 +3307,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preExists-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-boolean-">RegionObserver</a></code></span></div>
 <div class="block">Called before the client tests for existence using a Get.
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preExists-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-boolean-">preExists</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></code></dd>
@@ -3344,9 +3338,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3375,9 +3366,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postPut-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Put-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.hbase.client.Durability-">RegionObserver</a></code></span></div>
 <div class="block">Called after the client stores a value.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3407,9 +3395,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3468,9 +3453,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postDelete-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Delete-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.hbase.client.Durability-">RegionObserver</a></code></span></div>
 <div class="block">Called after the client deletes a value.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3506,9 +3488,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3554,9 +3533,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3598,9 +3574,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3645,9 +3618,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3682,9 +3652,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3718,9 +3685,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3750,9 +3714,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3786,8 +3747,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
- <p>
  Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3849,9 +3808,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preScannerOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Scan-">RegionObserver</a></code></span></div>
 <div class="block">Called before the client opens a new scanner.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3878,9 +3834,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.regionserver.RegionScanner-">RegionObserver</a></code></span></div>
 <div class="block">Called after the client opens a new scanner.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3914,9 +3867,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -3949,10 +3899,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preScannerClose-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-">RegionObserver</a></code></span></div>
 <div class="block">Called before the client closes a scanner.
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preScannerClose-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-">preScannerClose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></code></dd>
@@ -3974,10 +3921,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
                              <a href="../../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerClose-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-">RegionObserver</a></code></span></div>
-<div class="block">Called after the client closes a scanner.
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+<div class="block">Called after the client closes a scanner.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerClose-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-">postScannerClose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
index 6ae5fc1..0d94484 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -136,9 +136,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html b/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
index f076db3..7483ecd 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
@@ -364,9 +364,8 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#ObserverContextImpl-org.apache.hadoop.hbase.security.User-">ObserverContextImpl</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;caller)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#ObserverContextImpl-org.apache.hadoop.hbase.security.User-boolean-boolean-">ObserverContextImpl</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;caller,
-                   boolean&nbsp;bypassable,
-                   boolean&nbsp;completable)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#ObserverContextImpl-org.apache.hadoop.hbase.security.User-boolean-">ObserverContextImpl</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;caller,
+                   boolean&nbsp;bypassable)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html#ObserverOperation-org.apache.hadoop.hbase.coprocessor.CoprocessorHost.ObserverGetter-org.apache.hadoop.hbase.security.User-">ObserverOperation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="type parameter in CoprocessorHost.ObserverOperation">O</a>&gt;&nbsp;observerGetter,

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


[03/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/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 69d94cb..decbcd0 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -567,15 +567,15 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/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/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/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/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/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/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/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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index b97ba43..eed5434 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -205,9 +205,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery.TestStateMachineProcedure.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestYieldProcedures.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestYieldProcedures.TestStateMachineProcedure.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestStateMachineProcedure.TestSMProcedureState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.TestStateMachineProcedure.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestProcedureRecovery.TestStateMachineProcedure.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/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 a85063f..4165668 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -630,10 +630,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/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/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/TestRegionServerReadRequestMetrics.Metric.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionServerReadRequestMetrics.Metric</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/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 7f4ff8d..93f2c04 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="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.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/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>
 <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/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/IntegrationTestBigLinkedList.Generator.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Generator.Counts</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/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 0849d3a..cd321e0 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -141,8 +141,8 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.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/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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index 2de7648..136dc51 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -2867,6 +2867,8 @@
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestMultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter"><span class="typeNameLink">TestMultiRowRangeFilter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/TestMultiRowResource.html" title="class in org.apache.hadoop.hbase.rest"><span class="typeNameLink">TestMultiRowResource</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.<a href="org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.html" title="class in org.apache.hadoop.hbase.replication"><span class="typeNameLink">TestMultiSlaveReplication</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultiTableInputFormatBase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultiTableInputFormatBase.MRSplitsConnection</span></a> (implements org.apache.hadoop.hbase.client.Connection)</li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultiTableSnapshotInputFormatImpl</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.ScanWithEquals.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultiTableSnapshotInputFormatImpl.ScanWithEquals</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultithreadedTableMapper.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultithreadedTableMapper</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html
new file mode 100644
index 0000000..2383fda
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html
@@ -0,0 +1,316 @@
+<!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.mapreduce;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import org.apache.hadoop.conf.Configuration;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.hadoop.hbase.CategoryBasedTimeout;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.HConstants;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.ServerName;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.TableName;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.client.Admin;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.client.BufferedMutator;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.client.BufferedMutatorParams;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.Result;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.Table;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.TableBuilder;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.io.ImmutableBytesWritable;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.security.User;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.junit.After;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.junit.AfterClass;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.junit.Assert;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.junit.BeforeClass;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.junit.Rule;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.junit.Test;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.junit.experimental.categories.Category;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.junit.rules.TestName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.junit.rules.TestRule;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.mockito.Mockito;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.mockito.invocation.InvocationOnMock;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.mockito.stubbing.Answer;<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.io.IOException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.ArrayList;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.Arrays;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.List;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.Map;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.TreeMap;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import java.util.concurrent.ExecutorService;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>import static org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_TABLE_NAME;<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>/**<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * Tests of MultiTableInputFormatBase.<a name="line.72"></a>
+<span class="sourceLineNo">073</span> */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>@Category({SmallTests.class})<a name="line.74"></a>
+<span class="sourceLineNo">075</span>public class TestMultiTableInputFormatBase {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  @Rule public final TestName name = new TestName();<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  @Rule public final TestRule timeout = CategoryBasedTimeout.builder()<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      .withTimeout(this.getClass())<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      .withLookingForStuckThread(true)<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      .build();<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * Test getSplits only puts up one Connection.<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * In past it has put up many Connections. Each Connection setup comes with a fresh new cache<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * so we have to do fresh hit on hbase:meta. Should only do one Connection when doing getSplits<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * even if a MultiTableInputFormat.<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * @throws IOException<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   */<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  @Test<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public void testMRSplitsConnectionCount() throws IOException {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    // Make instance of MTIFB.<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    MultiTableInputFormatBase mtif = new MultiTableInputFormatBase() {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      @Override<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      public RecordReader&lt;ImmutableBytesWritable, Result&gt; createRecordReader(InputSplit split,<a name="line.94"></a>
+<span class="sourceLineNo">095</span>          TaskAttemptContext context)<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      throws IOException, InterruptedException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        return super.createRecordReader(split, context);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    };<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    // Pass it a mocked JobContext. Make the JC return our Configuration.<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    // Load the Configuration so it returns our special Connection so we can interpolate<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    // canned responses.<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    JobContext mockedJobContext = Mockito.mock(JobContext.class);<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    Configuration c = HBaseConfiguration.create();<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    c.set(ClusterConnection.HBASE_CLIENT_CONNECTION_IMPL, MRSplitsConnection.class.getName());<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    Mockito.when(mockedJobContext.getConfiguration()).thenReturn(c);<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    // Invent a bunch of scans. Have each Scan go against a different table so a good spread.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    List&lt;Scan&gt; scans = new ArrayList&lt;&gt;();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    for (int i = 0; i &lt; 10; i++) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      Scan scan = new Scan();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      String tableName = this.name.getMethodName() + i;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      scan.setAttribute(SCAN_ATTRIBUTES_TABLE_NAME, Bytes.toBytes(tableName));<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      scans.add(scan);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    mtif.setScans(scans);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    // Get splits. Assert that that more than one.<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    List&lt;InputSplit&gt; splits = mtif.getSplits(mockedJobContext);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    Assert.assertTrue(splits.size() &gt; 0);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    // Assert only one Connection was made (see the static counter we have in the mocked<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    // Connection MRSplitsConnection Constructor.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    Assert.assertEquals(1, MRSplitsConnection.creations.get());<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>  /**<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * Connection to use above in Test.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   */<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public static class MRSplitsConnection implements Connection {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    private final Configuration configuration;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    static final AtomicInteger creations = new AtomicInteger(0);<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>    MRSplitsConnection (Configuration conf, ExecutorService pool, User user) throws IOException {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      this.configuration = conf;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      creations.incrementAndGet();<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>    @Override<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    public void abort(String why, Throwable e) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span>    @Override<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean isAborted() {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      return false;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    @Override<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    public Configuration getConfiguration() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      return this.configuration;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>    @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    public BufferedMutator getBufferedMutator(TableName tableName) throws IOException {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      return null;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>    @Override<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public BufferedMutator getBufferedMutator(BufferedMutatorParams params) throws IOException {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      return null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>    @Override<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    public RegionLocator getRegionLocator(final TableName tableName) throws IOException {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      // Make up array of start keys. We start off w/ empty byte array.<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      final byte [][] startKeys = new byte [][] {HConstants.EMPTY_BYTE_ARRAY,<a name="line.164"></a>
+<span class="sourceLineNo">165</span>          Bytes.toBytes("aaaa"), Bytes.toBytes("bbb"),<a name="line.165"></a>
+<span class="sourceLineNo">166</span>          Bytes.toBytes("ccc"), Bytes.toBytes("ddd"), Bytes.toBytes("eee"),<a name="line.166"></a>
+<span class="sourceLineNo">167</span>          Bytes.toBytes("fff"), Bytes.toBytes("ggg"), Bytes.toBytes("hhh"),<a name="line.167"></a>
+<span class="sourceLineNo">168</span>          Bytes.toBytes("iii"), Bytes.toBytes("lll"), Bytes.toBytes("mmm"),<a name="line.168"></a>
+<span class="sourceLineNo">169</span>          Bytes.toBytes("nnn"), Bytes.toBytes("ooo"), Bytes.toBytes("ppp"),<a name="line.169"></a>
+<span class="sourceLineNo">170</span>          Bytes.toBytes("qqq"), Bytes.toBytes("rrr"), Bytes.toBytes("sss"),<a name="line.170"></a>
+<span class="sourceLineNo">171</span>          Bytes.toBytes("ttt"), Bytes.toBytes("uuu"), Bytes.toBytes("vvv"),<a name="line.171"></a>
+<span class="sourceLineNo">172</span>          Bytes.toBytes("zzz")};<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      // Make an array of end keys. We end with the empty byte array.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      final byte [][] endKeys = new byte[][] {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>          Bytes.toBytes("aaaa"), Bytes.toBytes("bbb"),<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          Bytes.toBytes("ccc"), Bytes.toBytes("ddd"), Bytes.toBytes("eee"),<a name="line.176"></a>
+<span class="sourceLineNo">177</span>          Bytes.toBytes("fff"), Bytes.toBytes("ggg"), Bytes.toBytes("hhh"),<a name="line.177"></a>
+<span class="sourceLineNo">178</span>          Bytes.toBytes("iii"), Bytes.toBytes("lll"), Bytes.toBytes("mmm"),<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          Bytes.toBytes("nnn"), Bytes.toBytes("ooo"), Bytes.toBytes("ppp"),<a name="line.179"></a>
+<span class="sourceLineNo">180</span>          Bytes.toBytes("qqq"), Bytes.toBytes("rrr"), Bytes.toBytes("sss"),<a name="line.180"></a>
+<span class="sourceLineNo">181</span>          Bytes.toBytes("ttt"), Bytes.toBytes("uuu"), Bytes.toBytes("vvv"),<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          Bytes.toBytes("zzz"),<a name="line.182"></a>
+<span class="sourceLineNo">183</span>          HConstants.EMPTY_BYTE_ARRAY};<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      // Now make a map of start keys to HRegionLocations. Let the server namber derive from<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      // the start key.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      final Map&lt;byte [], HRegionLocation&gt; map =<a name="line.186"></a>
+<span class="sourceLineNo">187</span>          new TreeMap&lt;byte [], HRegionLocation&gt;(Bytes.BYTES_COMPARATOR);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      for (byte [] startKey: startKeys) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        HRegionLocation hrl = new HRegionLocation(<a name="line.189"></a>
+<span class="sourceLineNo">190</span>            RegionInfoBuilder.newBuilder(tableName).setStartKey(startKey).build(),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>            ServerName.valueOf(Bytes.toString(startKey), 0, 0));<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        map.put(startKey, hrl);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      // Get a list of the locations.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      final List&lt;HRegionLocation&gt; locations = new ArrayList&lt;HRegionLocation&gt;(map.values());<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      // Now make a RegionLocator mock backed by the abpve map and list of locations.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      RegionLocator mockedRegionLocator = Mockito.mock(RegionLocator.class);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      Mockito.when(mockedRegionLocator.getRegionLocation(Mockito.any(byte [].class),<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            Mockito.anyBoolean())).<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          thenAnswer(new Answer&lt;HRegionLocation&gt;() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>            @Override<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            public HRegionLocation answer(InvocationOnMock invocationOnMock) throws Throwable {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>              Object [] args = invocationOnMock.getArguments();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>              byte [] key = (byte [])args[0];<a name="line.204"></a>
+<span class="sourceLineNo">205</span>              return map.get(key);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>            }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>          });<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      Mockito.when(mockedRegionLocator.getAllRegionLocations()).thenReturn(locations);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      Mockito.when(mockedRegionLocator.getStartEndKeys()).<a name="line.209"></a>
+<span class="sourceLineNo">210</span>          thenReturn(new Pair&lt;byte [][], byte[][]&gt;(startKeys, endKeys));<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      Mockito.when(mockedRegionLocator.getName()).thenReturn(tableName);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      return mockedRegionLocator;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>    @Override<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public Admin getAdmin() throws IOException {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      Admin admin = Mockito.mock(Admin.class);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      Mockito.when(admin.getConfiguration()).thenReturn(getConfiguration());<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      return admin;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>    @Override<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    public Table getTable(TableName tableName) throws IOException {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      Table table = Mockito.mock(Table.class);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      Mockito.when(table.getName()).thenReturn(tableName);<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      return table;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>    @Override<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    public void close() throws IOException {<a name="line.230"></a>
+<span class="sourceLineNo">231</span><a name="line.231"></a>
+<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>    @Override<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    public boolean isClosed() {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      return false;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>    @Override<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    public TableBuilder getTableBuilder(TableName tableName, ExecutorService pool) {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      return Mockito.mock(TableBuilder.class);<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    }<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
+<span class="sourceLineNo">244</span>}<a name="line.244"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html
new file mode 100644
index 0000000..2383fda
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html
@@ -0,0 +1,316 @@
+<!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.mapreduce;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import org.apache.hadoop.conf.Configuration;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import org.apache.hadoop.hbase.CategoryBasedTimeout;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.HConstants;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.ServerName;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.TableName;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.client.Admin;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.client.BufferedMutator;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.client.BufferedMutatorParams;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.client.ClusterConnection;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.client.Connection;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.RegionLocator;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.Result;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.client.Table;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.client.TableBuilder;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.io.ImmutableBytesWritable;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.security.User;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.junit.After;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.junit.AfterClass;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.junit.Assert;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.junit.BeforeClass;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.junit.Rule;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.junit.Test;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.junit.experimental.categories.Category;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.junit.rules.TestName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.junit.rules.TestRule;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.mockito.Mockito;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.mockito.invocation.InvocationOnMock;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.mockito.stubbing.Answer;<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>import java.io.IOException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import java.util.ArrayList;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import java.util.Arrays;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import java.util.List;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import java.util.Map;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import java.util.TreeMap;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import java.util.concurrent.ExecutorService;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>import static org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_TABLE_NAME;<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>/**<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * Tests of MultiTableInputFormatBase.<a name="line.72"></a>
+<span class="sourceLineNo">073</span> */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>@Category({SmallTests.class})<a name="line.74"></a>
+<span class="sourceLineNo">075</span>public class TestMultiTableInputFormatBase {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  @Rule public final TestName name = new TestName();<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  @Rule public final TestRule timeout = CategoryBasedTimeout.builder()<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      .withTimeout(this.getClass())<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      .withLookingForStuckThread(true)<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      .build();<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * Test getSplits only puts up one Connection.<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * In past it has put up many Connections. Each Connection setup comes with a fresh new cache<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * so we have to do fresh hit on hbase:meta. Should only do one Connection when doing getSplits<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * even if a MultiTableInputFormat.<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * @throws IOException<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   */<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  @Test<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public void testMRSplitsConnectionCount() throws IOException {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    // Make instance of MTIFB.<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    MultiTableInputFormatBase mtif = new MultiTableInputFormatBase() {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      @Override<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      public RecordReader&lt;ImmutableBytesWritable, Result&gt; createRecordReader(InputSplit split,<a name="line.94"></a>
+<span class="sourceLineNo">095</span>          TaskAttemptContext context)<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      throws IOException, InterruptedException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        return super.createRecordReader(split, context);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    };<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    // Pass it a mocked JobContext. Make the JC return our Configuration.<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    // Load the Configuration so it returns our special Connection so we can interpolate<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    // canned responses.<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    JobContext mockedJobContext = Mockito.mock(JobContext.class);<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    Configuration c = HBaseConfiguration.create();<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    c.set(ClusterConnection.HBASE_CLIENT_CONNECTION_IMPL, MRSplitsConnection.class.getName());<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    Mockito.when(mockedJobContext.getConfiguration()).thenReturn(c);<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    // Invent a bunch of scans. Have each Scan go against a different table so a good spread.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    List&lt;Scan&gt; scans = new ArrayList&lt;&gt;();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    for (int i = 0; i &lt; 10; i++) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      Scan scan = new Scan();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      String tableName = this.name.getMethodName() + i;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      scan.setAttribute(SCAN_ATTRIBUTES_TABLE_NAME, Bytes.toBytes(tableName));<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      scans.add(scan);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    mtif.setScans(scans);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    // Get splits. Assert that that more than one.<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    List&lt;InputSplit&gt; splits = mtif.getSplits(mockedJobContext);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    Assert.assertTrue(splits.size() &gt; 0);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    // Assert only one Connection was made (see the static counter we have in the mocked<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    // Connection MRSplitsConnection Constructor.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    Assert.assertEquals(1, MRSplitsConnection.creations.get());<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>  /**<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * Connection to use above in Test.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   */<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public static class MRSplitsConnection implements Connection {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    private final Configuration configuration;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    static final AtomicInteger creations = new AtomicInteger(0);<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>    MRSplitsConnection (Configuration conf, ExecutorService pool, User user) throws IOException {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      this.configuration = conf;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      creations.incrementAndGet();<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>    @Override<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    public void abort(String why, Throwable e) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span>    @Override<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean isAborted() {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      return false;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    @Override<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    public Configuration getConfiguration() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      return this.configuration;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>    @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    public BufferedMutator getBufferedMutator(TableName tableName) throws IOException {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      return null;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>    @Override<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public BufferedMutator getBufferedMutator(BufferedMutatorParams params) throws IOException {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      return null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>    @Override<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    public RegionLocator getRegionLocator(final TableName tableName) throws IOException {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      // Make up array of start keys. We start off w/ empty byte array.<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      final byte [][] startKeys = new byte [][] {HConstants.EMPTY_BYTE_ARRAY,<a name="line.164"></a>
+<span class="sourceLineNo">165</span>          Bytes.toBytes("aaaa"), Bytes.toBytes("bbb"),<a name="line.165"></a>
+<span class="sourceLineNo">166</span>          Bytes.toBytes("ccc"), Bytes.toBytes("ddd"), Bytes.toBytes("eee"),<a name="line.166"></a>
+<span class="sourceLineNo">167</span>          Bytes.toBytes("fff"), Bytes.toBytes("ggg"), Bytes.toBytes("hhh"),<a name="line.167"></a>
+<span class="sourceLineNo">168</span>          Bytes.toBytes("iii"), Bytes.toBytes("lll"), Bytes.toBytes("mmm"),<a name="line.168"></a>
+<span class="sourceLineNo">169</span>          Bytes.toBytes("nnn"), Bytes.toBytes("ooo"), Bytes.toBytes("ppp"),<a name="line.169"></a>
+<span class="sourceLineNo">170</span>          Bytes.toBytes("qqq"), Bytes.toBytes("rrr"), Bytes.toBytes("sss"),<a name="line.170"></a>
+<span class="sourceLineNo">171</span>          Bytes.toBytes("ttt"), Bytes.toBytes("uuu"), Bytes.toBytes("vvv"),<a name="line.171"></a>
+<span class="sourceLineNo">172</span>          Bytes.toBytes("zzz")};<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      // Make an array of end keys. We end with the empty byte array.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      final byte [][] endKeys = new byte[][] {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>          Bytes.toBytes("aaaa"), Bytes.toBytes("bbb"),<a name="line.175"></a>
+<span class="sourceLineNo">176</span>          Bytes.toBytes("ccc"), Bytes.toBytes("ddd"), Bytes.toBytes("eee"),<a name="line.176"></a>
+<span class="sourceLineNo">177</span>          Bytes.toBytes("fff"), Bytes.toBytes("ggg"), Bytes.toBytes("hhh"),<a name="line.177"></a>
+<span class="sourceLineNo">178</span>          Bytes.toBytes("iii"), Bytes.toBytes("lll"), Bytes.toBytes("mmm"),<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          Bytes.toBytes("nnn"), Bytes.toBytes("ooo"), Bytes.toBytes("ppp"),<a name="line.179"></a>
+<span class="sourceLineNo">180</span>          Bytes.toBytes("qqq"), Bytes.toBytes("rrr"), Bytes.toBytes("sss"),<a name="line.180"></a>
+<span class="sourceLineNo">181</span>          Bytes.toBytes("ttt"), Bytes.toBytes("uuu"), Bytes.toBytes("vvv"),<a name="line.181"></a>
+<span class="sourceLineNo">182</span>          Bytes.toBytes("zzz"),<a name="line.182"></a>
+<span class="sourceLineNo">183</span>          HConstants.EMPTY_BYTE_ARRAY};<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      // Now make a map of start keys to HRegionLocations. Let the server namber derive from<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      // the start key.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      final Map&lt;byte [], HRegionLocation&gt; map =<a name="line.186"></a>
+<span class="sourceLineNo">187</span>          new TreeMap&lt;byte [], HRegionLocation&gt;(Bytes.BYTES_COMPARATOR);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      for (byte [] startKey: startKeys) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        HRegionLocation hrl = new HRegionLocation(<a name="line.189"></a>
+<span class="sourceLineNo">190</span>            RegionInfoBuilder.newBuilder(tableName).setStartKey(startKey).build(),<a name="line.190"></a>
+<span class="sourceLineNo">191</span>            ServerName.valueOf(Bytes.toString(startKey), 0, 0));<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        map.put(startKey, hrl);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      // Get a list of the locations.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      final List&lt;HRegionLocation&gt; locations = new ArrayList&lt;HRegionLocation&gt;(map.values());<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      // Now make a RegionLocator mock backed by the abpve map and list of locations.<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      RegionLocator mockedRegionLocator = Mockito.mock(RegionLocator.class);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      Mockito.when(mockedRegionLocator.getRegionLocation(Mockito.any(byte [].class),<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            Mockito.anyBoolean())).<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          thenAnswer(new Answer&lt;HRegionLocation&gt;() {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>            @Override<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            public HRegionLocation answer(InvocationOnMock invocationOnMock) throws Throwable {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>              Object [] args = invocationOnMock.getArguments();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>              byte [] key = (byte [])args[0];<a name="line.204"></a>
+<span class="sourceLineNo">205</span>              return map.get(key);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>            }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>          });<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      Mockito.when(mockedRegionLocator.getAllRegionLocations()).thenReturn(locations);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      Mockito.when(mockedRegionLocator.getStartEndKeys()).<a name="line.209"></a>
+<span class="sourceLineNo">210</span>          thenReturn(new Pair&lt;byte [][], byte[][]&gt;(startKeys, endKeys));<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      Mockito.when(mockedRegionLocator.getName()).thenReturn(tableName);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      return mockedRegionLocator;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>    @Override<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public Admin getAdmin() throws IOException {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      Admin admin = Mockito.mock(Admin.class);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      Mockito.when(admin.getConfiguration()).thenReturn(getConfiguration());<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      return admin;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>    @Override<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    public Table getTable(TableName tableName) throws IOException {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      Table table = Mockito.mock(Table.class);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      Mockito.when(table.getName()).thenReturn(tableName);<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      return table;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228"></a>
+<span class="sourceLineNo">229</span>    @Override<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    public void close() throws IOException {<a name="line.230"></a>
+<span class="sourceLineNo">231</span><a name="line.231"></a>
+<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>    @Override<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    public boolean isClosed() {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      return false;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>    @Override<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    public TableBuilder getTableBuilder(TableName tableName, ExecutorService pool) {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      return Mockito.mock(TableBuilder.class);<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    }<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
+<span class="sourceLineNo">244</span>}<a name="line.244"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>


[09/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html
index 97fc1fd..4c37cbe 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html
@@ -318,826 +318,747 @@
 <span class="sourceLineNo">310</span>   * Called before the client performs a Get<a name="line.310"></a>
 <span class="sourceLineNo">311</span>   * &lt;p&gt;<a name="line.311"></a>
 <span class="sourceLineNo">312</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * &lt;p&gt;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * coprocessors<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   * @param c the environment provided by the region server<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @param get the Get request<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * @param result The result to return to the client if default processing<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   * is bypassed. Can be modified. Will not be used if default processing<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * is not bypassed.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   */<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  default void preGetOp(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get, List&lt;Cell&gt; result)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      throws IOException {}<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * Called after the client performs a Get<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * &lt;p&gt;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * coprocessors<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * &lt;p&gt;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * Note: Do not retain references to any Cells in 'result' beyond the life of this invocation.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @param c the environment provided by the region server<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @param get the Get request<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @param result the result to return to the client, modify as necessary<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  default void postGetOp(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      List&lt;Cell&gt; result) throws IOException {}<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * Called before the client tests for existence using a Get.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * &lt;p&gt;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * &lt;p&gt;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * coprocessors<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   * @param c the environment provided by the region server<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * @param get the Get request<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @param exists the result returned by the region server<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * @return the value to return to the client if bypassing default processing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  default boolean preExists(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      boolean exists) throws IOException {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return exists;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  /**<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * Called after the client tests for existence using a Get.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * &lt;p&gt;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * coprocessors<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @param c the environment provided by the region server<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @param get the Get request<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @param exists the result returned by the region server<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return the result to return to the client<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   */<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  default boolean postExists(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      boolean exists) throws IOException {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return exists;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>  /**<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * Called before the client stores a value.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * &lt;p&gt;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   * &lt;p&gt;<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * coprocessors<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * &lt;p&gt;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @param c the environment provided by the region server<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * @param put The Put object<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * @param edit The WALEdit object that will be written to the wal<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * @param durability Persistence guarantee for this Put<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  default void prePut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Put put, WALEdit edit,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      Durability durability) throws IOException {}<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  /**<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * Called after the client stores a value.<a name="line.391"></a>
+<span class="sourceLineNo">313</span>   * @param c the environment provided by the region server<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @param get the Get request<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param result The result to return to the client if default processing<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * is bypassed. Can be modified. Will not be used if default processing<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   * is not bypassed.<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  default void preGetOp(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get, List&lt;Cell&gt; result)<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      throws IOException {}<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * Called after the client performs a Get<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * &lt;p&gt;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * Note: Do not retain references to any Cells in 'result' beyond the life of this invocation.<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param c the environment provided by the region server<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @param get the Get request<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * @param result the result to return to the client, modify as necessary<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   */<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  default void postGetOp(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      List&lt;Cell&gt; result) throws IOException {}<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * Called before the client tests for existence using a Get.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * &lt;p&gt;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param c the environment provided by the region server<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param get the Get request<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @param exists the result returned by the region server<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @return the value to return to the client if bypassing default processing<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  default boolean preExists(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      boolean exists) throws IOException {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    return exists;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * Called after the client tests for existence using a Get.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @param c the environment provided by the region server<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @param get the Get request<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * @param exists the result returned by the region server<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * @return the result to return to the client<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  default boolean postExists(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      boolean exists) throws IOException {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    return exists;<a name="line.357"></a>
+<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span>  /**<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * Called before the client stores a value.<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * &lt;p&gt;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * &lt;p&gt;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @param c the environment provided by the region server<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @param put The Put object<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * @param edit The WALEdit object that will be written to the wal<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * @param durability Persistence guarantee for this Put<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  default void prePut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Put put, WALEdit edit,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      Durability durability) throws IOException {}<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>  /**<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   * Called after the client stores a value.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * &lt;p&gt;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * @param c the environment provided by the region server<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @param put The Put object<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @param edit The WALEdit object for the wal<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * @param durability Persistence guarantee for this Put<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  default void postPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Put put, WALEdit edit,<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      Durability durability) throws IOException {}<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>  /**<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * Called before the client deletes a value.<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * &lt;p&gt;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.391"></a>
 <span class="sourceLineNo">392</span>   * &lt;p&gt;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * coprocessors<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * &lt;p&gt;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @param c the environment provided by the region server<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @param put The Put object<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @param edit The WALEdit object for the wal<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * @param durability Persistence guarantee for this Put<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  default void postPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Put put, WALEdit edit,<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      Durability durability) throws IOException {}<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>  /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * Called before the client deletes a value.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * &lt;p&gt;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * &lt;p&gt;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * coprocessors<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * &lt;p&gt;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param c the environment provided by the region server<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param delete The Delete object<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param edit The WALEdit object for the wal<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param durability Persistence guarantee for this Delete<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  default void preDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Delete delete,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      WALEdit edit, Durability durability) throws IOException {}<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  /**<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * Called before the server updates the timestamp for version delete with latest timestamp.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * &lt;p&gt;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * &lt;p&gt;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param c the environment provided by the region server<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   * @param mutation - the parent mutation associated with this delete cell<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * @param cell - The deleteColumn with latest version cell<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * @param byteNow - timestamp bytes<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * @param get - the get formed using the current cell's row. Note that the get does not specify<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   *          the family and qualifier<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @deprecated Since hbase-2.0.0. No replacement. To be removed in hbase-3.0.0 and replaced<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * with something that doesn't expose IntefaceAudience.Private classes.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  @Deprecated<a name="line.439"></a>
-<span class="sourceLineNo">440</span>  default void prePrepareTimeStampForDeleteVersion(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      Mutation mutation, Cell cell, byte[] byteNow, Get get) throws IOException {}<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>  /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * Called after the client deletes a value.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * &lt;p&gt;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * coprocessors<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * &lt;p&gt;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * @param c the environment provided by the region server<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @param delete The Delete object<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   * @param edit The WALEdit object for the wal<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * @param durability Persistence guarantee for this Delete<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  default void postDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Delete delete,<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      WALEdit edit, Durability durability) throws IOException {}<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>  /**<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * This will be called for every batch mutation operation happening at the server. This will be<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * called after acquiring the locks on the mutating rows and after applying the proper timestamp<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * for each Mutation at the server. The batch may contain Put/Delete. By setting OperationStatus<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * of Mutations ({@link MiniBatchOperationInProgress#setOperationStatus(int, OperationStatus)}),<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * {@link RegionObserver} can make Region to skip these Mutations.<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * &lt;p&gt;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @param c the environment provided by the region server<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * @param miniBatchOp batch of Mutations getting applied to region.<a name="line.469"></a>
+<span class="sourceLineNo">393</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.393"></a>
+<span class="sourceLineNo">394</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * @param c the environment provided by the region server<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * @param delete The Delete object<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * @param edit The WALEdit object for the wal<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * @param durability Persistence guarantee for this Delete<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   */<a name="line.399"></a>
+<span class="sourceLineNo">400</span>  default void preDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Delete delete,<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      WALEdit edit, Durability durability) throws IOException {}<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * Called before the server updates the timestamp for version delete with latest timestamp.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * &lt;p&gt;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * @param c the environment provided by the region server<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * @param mutation - the parent mutation associated with this delete cell<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * @param cell - The deleteColumn with latest version cell<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * @param byteNow - timestamp bytes<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * @param get - the get formed using the current cell's row. Note that the get does not specify<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   *          the family and qualifier<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * @deprecated Since hbase-2.0.0. No replacement. To be removed in hbase-3.0.0 and replaced<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   * with something that doesn't expose IntefaceAudience.Private classes.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   */<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  @Deprecated<a name="line.416"></a>
+<span class="sourceLineNo">417</span>  default void prePrepareTimeStampForDeleteVersion(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      Mutation mutation, Cell cell, byte[] byteNow, Get get) throws IOException {}<a name="line.418"></a>
+<span class="sourceLineNo">419</span><a name="line.419"></a>
+<span class="sourceLineNo">420</span>  /**<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   * Called after the client deletes a value.<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   * &lt;p&gt;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * @param c the environment provided by the region server<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * @param delete The Delete object<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @param edit The WALEdit object for the wal<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * @param durability Persistence guarantee for this Delete<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
+<span class="sourceLineNo">430</span>  default void postDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Delete delete,<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      WALEdit edit, Durability durability) throws IOException {}<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>  /**<a name="line.433"></a>
+<span class="sourceLineNo">434</span>   * This will be called for every batch mutation operation happening at the server. This will be<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * called after acquiring the locks on the mutating rows and after applying the proper timestamp<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * for each Mutation at the server. The batch may contain Put/Delete. By setting OperationStatus<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * of Mutations ({@link MiniBatchOperationInProgress#setOperationStatus(int, OperationStatus)}),<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   * {@link RegionObserver} can make Region to skip these Mutations.<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   * &lt;p&gt;<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @param c the environment provided by the region server<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * @param miniBatchOp batch of Mutations getting applied to region.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   */<a name="line.444"></a>
+<span class="sourceLineNo">445</span>  default void preBatchMutate(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp) throws IOException {}<a name="line.446"></a>
+<span class="sourceLineNo">447</span><a name="line.447"></a>
+<span class="sourceLineNo">448</span>  /**<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * This will be called after applying a batch of Mutations on a region. The Mutations are added to<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * memstore and WAL. The difference of this one with<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * {@link #postPut(ObserverContext, Put, WALEdit, Durability) }<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * and {@link #postDelete(ObserverContext, Delete, WALEdit, Durability) } is<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * this hook will be executed before the mvcc transaction completion.<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * &lt;p&gt;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.456"></a>
+<span class="sourceLineNo">457</span>   * @param c the environment provided by the region server<a name="line.457"></a>
+<span class="sourceLineNo">458</span>   * @param miniBatchOp batch of Mutations applied to region. Coprocessors are discouraged from<a name="line.458"></a>
+<span class="sourceLineNo">459</span>   *                    manipulating its state.<a name="line.459"></a>
+<span class="sourceLineNo">460</span>   */<a name="line.460"></a>
+<span class="sourceLineNo">461</span>  // Coprocessors can do a form of bypass by changing state in miniBatchOp.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>  default void postBatchMutate(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp) throws IOException {}<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>  /**<a name="line.465"></a>
+<span class="sourceLineNo">466</span>   * This will be called for region operations where read lock is acquired in<a name="line.466"></a>
+<span class="sourceLineNo">467</span>   * {@link Region#startRegionOperation()}.<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * @param ctx<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   * @param operation The operation is about to be taken on the region<a name="line.469"></a>
 <span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  default void preBatchMutate(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp) throws IOException {}<a name="line.472"></a>
+<span class="sourceLineNo">471</span>  default void postStartRegionOperation(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      Operation operation) throws IOException {}<a name="line.472"></a>
 <span class="sourceLineNo">473</span><a name="line.473"></a>
 <span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * This will be called after applying a batch of Mutations on a region. The Mutations are added to<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * memstore and WAL. The difference of this one with<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * {@link #postPut(ObserverContext, Put, WALEdit, Durability) }<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * and {@link #postDelete(ObserverContext, Delete, WALEdit, Durability) } is<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * this hook will be executed before the mvcc transaction completion.<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * &lt;p&gt;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @param c the environment provided by the region server<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * @param miniBatchOp batch of Mutations applied to region. Coprocessors are discouraged from<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   *                    manipulating its state.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   */<a name="line.486"></a>
-<span class="sourceLineNo">487</span>  // Coprocessors can do a form of bypass by changing state in miniBatchOp.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>  default void postBatchMutate(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp) throws IOException {}<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>  /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * This will be called for region operations where read lock is acquired in<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * {@link Region#startRegionOperation()}.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * @param ctx<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * @param operation The operation is about to be taken on the region<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   */<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  default void postStartRegionOperation(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      Operation operation) throws IOException {}<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>  /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * Called after releasing read lock in {@link Region#closeRegionOperation()}.<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * @param ctx<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * @param operation<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   */<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  default void postCloseRegionOperation(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      Operation operation) throws IOException {}<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>  /**<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   * Called after the completion of batch put/delete and will be called even if the batch operation<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * fails.<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   * &lt;p&gt;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.512"></a>
-<span class="sourceLineNo">513</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   * @param ctx<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * @param miniBatchOp<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * @param success true if batch operation is successful otherwise false.<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  default void postBatchMutateIndispensably(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp, boolean success) throws IOException {}<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * Called before checkAndPut.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   * &lt;p&gt;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.524"></a>
+<span class="sourceLineNo">475</span>   * Called after releasing read lock in {@link Region#closeRegionOperation()}.<a name="line.475"></a>
+<span class="sourceLineNo">476</span>   * @param ctx<a name="line.476"></a>
+<span class="sourceLineNo">477</span>   * @param operation<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   */<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  default void postCloseRegionOperation(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.479"></a>
+<span class="sourceLineNo">480</span>      Operation operation) throws IOException {}<a name="line.480"></a>
+<span class="sourceLineNo">481</span><a name="line.481"></a>
+<span class="sourceLineNo">482</span>  /**<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * Called after the completion of batch put/delete and will be called even if the batch operation<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   * fails.<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   * &lt;p&gt;<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.487"></a>
+<span class="sourceLineNo">488</span>   * @param ctx<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * @param miniBatchOp<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * @param success true if batch operation is successful otherwise false.<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   */<a name="line.491"></a>
+<span class="sourceLineNo">492</span>  default void postBatchMutateIndispensably(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp, boolean success) throws IOException {}<a name="line.493"></a>
+<span class="sourceLineNo">494</span><a name="line.494"></a>
+<span class="sourceLineNo">495</span>  /**<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   * Called before checkAndPut.<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * &lt;p&gt;<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * &lt;p&gt;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * @param c the environment provided by the region server<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * @param row row to check<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * @param family column family<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   * @param qualifier column qualifier<a name="line.505"></a>
+<span class="sourceLineNo">506</span>   * @param op the comparison operation<a name="line.506"></a>
+<span class="sourceLineNo">507</span>   * @param comparator the comparator<a name="line.507"></a>
+<span class="sourceLineNo">508</span>   * @param put data to put if check succeeds<a name="line.508"></a>
+<span class="sourceLineNo">509</span>   * @param result<a name="line.509"></a>
+<span class="sourceLineNo">510</span>   * @return the return value to return to client if bypassing default<a name="line.510"></a>
+<span class="sourceLineNo">511</span>   * processing<a name="line.511"></a>
+<span class="sourceLineNo">512</span>   */<a name="line.512"></a>
+<span class="sourceLineNo">513</span>  default boolean preCheckAndPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.513"></a>
+<span class="sourceLineNo">514</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator, Put put,<a name="line.514"></a>
+<span class="sourceLineNo">515</span>      boolean result) throws IOException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>    return result;<a name="line.516"></a>
+<span class="sourceLineNo">517</span>  }<a name="line.517"></a>
+<span class="sourceLineNo">518</span><a name="line.518"></a>
+<span class="sourceLineNo">519</span>  /**<a name="line.519"></a>
+<span class="sourceLineNo">520</span>   * Called before checkAndPut but after acquiring rowlock.<a name="line.520"></a>
+<span class="sourceLineNo">521</span>   * &lt;p&gt;<a name="line.521"></a>
+<span class="sourceLineNo">522</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.522"></a>
+<span class="sourceLineNo">523</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.523"></a>
+<span class="sourceLineNo">524</span>   * can lead to potential deadlock.<a name="line.524"></a>
 <span class="sourceLineNo">525</span>   * &lt;p&gt;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * coprocessors<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * &lt;p&gt;<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param c the environment provided by the region server<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * @param row row to check<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param family column family<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   * @param qualifier column qualifier<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @param op the comparison operation<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   * @param comparator the comparator<a name="line.536"></a>
-<span class="sourceLineNo">537</span>   * @param put data to put if check succeeds<a name="line.537"></a>
-<span class="sourceLineNo">538</span>   * @param result<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   * @return the return value to return to client if bypassing default<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   * processing<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   */<a name="line.541"></a>
-<span class="sourceLineNo">542</span>  default boolean preCheckAndPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator, Put put,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      boolean result) throws IOException {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return result;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Called before checkAndPut but after acquiring rowlock.<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * &lt;p&gt;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * can lead to potential deadlock.<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * &lt;p&gt;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * &lt;p&gt;<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * coprocessors<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   * &lt;p&gt;<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * @param c the environment provided by the region server<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * @param row row to check<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * @param family column family<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * @param qualifier column qualifier<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param op the comparison operation<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param comparator the comparator<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param put data to put if check succeeds<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @param result<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @return the return value to return to client if bypassing default<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * processing<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  default boolean preCheckAndPutAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      ByteArrayComparable comparator, Put put, boolean result) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    return result;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  }<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span>  /**<a name="line.579"></a>
-<span class="sourceLineNo">580</span>   * Called after checkAndPut<a name="line.580"></a>
-<span class="sourceLineNo">581</span>   * &lt;p&gt;<a name="line.581"></a>
-<span class="sourceLineNo">582</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.582"></a>
-<span class="sourceLineNo">583</span>   * coprocessors<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * &lt;p&gt;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   * @param c the environment provided by the region server<a name="line.587"></a>
-<span class="sourceLineNo">588</span>   * @param row row to check<a name="line.588"></a>
-<span class="sourceLineNo">589</span>   * @param family column family<a name="line.589"></a>
-<span class="sourceLineNo">590</span>   * @param qualifier column qualifier<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * @param op the comparison operation<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @param comparator the comparator<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   * @param put data to put if check succeeds<a name="line.593"></a>
-<span class="sourceLineNo">594</span>   * @param result from the checkAndPut<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   * @return the possibly transformed return value to return to client<a name="line.595"></a>
-<span class="sourceLineNo">596</span>   */<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  default boolean postCheckAndPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator, Put put,<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      boolean result) throws IOException {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    return result;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>  }<a name="line.601"></a>
-<span class="sourceLineNo">602</span><a name="line.602"></a>
-<span class="sourceLineNo">603</span>  /**<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * Called before checkAndDelete.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * &lt;p&gt;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * &lt;p&gt;<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * coprocessors<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * &lt;p&gt;<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * @param c the environment provided by the region server<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param row row to check<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param family column family<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param qualifier column qualifier<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param op the comparison operation<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param comparator the comparator<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param delete delete to commit if check succeeds<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @param result<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @return the value to return to client if bypassing default processing<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  default boolean preCheckAndDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      Delete delete, boolean result) throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    return result;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  }<a name="line.627"></a>
-<span class="sourceLineNo">628</span><a name="line.628"></a>
-<span class="sourceLineNo">629</span>  /**<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * Called before checkAndDelete but after acquiring rowock.<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * &lt;p&gt;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * can lead to potential deadlock.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   * &lt;p&gt;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * &lt;p&gt;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * coprocessors<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * &lt;p&gt;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param c the environment provided by the region server<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param row row to check<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param family column family<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   * @param qualifier column qualifier<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * @param op the comparison operation<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   * @param comparator the comparator<a name="line.648"></a>
-<span class="sourceLineNo">649</span>   * @param delete delete to commit if check succeeds<a name="line.649"></a>
-<span class="sourceLineNo">650</span>   * @param result<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   * @return the value to return to client if bypassing default processing<a name="line.651"></a>
-<span class="sourceLineNo">652</span>   */<a name="line.652"></a>
-<span class="sourceLineNo">653</span>  default boolean preCheckAndDeleteAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      ByteArrayComparable comparator, Delete delete, boolean result) throws IOException {<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    return result;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  }<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  /**<a name="line.659"></a>
-<span class="sourceLineNo">660</span>   * Called after checkAndDelete<a name="line.660"></a>
+<span class="sourceLineNo">526</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   * &lt;p&gt;<a name="line.527"></a>
+<span class="sourceLineNo">528</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.528"></a>
+<span class="sourceLineNo">529</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * @param c the environment provided by the region server<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * @param row row to check<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   * @param family column family<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * @param qualifier column qualifier<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * @param op the comparison operation<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   * @param comparator the comparator<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * @param put data to put if check succeeds<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * @param result<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @return the return value to return to client if bypassing default<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * processing<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   */<a name="line.540"></a>
+<span class="sourceLineNo">541</span>  default boolean preCheckAndPutAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.541"></a>
+<span class="sourceLineNo">542</span>      byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.542"></a>
+<span class="sourceLineNo">543</span>      ByteArrayComparable comparator, Put put, boolean result) throws IOException {<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    return result;<a name="line.544"></a>
+<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
+<span class="sourceLineNo">546</span><a name="line.546"></a>
+<span class="sourceLineNo">547</span>  /**<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   * Called after checkAndPut<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * &lt;p&gt;<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * @param c the environment provided by the region server<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * @param row row to check<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   * @param family column family<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * @param qualifier column qualifier<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * @param op the comparison operation<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   * @param comparator the comparator<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   * @param put data to put if check succeeds<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @param result from the checkAndPut<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   * @return the possibly transformed return value to return to client<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   */<a name="line.561"></a>
+<span class="sourceLineNo">562</span>  default boolean postCheckAndPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator, Put put,<a name="line.563"></a>
+<span class="sourceLineNo">564</span>      boolean result) throws IOException {<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    return result;<a name="line.565"></a>
+<span class="sourceLineNo">566</span>  }<a name="line.566"></a>
+<span class="sourceLineNo">567</span><a name="line.567"></a>
+<span class="sourceLineNo">568</span>  /**<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   * Called before checkAndDelete.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   * &lt;p&gt;<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.571"></a>
+<span class="sourceLineNo">572</span>   * &lt;p&gt;<a name="line.572"></a>
+<span class="sourceLineNo">573</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * @param c the environment provided by the region server<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * @param row row to check<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @param family column family<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * @param qualifier column qualifier<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   * @param op the comparison operation<a name="line.579"></a>
+<span class="sourceLineNo">580</span>   * @param comparator the comparator<a name="line.580"></a>
+<span class="sourceLineNo">581</span>   * @param delete delete to commit if check succeeds<a name="line.581"></a>
+<span class="sourceLineNo">582</span>   * @param result<a name="line.582"></a>
+<span class="sourceLineNo">583</span>   * @return the value to return to client if bypassing default processing<a name="line.583"></a>
+<span class="sourceLineNo">584</span>   */<a name="line.584"></a>
+<span class="sourceLineNo">585</span>  default boolean preCheckAndDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator,<a name="line.586"></a>
+<span class="sourceLineNo">587</span>      Delete delete, boolean result) throws IOException {<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    return result;<a name="line.588"></a>
+<span class="sourceLineNo">589</span>  }<a name="line.589"></a>
+<span class="sourceLineNo">590</span><a name="line.590"></a>
+<span class="sourceLineNo">591</span>  /**<a name="line.591"></a>
+<span class="sourceLineNo">592</span>   * Called before checkAndDelete but after acquiring rowock.<a name="line.592"></a>
+<span class="sourceLineNo">593</span>   * &lt;p&gt;<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * can lead to potential deadlock.<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * &lt;p&gt;<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   * &lt;p&gt;<a name="line.599"></a>
+<span class="sourceLineNo">600</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.600"></a>
+<span class="sourceLineNo">601</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.601"></a>
+<span class="sourceLineNo">602</span>   * @param c the environment provided by the region server<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   * @param row row to check<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   * @param family column family<a name="line.604"></a>
+<span class="sourceLineNo">605</span>   * @param qualifier column qualifier<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   * @param op the comparison operation<a name="line.606"></a>
+<span class="sourceLineNo">607</span>   * @param comparator the comparator<a name="line.607"></a>
+<span class="sourceLineNo">608</span>   * @param delete delete to commit if check succeeds<a name="line.608"></a>
+<span class="sourceLineNo">609</span>   * @param result<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * @return the value to return to client if bypassing default processing<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   */<a name="line.611"></a>
+<span class="sourceLineNo">612</span>  default boolean preCheckAndDeleteAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.612"></a>
+<span class="sourceLineNo">613</span>      byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.613"></a>
+<span class="sourceLineNo">614</span>      ByteArrayComparable comparator, Delete delete, boolean result) throws IOException {<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    return result;<a name="line.615"></a>
+<span class="sourceLineNo">616</span>  }<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>  /**<a name="line.618"></a>
+<span class="sourceLineNo">619</span>   * Called after checkAndDelete<a name="line.619"></a>
+<span class="sourceLineNo">620</span>   * &lt;p&gt;<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   * @param c the environment provided by the region server<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   * @param row row to check<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   * @param family column family<a name="line.625"></a>
+<span class="sourceLineNo">626</span>   * @param qualifier column qualifier<a name="line.626"></a>
+<span class="sourceLineNo">627</span>   * @param op the comparison operation<a name="line.627"></a>
+<span class="sourceLineNo">628</span>   * @param comparator the comparator<a name="line.628"></a>
+<span class="sourceLineNo">629</span>   * @param delete delete to commit if check succeeds<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   * @param result from the CheckAndDelete<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   * @return the possibly transformed returned value to return to client<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
+<span class="sourceLineNo">633</span>  default boolean postCheckAndDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator,<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      Delete delete, boolean result) throws IOException {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>    return result;<a name="line.636"></a>
+<span class="sourceLineNo">637</span>  }<a name="line.637"></a>
+<span class="sourceLineNo">638</span><a name="line.638"></a>
+<span class="sourceLineNo">639</span>  /**<a name="line.639"></a>
+<span class="sourceLineNo">640</span>   * Called before Append.<a name="line.640"></a>
+<span class="sourceLineNo">641</span>   * &lt;p&gt;<a name="line.641"></a>
+<span class="sourceLineNo">642</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.642"></a>
+<span class="sourceLineNo">643</span>   * &lt;p&gt;<a name="line.643"></a>
+<span class="sourceLineNo">644</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.644"></a>
+<span class="sourceLineNo">645</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   * @param c the environment provided by the region server<a name="line.646"></a>
+<span class="sourceLineNo">647</span>   * @param append Append object<a name="line.647"></a>
+<span class="sourceLineNo">648</span>   * @return result to return to the client if bypassing default processing<a name="line.648"></a>
+<span class="sourceLineNo">649</span>   */<a name="line.649"></a>
+<span class="sourceLineNo">650</span>  default Result preAppend(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Append append)<a name="line.650"></a>
+<span class="sourceLineNo">651</span>      throws IOException {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    return null;<a name="line.652"></a>
+<span class="sourceLineNo">653</span>  }<a name="line.653"></a>
+<span class="sourceLineNo">654</span><a name="line.654"></a>
+<span class="sourceLineNo">655</span>  /**<a name="line.655"></a>
+<span class="sourceLineNo">656</span>   * Called before Append but after acquiring rowlock.<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * &lt;p&gt;<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.658"></a>
+<span class="sourceLineNo">659</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.659"></a>
+<span class="sourceLineNo">660</span>   * can lead to potential deadlock.<a name="line.660"></a>
 <span class="sourceLineNo">661</span>   * &lt;p&gt;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.662"></a>
-<span class="sourceLineNo">663</span>   * coprocessors<a name="line.663"></a>
-<span class="sourceLineNo">664</span>   * &lt;p&gt;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   * @param c the environment provided by the region server<a name="line.667"></a>
-<span class="sourceLineNo">668</span>   * @param row row to check<a name="line.668"></a>
-<span class="sourceLineNo">669</span>   * @param family column family<a name="line.669"></a>
-<span class="sourceLineNo">670</span>   * @param qualifier column qualifier<a name="line.670"></a>
-<span class="sourceLineNo">671</span>   * @param op the comparison operation<a name="line.671"></a>
-<span class="sourceLineNo">672</span>   * @param comparator the comparator<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   * @param delete delete to commit if check succeeds<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * @param result from the CheckAndDelete<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   * @return the possibly transformed returned value to return to client<a name="line.675"></a>
-<span class="sourceLineNo">676</span>   */<a name="line.676"></a>
-<span class="sourceLineNo">677</span>  default boolean postCheckAndDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      Delete delete, boolean result) throws IOException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    return result;<a name="line.680"></a>
-<span class="sourceLineNo">681</span>  }<a name="line.681"></a>
-<span class="sourceLineNo">682</span><a name="line.682"></a>
-<span class="sourceLineNo">683</span>  /**<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * Called before Append.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   * &lt;p&gt;<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * &lt;p&gt;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * coprocessors<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * &lt;p&gt;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * @param c the environment provided by the region server<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param append Append object<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @return result to return to the client if bypassing default processing<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  default Result preAppend(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Append append)<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    return null;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>  }<a name="line.700"></a>
-<span class="sourceLineNo">701</span><a name="line.701"></a>
-<span class="sourceLineNo">702</span>  /**<a name="line.702"></a>
-<span class="sourceLineNo">703</span>   * Called before Append but after acquiring rowlock.<a name="line.703"></a>
-<span class="sourceLineNo">704</span>   * &lt;p&gt;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.705"></a>
-<span class="sourceLineNo">706</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.706"></a>
-<span class="sourceLineNo">707</span>   * can lead to potential deadlock.<a name="line.707"></a>
+<span class="sourceLineNo">662</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.662"></a>
+<span class="sourceLineNo">663</span>   * &lt;p&gt;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.664"></a>
+<span class="sourceLineNo">665</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.665"></a>
+<span class="sourceLineNo">666</span>   * @param c the environment provided by the region server<a name="line.666"></a>
+<span class="sourceLineNo">667</span>   * @param append Append object<a name="line.667"></a>
+<span class="sourceLineNo">668</span>   * @return result to return to the client if bypassing default processing<a name="line.668"></a>
+<span class="sourceLineNo">669</span>   */<a name="line.669"></a>
+<span class="sourceLineNo">670</span>  default Result preAppendAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      Append append) throws IOException {<a name="line.671"></a>
+<span class="sourceLineNo">672</span>    return null;<a name="line.672"></a>
+<span class="sourceLineNo">673</span>  }<a name="line.673"></a>
+<span class="sourceLineNo">674</span><a name="line.674"></a>
+<span class="sourceLineNo">675</span>  /**<a name="line.675"></a>
+<span class="sourceLineNo">676</span>   * Called after Append<a name="line.676"></a>
+<span class="sourceLineNo">677</span>   * &lt;p&gt;<a name="line.677"></a>
+<span class="sourceLineNo">678</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.678"></a>
+<span class="sourceLineNo">679</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.679"></a>
+<span class="sourceLineNo">680</span>   * @param c the environment provided by the region server<a name="line.680"></a>
+<span class="sourceLineNo">681</span>   * @param append Append object<a name="line.681"></a>
+<span class="sourceLineNo">682</span>   * @param result the result returned by increment<a name="line.682"></a>
+<span class="sourceLineNo">683</span>   * @return the result to return to the client<a name="line.683"></a>
+<span class="sourceLineNo">684</span>   */<a name="line.684"></a>
+<span class="sourceLineNo">685</span>  default Result postAppend(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Append append,<a name="line.685"></a>
+<span class="sourceLineNo">686</span>      Result result) throws IOException {<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    return result;<a name="line.687"></a>
+<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * Called before Increment.<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * &lt;p&gt;<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * &lt;p&gt;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   * @param c the environment provided by the region server<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * @param increment increment object<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   * @return result to return to the client if bypassing default processing<a name="line.699"></a>
+<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
+<span class="sourceLineNo">701</span>  default Result preIncrement(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Increment increment)<a name="line.701"></a>
+<span class="sourceLineNo">702</span>      throws IOException {<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    return null;<a name="line.703"></a>
+<span class="sourceLineNo">704</span>  }<a name="line.704"></a>
+<span class="sourceLineNo">705</span><a name="line.705"></a>
+<span class="sourceLineNo">706</span>  /**<a name="line.706"></a>
+<span class="sourceLineNo">707</span>   * Called before Increment but after acquiring rowlock.<a name="line.707"></a>
 <span class="sourceLineNo">708</span>   * &lt;p&gt;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.709"></a>
-<span class="sourceLineNo">710</span>   * &lt;p&gt;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.711"></a>
-<span class="sourceLineNo">712</span>   * coprocessors<a name="line.712"></a>
-<span class="sourceLineNo">713</span>   * &lt;p&gt;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.714"></a>
-<span class="sourceLineNo">715</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * @param c the environment provided by the region server<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   * @param append Append object<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * @return result to return to the client if bypassing default processing<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   */<a name="line.719"></a>
-<span class="sourceLineNo">720</span>  default Result preAppendAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      Append append) throws IOException {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    return null;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  }<a name="line.723"></a>
-<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span>  /**<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * Called after Append<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * &lt;p&gt;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * coprocessors<a name="line.729"></a>
-<span class="sourceLineNo">730</span>   * &lt;p&gt;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.731"></a>
-<span class="sourceLineNo">732</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   * @param c the environment provided by the region server<a name="line.733"></a>
-<span class="sourceLineNo">734</span>   * @param append Append object<a name="line.734"></a>
-<span class="sourceLineNo">735</span>   * @param result the result returned by increment<a name="line.735"></a>
-<span class="sourceLineNo">736</span>   * @return the result to return to the client<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   */<a name="line.737"></a>
-<span class="sourceLineNo">738</span>  default Result postAppend(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Append append,<a name="line.738"></a>
-<span class="sourceLineNo">739</span>      Result result) throws IOException {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>    return result;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  }<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>  /**<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * Called before Increment.<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * &lt;p&gt;<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.746"></a>
+<span class="sourceLineNo">709</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.709"></a>
+<span class="sourceLineNo">710</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.710"></a>
+<span class="sourceLineNo">711</span>   * can lead to potential deadlock.<a name="line.711"></a>
+<span class="sourceLineNo">712</span>   * &lt;p&gt;<a name="line.712"></a>
+<span class="sourceLineNo">713</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.713"></a>
+<span class="sourceLineNo">714</span>   * &lt;p&gt;<a name="line.714"></a>
+<span class="sourceLineNo">715</span>   * Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.<a name="line.715"></a>
+<span class="sourceLineNo">716</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.716"></a>
+<span class="sourceLineNo">717</span>   *<a name="line.717"></a>
+<span class="sourceLineNo">718</span>   * @param c<a name="line.718"></a>
+<span class="sourceLineNo">719</span>   *          the environment provided by the region server<a name="line.719"></a>
+<span class="sourceLineNo">720</span>   * @param increment<a name="line.720"></a>
+<span class="sourceLineNo">721</span>   *          increment object<a name="line.721"></a>
+<span class="sourceLineNo">722</span>   * @return result to return to the client if bypassing default

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html
index 9ac7a9f..7079327 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html
@@ -29,122 +29,88 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import com.google.common.annotations.VisibleForTesting;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.CoprocessorEnvironment;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.security.User;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.yetus.audience.InterfaceStability;<a name="line.28"></a>
-<span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * This is the only implementation of {@link ObserverContext}, which serves as the interface for<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * third-party Coprocessor developers.<a name="line.32"></a>
-<span class="sourceLineNo">033</span> */<a name="line.33"></a>
-<span class="sourceLineNo">034</span>@InterfaceAudience.Private<a name="line.34"></a>
-<span class="sourceLineNo">035</span>public class ObserverContextImpl&lt;E extends CoprocessorEnvironment&gt; implements ObserverContext&lt;E&gt; {<a name="line.35"></a>
-<span class="sourceLineNo">036</span>  private E env;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>  private boolean bypass;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>  /**<a name="line.38"></a>
-<span class="sourceLineNo">039</span>   * Is this operation bypassable?<a name="line.39"></a>
-<span class="sourceLineNo">040</span>   */<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private final boolean bypassable;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  /**<a name="line.42"></a>
-<span class="sourceLineNo">043</span>   * Is this operation completable?<a name="line.43"></a>
-<span class="sourceLineNo">044</span>   */<a name="line.44"></a>
-<span class="sourceLineNo">045</span>  private boolean complete;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  private final boolean completable;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  private final User caller;<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  public ObserverContextImpl(User caller) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    this(caller, false, false);<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  }<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  public ObserverContextImpl(User caller, boolean bypassable, boolean completable) {<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    this.caller = caller;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    this.bypassable = bypassable;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    this.completable = completable;<a name="line.56"></a>
+<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.security.User;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>/**<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * This is the only implementation of {@link ObserverContext}, which serves as the interface for<a name="line.29"></a>
+<span class="sourceLineNo">030</span> * third-party Coprocessor developers.<a name="line.30"></a>
+<span class="sourceLineNo">031</span> */<a name="line.31"></a>
+<span class="sourceLineNo">032</span>@InterfaceAudience.Private<a name="line.32"></a>
+<span class="sourceLineNo">033</span>public class ObserverContextImpl&lt;E extends CoprocessorEnvironment&gt; implements ObserverContext&lt;E&gt; {<a name="line.33"></a>
+<span class="sourceLineNo">034</span>  private E env;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>  private boolean bypass;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  /**<a name="line.36"></a>
+<span class="sourceLineNo">037</span>   * Is this operation bypassable?<a name="line.37"></a>
+<span class="sourceLineNo">038</span>   */<a name="line.38"></a>
+<span class="sourceLineNo">039</span>  private final boolean bypassable;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>  private final User caller;<a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41"></a>
+<span class="sourceLineNo">042</span>  public ObserverContextImpl(User caller) {<a name="line.42"></a>
+<span class="sourceLineNo">043</span>    this(caller, false);<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>  public ObserverContextImpl(User caller, boolean bypassable) {<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    this.caller = caller;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    this.bypassable = bypassable;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public E getEnvironment() {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    return env;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>  public void prepare(E env) {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    this.env = env;<a name="line.56"></a>
 <span class="sourceLineNo">057</span>  }<a name="line.57"></a>
 <span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public E getEnvironment() {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    return env;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  }<a name="line.61"></a>
+<span class="sourceLineNo">059</span>  public boolean isBypassable() {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    return this.bypassable;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  };<a name="line.61"></a>
 <span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public void prepare(E env) {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    this.env = env;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public boolean isBypassable() {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    return this.bypassable;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  };<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public void bypass() {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    if (!this.bypassable) {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      throw new UnsupportedOperationException("This method does not support 'bypass'.");<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    }<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    bypass = true;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>  public boolean isCompleable() {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    return this.completable;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  };<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  public void complete() {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    if (!this.completable) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      throw new UnsupportedOperationException("This method does not support 'complete'.");<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    }<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    complete = true;<a name="line.86"></a>
+<span class="sourceLineNo">063</span>  public void bypass() {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    if (!this.bypassable) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      throw new UnsupportedOperationException("This method does not support 'bypass'.");<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    }<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    bypass = true;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  /**<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   * @return {@code true}, if {@link ObserverContext#bypass()} was called by one of the loaded<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * coprocessors, {@code false} otherwise.<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public boolean shouldBypass() {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    if (!isBypassable()) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      return false;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    }<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    if (bypass) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      bypass = false;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      return true;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    }<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    return false;<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>  public Optional&lt;User&gt; getCaller() {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    return Optional.ofNullable(caller);<a name="line.86"></a>
 <span class="sourceLineNo">087</span>  }<a name="line.87"></a>
 <span class="sourceLineNo">088</span><a name="line.88"></a>
 <span class="sourceLineNo">089</span>  /**<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * @return {@code true}, if {@link ObserverContext#bypass()} was called by one of the loaded<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * coprocessors, {@code false} otherwise.<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public boolean shouldBypass() {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    if (!isBypassable()) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      return false;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    }<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    if (bypass) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      bypass = false;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      return true;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    }<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    return false;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * @return {@code true}, if {@link ObserverContext#complete()} was called by one of the loaded<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * coprocessors, {@code false} otherwise.<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   */<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public boolean shouldComplete() {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    if (!isCompleable()) {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      return false;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    if (complete) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      complete = false;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      return true;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    return false;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public Optional&lt;User&gt; getCaller() {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    return Optional.ofNullable(caller);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  }<a name="line.121"></a>
-<span class="sourceLineNo">122</span><a name="line.122"></a>
-<span class="sourceLineNo">123</span>  /**<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * Instantiates a new ObserverContext instance if the passed reference is &lt;code&gt;null&lt;/code&gt; and<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * sets the environment in the new or existing instance. This allows deferring the instantiation<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * of a ObserverContext until it is actually needed.<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * @param &lt;E&gt; The environment type for the context<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @param env The coprocessor environment to set<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @return An instance of &lt;code&gt;ObserverContext&lt;/code&gt; with the environment set<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  @Deprecated<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  @VisibleForTesting<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  // TODO: Remove this method, ObserverContext should not depend on RpcServer<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  public static &lt;E extends CoprocessorEnvironment&gt; ObserverContext&lt;E&gt; createAndPrepare(E env) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    ObserverContextImpl&lt;E&gt; ctx = new ObserverContextImpl&lt;&gt;(RpcServer.getRequestUser().orElse(null));<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    ctx.prepare(env);<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    return ctx;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>}<a name="line.139"></a>
+<span class="sourceLineNo">090</span>   * Instantiates a new ObserverContext instance if the passed reference is &lt;code&gt;null&lt;/code&gt; and<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * sets the environment in the new or existing instance. This allows deferring the instantiation<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * of a ObserverContext until it is actually needed.<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   * @param &lt;E&gt; The environment type for the context<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * @param env The coprocessor environment to set<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @return An instance of &lt;code&gt;ObserverContext&lt;/code&gt; with the environment set<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   */<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  @Deprecated<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  @VisibleForTesting<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  // TODO: Remove this method, ObserverContext should not depend on RpcServer<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  public static &lt;E extends CoprocessorEnvironment&gt; ObserverContext&lt;E&gt; createAndPrepare(E env) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    ObserverContextImpl&lt;E&gt; ctx = new ObserverContextImpl&lt;&gt;(RpcServer.getRequestUser().orElse(null));<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    ctx.prepare(env);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    return ctx;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span>}<a name="line.105"></a>
 
 
 


[16/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html
index d69eb5e..39a3700 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":41,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var methods = {"i0":10,"i1":41,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.35">ObserverContextImpl</a>&lt;E extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&gt;
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.33">ObserverContextImpl</a>&lt;E extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&gt;
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;E&gt;</pre>
 <div class="block">This is the only implementation of <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor"><code>ObserverContext</code></a>, which serves as the interface for
@@ -156,16 +156,6 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#caller">caller</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#completable">completable</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete">complete</a></span></code>
-<div class="block">Is this operation completable?</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#env">env</a></span></code>&nbsp;</td>
 </tr>
@@ -187,9 +177,8 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#ObserverContextImpl-org.apache.hadoop.hbase.security.User-">ObserverContextImpl</a></span>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;caller)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#ObserverContextImpl-org.apache.hadoop.hbase.security.User-boolean-boolean-">ObserverContextImpl</a></span>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;caller,
-                   boolean&nbsp;bypassable,
-                   boolean&nbsp;completable)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#ObserverContextImpl-org.apache.hadoop.hbase.security.User-boolean-">ObserverContextImpl</a></span>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;caller,
+                   boolean&nbsp;bypassable)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -215,48 +204,33 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete--">complete</a></span>()</code>
-<div class="block">Call to skip out on calling remaining coprocessors in current execution chain (there may be
- more than one coprocessor chained to a method call).</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
 <td class="colFirst"><code>static &lt;E extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&gt;<br><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;E&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a></span>(E&nbsp;env)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a></span>()</code>
 <div class="block">Returns the active user for the coprocessor call.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isCompleable--">isCompleable</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i7" class="rowColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a>&nbsp;env)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldBypass--">shouldBypass</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldComplete--">shouldComplete</a></span>()</code>&nbsp;</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -285,7 +259,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <ul class="blockList">
 <li class="blockList">
 <h4>env</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a> extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.36">env</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a> extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.34">env</a></pre>
 </li>
 </ul>
 <a name="bypass">
@@ -294,7 +268,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <ul class="blockList">
 <li class="blockList">
 <h4>bypass</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.37">bypass</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.35">bypass</a></pre>
 </li>
 </ul>
 <a name="bypassable">
@@ -303,36 +277,17 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <ul class="blockList">
 <li class="blockList">
 <h4>bypassable</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.41">bypassable</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.39">bypassable</a></pre>
 <div class="block">Is this operation bypassable?</div>
 </li>
 </ul>
-<a name="complete">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>complete</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.45">complete</a></pre>
-<div class="block">Is this operation completable?</div>
-</li>
-</ul>
-<a name="completable">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>completable</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.46">completable</a></pre>
-</li>
-</ul>
 <a name="caller">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>caller</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.47">caller</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.40">caller</a></pre>
 </li>
 </ul>
 </li>
@@ -349,18 +304,17 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <ul class="blockList">
 <li class="blockList">
 <h4>ObserverContextImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.49">ObserverContextImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;caller)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.42">ObserverContextImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;caller)</pre>
 </li>
 </ul>
-<a name="ObserverContextImpl-org.apache.hadoop.hbase.security.User-boolean-boolean-">
+<a name="ObserverContextImpl-org.apache.hadoop.hbase.security.User-boolean-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ObserverContextImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.53">ObserverContextImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;caller,
-                           boolean&nbsp;bypassable,
-                           boolean&nbsp;completable)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.46">ObserverContextImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;caller,
+                           boolean&nbsp;bypassable)</pre>
 </li>
 </ul>
 </li>
@@ -377,7 +331,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <ul class="blockList">
 <li class="blockList">
 <h4>getEnvironment</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.59">getEnvironment</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.51">getEnvironment</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#getEnvironment--">getEnvironment</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a> extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&gt;</code></dd>
@@ -392,7 +346,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <ul class="blockList">
 <li class="blockList">
 <h4>prepare</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.63">prepare</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a>&nbsp;env)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.55">prepare</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a>&nbsp;env)</pre>
 </li>
 </ul>
 <a name="isBypassable--">
@@ -401,7 +355,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <ul class="blockList">
 <li class="blockList">
 <h4>isBypassable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.67">isBypassable</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.59">isBypassable</a>()</pre>
 </li>
 </ul>
 <a name="bypass--">
@@ -410,7 +364,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <ul class="blockList">
 <li class="blockList">
 <h4>bypass</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.71">bypass</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.63">bypass</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#bypass--">ObserverContext</a></code></span></div>
 <div class="block">Call to indicate that the current coprocessor's return value (or parameter -- depends on the
  call-type) should be used in place of the value that would be obtained via normal processing;
@@ -436,39 +390,6 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#bypass--">bypass</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a> extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&gt;</code></dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#complete--"><code>ObserverContext.complete()</code></a></dd>
-</dl>
-</li>
-</ul>
-<a name="isCompleable--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isCompleable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.78">isCompleable</a>()</pre>
-</li>
-</ul>
-<a name="complete--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>complete</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.82">complete</a>()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#complete--">ObserverContext</a></code></span></div>
-<div class="block">Call to skip out on calling remaining coprocessors in current execution chain (there may be
- more than one coprocessor chained to a method call). Implies that this coprocessor's response
- is definitive.
- <p>Since hbase-2.0.0, only <code>complete</code> of 'bypassable' methods has an effect. See
- javadoc on the Coprocessor Observer method as to whether bypass (and thereby 'complete') is
- supported. This behavior of honoring only a subset of methods is new since hbase-2.0.0.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#complete--">complete</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="type parameter in ObserverContextImpl">E</a> extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&gt;</code></dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#bypass--"><code>ObserverContext.bypass()</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -478,7 +399,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldBypass</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.93">shouldBypass</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.74">shouldBypass</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd><code>true</code>, if <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#bypass--"><code>ObserverContext.bypass()</code></a> was called by one of the loaded
@@ -486,27 +407,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 </dl>
 </li>
 </ul>
-<a name="shouldComplete--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>shouldComplete</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.108">shouldComplete</a>()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd><code>true</code>, if <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#complete--"><code>ObserverContext.complete()</code></a> was called by one of the loaded
- coprocessors, <code>false</code> otherwise.</dd>
-</dl>
-</li>
-</ul>
 <a name="getCaller--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getCaller</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.119">getCaller</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.85">getCaller</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#getCaller--">ObserverContext</a></code></span></div>
 <div class="block">Returns the active user for the coprocessor call. If an explicit <code>User</code> instance was
  provided to the constructor, that will be returned, otherwise if we are in the context of an
@@ -527,7 +434,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverC
 <li class="blockList">
 <h4>createAndPrepare</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static&nbsp;&lt;E extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;E&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.134">createAndPrepare</a>(E&nbsp;env)</pre>
+public static&nbsp;&lt;E extends <a href="../../../../../org/apache/hadoop/hbase/CoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase">CoprocessorEnvironment</a>&gt;&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;E&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#line.100">createAndPrepare</a>(E&nbsp;env)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Instantiates a new ObserverContext instance if the passed reference is <code>null</code> and
  sets the environment in the new or existing instance. This allows deferring the instantiation


[05/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/project-summary.html b/hbase-shaded-check-invariants/project-summary.html
index ceae279..ba19b70 100644
--- a/hbase-shaded-check-invariants/project-summary.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -166,7 +166,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/source-repository.html b/hbase-shaded-check-invariants/source-repository.html
index d23744e4..e6fd64e 100644
--- a/hbase-shaded-check-invariants/source-repository.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/team-list.html b/hbase-shaded-check-invariants/team-list.html
index 1ebc60a..ca619b8 100644
--- a/hbase-shaded-check-invariants/team-list.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -547,7 +547,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index e7b52f3..9b6e23b 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -438,7 +438,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index ef354a4..dd1c7fc 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -296,7 +296,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index 2353998..124ceed 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -293,7 +293,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 1914b9a..a39c31a 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -496,7 +496,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index b59843a..7a3a6a7 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -346,7 +346,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index ad2bab4..57890a6 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -464,7 +464,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 435530d..2c56e41 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -419,7 +419,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index 834e835..3088982 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -441,7 +441,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index 5f82db2..2f865d4 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -380,7 +380,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 028bee2..87ef586 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -774,7 +774,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index d0dcf2a..eb5e999 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -340,7 +340,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index 51c6a3d..897c8fc 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -310,7 +310,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index f07600e..27db28b 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -336,7 +336,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index ae4847a..30e1628 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -313,7 +313,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index be93443..a13eb4e 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index 66d0d63..e48cb6d 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -336,7 +336,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index 3988ffa..f93ff6c 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -304,7 +304,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index 1857456..d566c87 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -338,7 +338,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index c2e9e89..33fc302 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -525,7 +525,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 36240c4..8129c4c 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -717,7 +717,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index 2b1f0be..5bf365d 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -1404,6 +1404,8 @@
 <li><a href="org/apache/hadoop/hbase/rest/TestMultiRowResource.html" title="class in org.apache.hadoop.hbase.rest" target="classFrame">TestMultiRowResource</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.html" title="class in org.apache.hadoop.hbase.replication" target="classFrame">TestMultiSlaveReplication</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMultiTableInputFormat</a></li>
+<li><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMultiTableInputFormatBase</a></li>
+<li><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMultiTableInputFormatBase.MRSplitsConnection</a></li>
 <li><a href="org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapred" target="classFrame">TestMultiTableSnapshotInputFormat</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMultiTableSnapshotInputFormat</a></li>
 <li><a href="org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.Mapper.html" title="class in org.apache.hadoop.hbase.mapred" target="classFrame">TestMultiTableSnapshotInputFormat.Mapper</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index 2a7cb63..320ee88 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -1404,6 +1404,8 @@
 <li><a href="org/apache/hadoop/hbase/rest/TestMultiRowResource.html" title="class in org.apache.hadoop.hbase.rest">TestMultiRowResource</a></li>
 <li><a href="org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.html" title="class in org.apache.hadoop.hbase.replication">TestMultiSlaveReplication</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormat</a></li>
+<li><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase</a></li>
+<li><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></li>
 <li><a href="org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapred">TestMultiTableSnapshotInputFormat</a></li>
 <li><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableSnapshotInputFormat</a></li>
 <li><a href="org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.Mapper.html" title="class in org.apache.hadoop.hbase.mapred">TestMultiTableSnapshotInputFormat.Mapper</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index b20a6cf..ac0844e 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -96,6 +96,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/TestRpcHandlerException.AbortServer.html#abort-java.lang.String-java.lang.Throwable-">abort(String, Throwable)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestRpcHandlerException.AbortServer.html" title="class in org.apache.hadoop.hbase.ipc">TestRpcHandlerException.AbortServer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#abort-java.lang.String-java.lang.Throwable-">abort(String, Throwable)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.DummyServer.html#abort-java.lang.String-java.lang.Throwable-">abort(String, Throwable)</a></span> - Method in class org.apache.hadoop.hbase.master.cleaner.<a href="org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.DummyServer.html" title="class in org.apache.hadoop.hbase.master.cleaner">TestHFileCleaner.DummyServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.DummyServer.html#abort-java.lang.String-java.lang.Throwable-">abort(String, Throwable)</a></span> - Method in class org.apache.hadoop.hbase.master.cleaner.<a href="org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.DummyServer.html" title="class in org.apache.hadoop.hbase.master.cleaner">TestHFileLinkCleaner.DummyServer</a></dt>
@@ -4148,6 +4150,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/NMapInputFormat.SingleRecordReader.html#close--">close()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/NMapInputFormat.SingleRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">NMapInputFormat.SingleRecordReader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#close--">close()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MockRegionServer.html#close-long-">close(long)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MockRegionServer.html" title="class in org.apache.hadoop.hbase.master">MockRegionServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MiniHBaseCluster.html#close--">close()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MiniHBaseCluster.html" title="class in org.apache.hadoop.hbase">MiniHBaseCluster</a></dt>
@@ -5577,6 +5581,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestDateTieredCompactionPolicyOverflow.html#config--">config()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestDateTieredCompactionPolicyOverflow.html" title="class in org.apache.hadoop.hbase.regionserver">TestDateTieredCompactionPolicyOverflow</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#configuration">configuration</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestRegionSizeCalculator.html#configuration">configuration</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestRegionSizeCalculator.html" title="class in org.apache.hadoop.hbase.mapreduce">TestRegionSizeCalculator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/EncodedSeekPerformanceTest.html#configuration">configuration</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/EncodedSeekPerformanceTest.html" title="class in org.apache.hadoop.hbase.regionserver">EncodedSeekPerformanceTest</a></dt>
@@ -7657,6 +7663,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/TestZKMulti.html#createZNodeTree-java.lang.String-">createZNodeTree(String)</a></span> - Method in class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/TestZKMulti.html" title="class in org.apache.hadoop.hbase.zookeeper">TestZKMulti</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#creations">creations</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestWALObserver.html#creatPutWith2Families-byte:A-">creatPutWith2Families(byte[])</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestWALObserver.html" title="class in org.apache.hadoop.hbase.coprocessor">TestWALObserver</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestHBaseConfiguration.ReflectiveCredentialProviderClient.html#CREDENTIAL_PROVIDER_PATH">CREDENTIAL_PROVIDER_PATH</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestHBaseConfiguration.ReflectiveCredentialProviderClient.html" title="class in org.apache.hadoop.hbase">TestHBaseConfiguration.ReflectiveCredentialProviderClient</a></dt>
@@ -12151,6 +12159,8 @@
 <dd>
 <div class="block">Returns an Admin instance which is shared between HBaseTestingUtility instance users.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getAdmin--">getAdmin()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.html#getAdminBuilder">getAdminBuilder</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncAdminBuilder.html" title="class in org.apache.hadoop.hbase.client">TestAsyncAdminBuilder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/DistributedHBaseCluster.html#getAdminProtocol-org.apache.hadoop.hbase.ServerName-">getAdminProtocol(ServerName)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/DistributedHBaseCluster.html" title="class in org.apache.hadoop.hbase">DistributedHBaseCluster</a></dt>
@@ -12331,6 +12341,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestCheckAndMutate.html#getBogusRowMutations--">getBogusRowMutations()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestCheckAndMutate.html" title="class in org.apache.hadoop.hbase.client">TestCheckAndMutate</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getBufferedMutator-org.apache.hadoop.hbase.TableName-">getBufferedMutator(TableName)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getBufferedMutator-org.apache.hadoop.hbase.client.BufferedMutatorParams-">getBufferedMutator(BufferedMutatorParams)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MockHStoreFile.html#getBulkLoadTimestamp--">getBulkLoadTimestamp()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MockHStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">MockHStoreFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.html#getBulkLoadWALEdit-java.util.NavigableMap-">getBulkLoadWALEdit(NavigableMap&lt;byte[], Integer&gt;)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestReplicationSourceManager</a></dt>
@@ -12653,6 +12667,8 @@
 <dd>
 <div class="block">Returns this classes's instance of <code>Configuration</code>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getConfiguration--">getConfiguration()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.DummyServer.html#getConfiguration--">getConfiguration()</a></span> - Method in class org.apache.hadoop.hbase.master.cleaner.<a href="org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.DummyServer.html" title="class in org.apache.hadoop.hbase.master.cleaner">TestHFileCleaner.DummyServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.DummyServer.html#getConfiguration--">getConfiguration()</a></span> - Method in class org.apache.hadoop.hbase.master.cleaner.<a href="org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.DummyServer.html" title="class in org.apache.hadoop.hbase.master.cleaner">TestHFileLinkCleaner.DummyServer</a></dt>
@@ -14343,6 +14359,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/TestReplicator.FailureInjectingReplicationEndpointForTest.FailureInjectingBlockingInterface.html#getRegionLoad-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest-">getRegionLoad(RpcController, AdminProtos.GetRegionLoadRequest)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/TestReplicator.FailureInjectingReplicationEndpointForTest.FailureInjectingBlockingInterface.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestReplicator.FailureInjectingReplicationEndpointForTest.FailureInjectingBlockingInterface</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getRegionLocator-org.apache.hadoop.hbase.TableName-">getRegionLocator(TableName)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/locking/TestLockProcedure.html#getRegionLock-java.util.List-java.lang.String-">getRegionLock(List&lt;RegionInfo&gt;, String)</a></span> - Method in class org.apache.hadoop.hbase.master.locking.<a href="org/apache/hadoop/hbase/master/locking/TestLockProcedure.html" title="class in org.apache.hadoop.hbase.master.locking">TestLockProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MockRegionServer.RegionNameAndIndex.html#getRegionName--">getRegionName()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MockRegionServer.RegionNameAndIndex.html" title="class in org.apache.hadoop.hbase.master">MockRegionServer.RegionNameAndIndex</a></dt>
@@ -15220,8 +15238,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncTableScanner.html#getTable">getTable</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncTableScanner.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableScanner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getTable-org.apache.hadoop.hbase.TableName-">getTable(TableName)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AbstractTestAsyncTableScan.html#getTableAndScanCreatorParams--">getTableAndScanCreatorParams()</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AbstractTestAsyncTableScan.html" title="class in org.apache.hadoop.hbase.client">AbstractTestAsyncTableScan</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getTableBuilder-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">getTableBuilder(TableName, ExecutorService)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AbstractTestAsyncTableScan.html#getTableCreator--">getTableCreator()</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AbstractTestAsyncTableScan.html" title="class in org.apache.hadoop.hbase.client">AbstractTestAsyncTableScan</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.html#getTableDesc-org.apache.hadoop.hbase.TableName-byte:A...-">getTableDesc(TableName, byte[]...)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.html" title="class in org.apache.hadoop.hbase.regionserver">TestStoreFileRefresherChore</a></dt>
@@ -17855,6 +17877,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/TestRpcHandlerException.AbortServer.html#isAborted--">isAborted()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestRpcHandlerException.AbortServer.html" title="class in org.apache.hadoop.hbase.ipc">TestRpcHandlerException.AbortServer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#isAborted--">isAborted()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.DummyServer.html#isAborted--">isAborted()</a></span> - Method in class org.apache.hadoop.hbase.master.cleaner.<a href="org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.DummyServer.html" title="class in org.apache.hadoop.hbase.master.cleaner">TestHFileCleaner.DummyServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.DummyServer.html#isAborted--">isAborted()</a></span> - Method in class org.apache.hadoop.hbase.master.cleaner.<a href="org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.DummyServer.html" title="class in org.apache.hadoop.hbase.master.cleaner">TestHFileLinkCleaner.DummyServer</a></dt>
@@ -17969,6 +17993,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ClassTestFinder.TestClassFilter.html#isCategorizedClass-java.lang.Class-">isCategorizedClass(Class&lt;?&gt;)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ClassTestFinder.TestClassFilter.html" title="class in org.apache.hadoop.hbase">ClassTestFinder.TestClassFilter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#isClosed--">isClosed()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.TestScanner.html#isClosed--">isClosed()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.TestScanner.html" title="class in org.apache.hadoop.hbase.regionserver">TestKeyValueHeap.TestScanner</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html#isCommandClass-java.lang.String-">isCommandClass(String)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></dt>
@@ -22142,6 +22168,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.html#mrCluster">mrCluster</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TestTableInputFormat</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#MRSplitsConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-">MRSplitsConnection(Configuration, ExecutorService, User)</a></span> - Constructor for class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/TestCoreMasterCoprocessor.html#ms">ms</a></span> - Variable in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestCoreMasterCoprocessor.html" title="class in org.apache.hadoop.hbase.coprocessor">TestCoreMasterCoprocessor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html#MS_PER_SEC">MS_PER_SEC</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></dt>
@@ -22654,6 +22682,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestImportTSVWithVisibilityLabels.html#name">name</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestImportTSVWithVisibilityLabels.html" title="class in org.apache.hadoop.hbase.mapreduce">TestImportTSVWithVisibilityLabels</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#name">name</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestSyncTable.html#name">name</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestSyncTable.html" title="class in org.apache.hadoop.hbase.mapreduce">TestSyncTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.html#name">name</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TestTableSnapshotInputFormat</a></dt>
@@ -49295,6 +49325,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestImportTsv.html#testMROnTableWithTimestamp--">testMROnTableWithTimestamp()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestImportTsv.html" title="class in org.apache.hadoop.hbase.mapreduce">TestImportTsv</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#testMRSplitsConnectionCount--">testMRSplitsConnectionCount()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase</a></dt>
+<dd>
+<div class="block">Test getSplits only puts up one Connection.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestImportTsv.html#testMRWithoutAnExistingTable--">testMRWithoutAnExistingTable()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestImportTsv.html" title="class in org.apache.hadoop.hbase.mapreduce">TestImportTsv</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestImportTSVWithVisibilityLabels.html#testMRWithOutputFormat--">testMRWithOutputFormat()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestImportTSVWithVisibilityLabels.html" title="class in org.apache.hadoop.hbase.mapreduce">TestImportTSVWithVisibilityLabels</a></dt>
@@ -49560,6 +49594,16 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html#TestMultiTableInputFormat--">TestMultiTableInputFormat()</a></span> - Constructor for class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormat</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultiTableInputFormatBase</span></a> - Class in <a href="org/apache/hadoop/hbase/mapreduce/package-summary.html">org.apache.hadoop.hbase.mapreduce</a></dt>
+<dd>
+<div class="block">Tests of MultiTableInputFormatBase.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#TestMultiTableInputFormatBase--">TestMultiTableInputFormatBase()</a></span> - Constructor for class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultiTableInputFormatBase.MRSplitsConnection</span></a> - Class in <a href="org/apache/hadoop/hbase/mapreduce/package-summary.html">org.apache.hadoop.hbase.mapreduce</a></dt>
+<dd>
+<div class="block">Connection to use above in Test.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.html#testMultiTableMove--">testMultiTableMove()</a></span> - Method in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.html" title="class in org.apache.hadoop.hbase.rsgroup">TestRSGroupsBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapred"><span class="typeNameLink">TestMultiTableSnapshotInputFormat</span></a> - Class in <a href="org/apache/hadoop/hbase/mapred/package-summary.html">org.apache.hadoop.hbase.mapred</a></dt>
@@ -58722,6 +58766,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestImportTSVWithOperationAttributes.html#timeout">timeout</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestImportTSVWithOperationAttributes.html" title="class in org.apache.hadoop.hbase.mapreduce">TestImportTSVWithOperationAttributes</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#timeout">timeout</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestRowCounter.html#timeout">timeout</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestRowCounter.html" title="class in org.apache.hadoop.hbase.mapreduce">TestRowCounter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TestSyncTable.html#timeout">timeout</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TestSyncTable.html" title="class in org.apache.hadoop.hbase.mapreduce">TestSyncTable</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/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 b89116f..e6bc9ca 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="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/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>
+<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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html
index 0cfde80..85d4259 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMapReduceExamples.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html" target="_top">Frames</a></li>
@@ -294,7 +294,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInpu
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMapReduceExamples.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html" target="_top">Frames</a></li>


[18/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 1fdee3e..6c9b3c4 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -286,10 +286,10 @@
 <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>3429</td>
+<td>3430</td>
 <td>0</td>
 <td>0</td>
-<td>20891</td></tr></table></div>
+<td>20897</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -3037,7 +3037,7 @@
 <td><a href="#org.apache.hadoop.hbase.coprocessor.ObserverContextImpl.java">org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>6</td></tr>
+<td>3</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.coprocessor.ProtobufCoprocessorService.java">org/apache/hadoop/hbase/coprocessor/ProtobufCoprocessorService.java</a></td>
 <td>0</td>
@@ -5569,7356 +5569,7361 @@
 <td>0</td>
 <td>3</td></tr>
 <tr class="b">
+<td><a href="#org.apache.hadoop.hbase.mapreduce.TestMultiTableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.java</a></td>
+<td>0</td>
+<td>0</td>
+<td>9</td></tr>
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestMultiTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestMultiTableSnapshotInputFormatImpl.java">org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestMultithreadedTableMapper.java">org/apache/hadoop/hbase/mapreduce/TestMultithreadedTableMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestRegionSizeCalculator.java">org/apache/hadoop/hbase/mapreduce/TestRegionSizeCalculator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestRowCounter.java">org/apache/hadoop/hbase/mapreduce/TestRowCounter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>37</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestSimpleTotalOrderPartitioner.java">org/apache/hadoop/hbase/mapreduce/TestSimpleTotalOrderPartitioner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestSyncTable.java">org/apache/hadoop/hbase/mapreduce/TestSyncTable.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableInputFormat.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormatBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan1.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormatScan1.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan2.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormatScan2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScanBase.java">org/apache/hadoop/hbase/mapreduce/TestTableInputFormatScanBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableMapReduce.java">org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableMapReduceBase.java">org/apache/hadoop/hbase/mapreduce/TestTableMapReduceBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableMapReduceUtil.java">org/apache/hadoop/hbase/mapreduce/TestTableMapReduceUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTableSplit.java">org/apache/hadoop/hbase/mapreduce/TestTableSplit.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestTimeRangeMapRed.java">org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestWALPlayer.java">org/apache/hadoop/hbase/mapreduce/TestWALPlayer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TestWALRecordReader.java">org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TextSortReducer.java">org/apache/hadoop/hbase/mapreduce/TextSortReducer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TsvImporterCustomTestMapper.java">org/apache/hadoop/hbase/mapreduce/TsvImporterCustomTestMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TsvImporterMapper.java">org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TsvImporterTextMapper.java">org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.VisibilityExpressionResolver.java">org/apache/hadoop/hbase/mapreduce/VisibilityExpressionResolver.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.WALInputFormat.java">org/apache/hadoop/hbase/mapreduce/WALInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.WALPlayer.java">org/apache/hadoop/hbase/mapreduce/WALPlayer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication.java">org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.ActiveMasterManager.java">org/apache/hadoop/hbase/master/ActiveMasterManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.AssignmentVerificationReport.java">org/apache/hadoop/hbase/master/AssignmentVerificationReport.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.CatalogJanitor.java">org/apache/hadoop/hbase/master/CatalogJanitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.ClusterSchema.java">org/apache/hadoop/hbase/master/ClusterSchema.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.ClusterSchemaServiceImpl.java">org/apache/hadoop/hbase/master/ClusterSchemaServiceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.ClusterStatusPublisher.java">org/apache/hadoop/hbase/master/ClusterStatusPublisher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.DeadServer.java">org/apache/hadoop/hbase/master/DeadServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.DrainingServerTracker.java">org/apache/hadoop/hbase/master/DrainingServerTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.ExpiredMobFileCleanerChore.java">org/apache/hadoop/hbase/master/ExpiredMobFileCleanerChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.HMaster.java">org/apache/hadoop/hbase/master/HMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>180</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.HMasterCommandLine.java">org/apache/hadoop/hbase/master/HMasterCommandLine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.LoadBalancer.java">org/apache/hadoop/hbase/master/LoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MasterAnnotationReadingPriorityFunction.java">org/apache/hadoop/hbase/master/MasterAnnotationReadingPriorityFunction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MasterCoprocessorHost.java">org/apache/hadoop/hbase/master/MasterCoprocessorHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MasterDumpServlet.java">org/apache/hadoop/hbase/master/MasterDumpServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MasterFileSystem.java">org/apache/hadoop/hbase/master/MasterFileSystem.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MasterMetaBootstrap.java">org/apache/hadoop/hbase/master/MasterMetaBootstrap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MasterMobCompactionThread.java">org/apache/hadoop/hbase/master/MasterMobCompactionThread.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MasterRpcServices.java">org/apache/hadoop/hbase/master/MasterRpcServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MasterServices.java">org/apache/hadoop/hbase/master/MasterServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>43</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MasterStatusServlet.java">org/apache/hadoop/hbase/master/MasterStatusServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MasterWalManager.java">org/apache/hadoop/hbase/master/MasterWalManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsAssignmentManager.java">org/apache/hadoop/hbase/master/MetricsAssignmentManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsAssignmentManagerSource.java">org/apache/hadoop/hbase/master/MetricsAssignmentManagerSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsAssignmentManagerSourceImpl.java">org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsMaster.java">org/apache/hadoop/hbase/master/MetricsMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsMasterFilesystemSourceImpl.java">org/apache/hadoop/hbase/master/MetricsMasterFilesystemSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsMasterProcSource.java">org/apache/hadoop/hbase/master/MetricsMasterProcSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsMasterProcSourceImpl.java">org/apache/hadoop/hbase/master/MetricsMasterProcSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsMasterQuotaSourceImpl.java">org/apache/hadoop/hbase/master/MetricsMasterQuotaSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsMasterSource.java">org/apache/hadoop/hbase/master/MetricsMasterSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsMasterSourceImpl.java">org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsMasterWrapperImpl.java">org/apache/hadoop/hbase/master/MetricsMasterWrapperImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MetricsSnapshotSourceImpl.java">org/apache/hadoop/hbase/master/MetricsSnapshotSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MobCompactionChore.java">org/apache/hadoop/hbase/master/MobCompactionChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.MockNoopMasterServices.java">org/apache/hadoop/hbase/master/MockNoopMasterServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.MockRegionServer.java">org/apache/hadoop/hbase/master/MockRegionServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.RackManager.java">org/apache/hadoop/hbase/master/RackManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.RegionPlacementMaintainer.java">org/apache/hadoop/hbase/master/RegionPlacementMaintainer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>196</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.RegionServerTracker.java">org/apache/hadoop/hbase/master/RegionServerTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.RegionState.java">org/apache/hadoop/hbase/master/RegionState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>86</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.ServerListener.java">org/apache/hadoop/hbase/master/ServerListener.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.ServerManager.java">org/apache/hadoop/hbase/master/ServerManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>24</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.SnapshotOfRegionAssignmentFromMeta.java">org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.SnapshotSentinel.java">org/apache/hadoop/hbase/master/SnapshotSentinel.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.SplitLogManager.java">org/apache/hadoop/hbase/master/SplitLogManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.SplitOrMergeTracker.java">org/apache/hadoop/hbase/master/SplitOrMergeTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TableNamespaceManager.java">org/apache/hadoop/hbase/master/TableNamespaceManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TableStateManager.java">org/apache/hadoop/hbase/master/TableStateManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestActiveMasterManager.java">org/apache/hadoop/hbase/master/TestActiveMasterManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestAssignmentManagerMetrics.java">org/apache/hadoop/hbase/master/TestAssignmentManagerMetrics.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestCatalogJanitor.java">org/apache/hadoop/hbase/master/TestCatalogJanitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestCatalogJanitorInMemoryStates.java">org/apache/hadoop/hbase/master/TestCatalogJanitorInMemoryStates.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestClockSkewDetection.java">org/apache/hadoop/hbase/master/TestClockSkewDetection.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestClusterStatusPublisher.java">org/apache/hadoop/hbase/master/TestClusterStatusPublisher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestDeadServer.java">org/apache/hadoop/hbase/master/TestDeadServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestDistributedLogSplitting.java">org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestGetLastFlushedSequenceId.java">org/apache/hadoop/hbase/master/TestGetLastFlushedSequenceId.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestHMasterCommandLine.java">org/apache/hadoop/hbase/master/TestHMasterCommandLine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestHMasterRPCException.java">org/apache/hadoop/hbase/master/TestHMasterRPCException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMaster.java">org/apache/hadoop/hbase/master/TestMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterFailover.java">org/apache/hadoop/hbase/master/TestMasterFailover.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterFailoverBalancerPersistence.java">org/apache/hadoop/hbase/master/TestMasterFailoverBalancerPersistence.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterFileSystem.java">org/apache/hadoop/hbase/master/TestMasterFileSystem.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterFileSystemWithWALDir.java">org/apache/hadoop/hbase/master/TestMasterFileSystemWithWALDir.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterMetrics.java">org/apache/hadoop/hbase/master/TestMasterMetrics.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterMetricsWrapper.java">org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterNoCluster.java">org/apache/hadoop/hbase/master/TestMasterNoCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterOperationsForRegionReplicas.java">org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterQosFunction.java">org/apache/hadoop/hbase/master/TestMasterQosFunction.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterShutdown.java">org/apache/hadoop/hbase/master/TestMasterShutdown.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterStatusServlet.java">org/apache/hadoop/hbase/master/TestMasterStatusServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMasterTransitions.java">org/apache/hadoop/hbase/master/TestMasterTransitions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMetaShutdownHandler.java">org/apache/hadoop/hbase/master/TestMetaShutdownHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMetricsMasterProcSourceImpl.java">org/apache/hadoop/hbase/master/TestMetricsMasterProcSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestMetricsMasterSourceFactory.java">org/apache/hadoop/hbase/master/TestMetricsMasterSourceFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestMetricsMasterSourceImpl.java">org/apache/hadoop/hbase/master/TestMetricsMasterSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestRegionPlacement.java">org/apache/hadoop/hbase/master/TestRegionPlacement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestRegionPlacement2.java">org/apache/hadoop/hbase/master/TestRegionPlacement2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestRegionState.java">org/apache/hadoop/hbase/master/TestRegionState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestRestartCluster.java">org/apache/hadoop/hbase/master/TestRestartCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestRollingRestart.java">org/apache/hadoop/hbase/master/TestRollingRestart.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestSplitLogManager.java">org/apache/hadoop/hbase/master/TestSplitLogManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TestTableStateManager.java">org/apache/hadoop/hbase/master/TestTableStateManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.TestWarmupRegion.java">org/apache/hadoop/hbase/master/TestWarmupRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.AssignProcedure.java">org/apache/hadoop/hbase/master/assignment/AssignProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.AssignmentManager.java">org/apache/hadoop/hbase/master/assignment/AssignmentManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.GCMergedRegionsProcedure.java">org/apache/hadoop/hbase/master/assignment/GCMergedRegionsProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.GCRegionProcedure.java">org/apache/hadoop/hbase/master/assignment/GCRegionProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.MergeTableRegionsProcedure.java">org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>74</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.MockMasterServices.java">org/apache/hadoop/hbase/master/assignment/MockMasterServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.RegionStateStore.java">org/apache/hadoop/hbase/master/assignment/RegionStateStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.RegionStates.java">org/apache/hadoop/hbase/master/assignment/RegionStates.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.RegionTransitionProcedure.java">org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.SplitTableRegionProcedure.java">org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>74</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.TestAssignmentManager.java">org/apache/hadoop/hbase/master/assignment/TestAssignmentManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.TestAssignmentOnRSCrash.java">org/apache/hadoop/hbase/master/assignment/TestAssignmentOnRSCrash.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.TestRegionStates.java">org/apache/hadoop/hbase/master/assignment/TestRegionStates.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.TestRogueRSAssignment.java">org/apache/hadoop/hbase/master/assignment/TestRogueRSAssignment.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.TestSplitTableRegionProcedure.java">org/apache/hadoop/hbase/master/assignment/TestSplitTableRegionProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.UnassignProcedure.java">org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.assignment.Util.java">org/apache/hadoop/hbase/master/assignment/Util.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.BalancerChore.java">org/apache/hadoop/hbase/master/balancer/BalancerChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.BalancerTestBase.java">org/apache/hadoop/hbase/master/balancer/BalancerTestBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>75</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>61</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.ClusterLoadState.java">org/apache/hadoop/hbase/master/balancer/ClusterLoadState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.ClusterStatusChore.java">org/apache/hadoop/hbase/master/balancer/ClusterStatusChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.FavoredStochasticBalancer.java">org/apache/hadoop/hbase/master/balancer/FavoredStochasticBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory.java">org/apache/hadoop/hbase/master/balancer/LoadBalancerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.LoadBalancerPerformanceEvaluation.java">org/apache/hadoop/hbase/master/balancer/LoadBalancerPerformanceEvaluation.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.MetricsBalancerSourceImpl.java">org/apache/hadoop/hbase/master/balancer/MetricsBalancerSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.MetricsStochasticBalancerSourceImpl.java">org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancerSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.RegionInfoComparator.java">org/apache/hadoop/hbase/master/balancer/RegionInfoComparator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.RegionLocationFinder.java">org/apache/hadoop/hbase/master/balancer/RegionLocationFinder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.ServerAndLoad.java">org/apache/hadoop/hbase/master/balancer/ServerAndLoad.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.SimpleLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>33</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>33</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestBaseLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestDefaultLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/TestDefaultLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>48</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestFavoredNodeTableImport.java">org/apache/hadoop/hbase/master/balancer/TestFavoredNodeTableImport.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestFavoredStochasticBalancerPickers.java">org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestFavoredStochasticLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestRSGroupBasedLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestRegionsOnMasterOptions.java">org/apache/hadoop/hbase/master/balancer/TestRegionsOnMasterOptions.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestServerAndLoad.java">org/apache/hadoop/hbase/master/balancer/TestServerAndLoad.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.TestStochasticLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>37</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.BaseFileCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/BaseFileCleanerDelegate.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.BaseLogCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.CleanerChore.java">org/apache/hadoop/hbase/master/cleaner/CleanerChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.FileCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.HFileCleaner.java">org/apache/hadoop/hbase/master/cleaner/HFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.HFileLinkCleaner.java">org/apache/hadoop/hbase/master/cleaner/HFileLinkCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.LogCleaner.java">org/apache/hadoop/hbase/master/cleaner/LogCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.ReplicationMetaCleaner.java">org/apache/hadoop/hbase/master/cleaner/ReplicationMetaCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.ReplicationZKNodeCleaner.java">org/apache/hadoop/hbase/master/cleaner/ReplicationZKNodeCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TestCleanerChore.java">org/apache/hadoop/hbase/master/cleaner/TestCleanerChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TestHFileCleaner.java">org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TestHFileLinkCleaner.java">org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TestLogsCleaner.java">org/apache/hadoop/hbase/master/cleaner/TestLogsCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TestReplicationHFileCleaner.java">org/apache/hadoop/hbase/master/cleaner/TestReplicationHFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TestSnapshotFromMaster.java">org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TimeToLiveHFileCleaner.java">org/apache/hadoop/hbase/master/cleaner/TimeToLiveHFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner.java">org/apache/hadoop/hbase/master/cleaner/TimeToLiveLogCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.locking.LockManager.java">org/apache/hadoop/hbase/master/locking/LockManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.locking.LockProcedure.java">org/apache/hadoop/hbase/master/locking/LockProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.locking.TestLockProcedure.java">org/apache/hadoop/hbase/master/locking/TestLockProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.EmptyNormalizationPlan.java">org/apache/hadoop/hbase/master/normalizer/EmptyNormalizationPlan.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.NormalizationPlan.java">org/apache/hadoop/hbase/master/normalizer/NormalizationPlan.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore.java">org/apache/hadoop/hbase/master/normalizer/RegionNormalizerChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.RegionNormalizerFactory.java">org/apache/hadoop/hbase/master/normalizer/RegionNormalizerFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.TestSimpleRegionNormalizer.java">org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.normalizer.TestSimpleRegionNormalizerOnCluster.java">org/apache/hadoop/hbase/master/normalizer/TestSimpleRegionNormalizerOnCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.AbstractStateMachineNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/AbstractStateMachineNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.AbstractStateMachineRegionProcedure.java">org/apache/hadoop/hbase/master/procedure/AbstractStateMachineRegionProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.AbstractStateMachineTableProcedure.java">org/apache/hadoop/hbase/master/procedure/AbstractStateMachineTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.CloneSnapshotProcedure.java">org/apache/hadoop/hbase/master/procedure/CloneSnapshotProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.CreateNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.DeleteNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>30</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure.java">org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.DisableTableProcedure.java">org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>38</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.EnableTableProcedure.java">org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>72</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureScheduler.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>24</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureSchedulerPerformanceEvaluation.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureTestingUtility.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureTestingUtility.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyTableProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>45</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ProcedureDescriber.java">org/apache/hadoop/hbase/master/procedure/ProcedureDescriber.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch.java">org/apache/hadoop/hbase/master/procedure/ProcedurePrepareLatch.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait.java">org/apache/hadoop/hbase/master/procedure/ProcedureSyncWait.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>46</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.RSProcedureDispatcher.java">org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.RecoverMetaProcedure.java">org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.RestoreSnapshotProcedure.java">org/apache/hadoop/hbase/master/procedure/RestoreSnapshotProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure.java">org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>58</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestCloneSnapshotProcedure.java">org/apache/hadoop/hbase/master/procedure/TestCloneSnapshotProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestCreateTableProcedure.java">org/apache/hadoop/hbase/master/procedure/TestCreateTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestDeleteColumnFamilyProcedureFromClient.java">org/apache/hadoop/hbase/master/procedure/TestDeleteColumnFamilyProcedureFromClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestDeleteNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/TestDeleteNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestMasterProcedureEvents.java">org/apache/hadoop/hbase/master/procedure/TestMasterProcedureEvents.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestMasterProcedureScheduler.java">org/apache/hadoop/hbase/master/procedure/TestMasterProcedureScheduler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestMasterProcedureSchedulerConcurrency.java">org/apache/hadoop/hbase/master/procedure/TestMasterProcedureSchedulerConcurrency.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestMasterProcedureWalLease.java">org/apache/hadoop/hbase/master/procedure/TestMasterProcedureWalLease.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestRestoreSnapshotProcedure.java">org/apache/hadoop/hbase/master/procedure/TestRestoreSnapshotProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestSafemodeBringsDownMaster.java">org/apache/hadoop/hbase/master/procedure/TestSafemodeBringsDownMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestServerCrashProcedure.java">org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestTableDDLProcedureBase.java">org/apache/hadoop/hbase/master/procedure/TestTableDDLProcedureBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestTableDescriptorModificationFromClient.java">org/apache/hadoop/hbase/master/procedure/TestTableDescriptorModificationFromClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TestWALProcedureStoreOnHDFS.java">org/apache/hadoop/hbase/master/procedure/TestWALProcedureStoreOnHDFS.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure.java">org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.replication.ReplicationManager.java">org/apache/hadoop/hbase/master/replication/ReplicationManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.EnabledTableSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.MasterSnapshotVerifier.java">org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.SnapshotFileCache.java">org/apache/hadoop/hbase/master/snapshot/SnapshotFileCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.SnapshotHFileCleaner.java">org/apache/hadoop/hbase/master/snapshot/SnapshotHFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.SnapshotManager.java">org/apache/hadoop/hbase/master/snapshot/SnapshotManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.TakeSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.TestSnapshotHFileCleaner.java">org/apache/hadoop/hbase/master/snapshot/TestSnapshotHFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.snapshot.TestSnapshotManager.java">org/apache/hadoop/hbase/master/snapshot/TestSnapshotManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.metrics.BaseSourceImpl.java">org/apache/hadoop/hbase/metrics/BaseSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.metrics.Interns.java">org/apache/hadoop/hbase/metrics/Interns.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.metrics.MBeanSourceImpl.java">org/apache/hadoop/hbase/metrics/MBeanSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.metrics.MetricRegistriesLoader.java">org/apache/hadoop/hbase/metrics/MetricRegistriesLoader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.metrics.MetricSet.java">org/apache/hadoop/hbase/metrics/MetricSet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.metrics.MetricsInfoImpl.java">org/apache/hadoop/hbase/metrics/MetricsInfoImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.metrics.TestBaseSourceImpl.java">org/apache/hadoop/hbase/metrics/TestBaseSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.CounterImpl.java">org/apache/hadoop/hbase/metrics/impl/CounterImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.DropwizardMeter.java">org/apache/hadoop/hbase/metrics/impl/DropwizardMeter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.FastLongHistogram.java">org/apache/hadoop/hbase/metrics/impl/FastLongHistogram.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.GlobalMetricRegistriesAdapter.java">org/apache/hadoop/hbase/metrics/impl/GlobalMetricRegistriesAdapter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.HistogramImpl.java">org/apache/hadoop/hbase/metrics/impl/HistogramImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.MetricRegistriesImpl.java">org/apache/hadoop/hbase/metrics/impl/MetricRegistriesImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.MetricRegistryFactoryImpl.java">org/apache/hadoop/hbase/metrics/impl/MetricRegistryFactoryImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.MetricRegistryImpl.java">org/apache/hadoop/hbase/metrics/impl/MetricRegistryImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.RefCountingMap.java">org/apache/hadoop/hbase/metrics/impl/RefCountingMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.TestDropwizardMeter.java">org/apache/hadoop/hbase/metrics/impl/TestDropwizardMeter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.TestRefCountingMap.java">org/apache/hadoop/hbase/metrics/impl/TestRefCountingMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.metrics.impl.TimerImpl.java">org/apache/hadoop/hbase/metrics/impl/TimerImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.CachedMobFile.java">org/apache/hadoop/hbase/mob/CachedMobFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.DefaultMobStoreCompactor.java">org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.DefaultMobStoreFlusher.java">org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.ExpiredMobFileCleaner.java">org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.MobCacheConfig.java">org/apache/hadoop/hbase/mob/MobCacheConfig.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.MobConstants.java">org/apache/hadoop/hbase/mob/MobConstants.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.MobFile.java">org/apache/hadoop/hbase/mob/MobFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.MobFileCache.java">org/apache/hadoop/hbase/mob/MobFileCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.MobFileName.java">org/apache/hadoop/hbase/mob/MobFileName.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.MobTestUtil.java">org/apache/hadoop/hbase/mob/MobTestUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.MobUtils.java">org/apache/hadoop/hbase/mob/MobUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.TestCachedMobFile.java">org/apache/hadoop/hbase/mob/TestCachedMobFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.TestDefaultMobStoreFlusher.java">org/apache/hadoop/hbase/mob/TestDefaultMobStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>35</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.TestExpiredMobFileCleaner.java">org/apache/hadoop/hbase/mob/TestExpiredMobFileCleaner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.MobCompactor.java">org/apache/hadoop/hbase/mob/compactions/MobCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.PartitionedMobCompactionRequest.java">org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactionRequest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.PartitionedMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.TestMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.TestPartitionedMobCompactionRequest.java">org/apache/hadoop/hbase/mob/compactions/TestPartitionedMobCompactionRequest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mob.compactions.TestPartitionedMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/TestPartitionedMobCompactor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.monitoring.LogMonitoring.java">org/apache/hadoop/hbase/monitoring/LogMonitoring.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer.java">org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.monitoring.MonitoredRPCHandlerImpl.java">org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.monitoring.MonitoredTaskImpl.java">org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.monitoring.StateDumpServlet.java">org/apache/hadoop/hbase/monitoring/StateDumpServlet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.monitoring.TaskMonitor.java">org/apache/hadoop/hbase/monitoring/TaskMonitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.monitoring.TestTaskMonitor.java">org/apache/hadoop/hbase/monitoring/TestTaskMonitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.monitoring.ThreadMonitoring.java">org/apache/hadoop/hbase/monitoring/ThreadMonitoring.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mttr.IntegrationTestMTTR.java">org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.namespace.NamespaceStateManager.java">org/apache/hadoop/hbase/namespace/NamespaceStateManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.namespace.NamespaceTableAndRegionInfo.java">org/apache/hadoop/hbase/namespace/NamespaceTableAndRegionInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.namespace.TestNamespaceAuditor.java">org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.net.Address.java">org/apache/hadoop/hbase/net/Address.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.nio.ByteBuff.java">org/apache/hadoop/hbase/nio/ByteBuff.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.nio.MultiByteBuff.java">org/apache/hadoop/hbase/nio/MultiByteBuff.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>30</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.nio.SingleByteBuff.java">org/apache/hadoop/hbase/nio/SingleByteBuff.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.nio.TestMultiByteBuff.java">org/apache/hadoop/hbase/nio/TestMultiByteBuff.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.MasterProcedureManager.java">org/apache/hadoop/hbase/procedure/MasterProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.Procedure.java">org/apache/hadoop/hbase/procedure/Procedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.ProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/ProcedureCoordinator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.ProcedureCoordinatorRpcs.java">org/apache/hadoop/hbase/procedure/ProcedureCoordinatorRpcs.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.ProcedureManagerHost.java">org/apache/hadoop/hbase/procedure/ProcedureManagerHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.ProcedureMember.java">org/apache/hadoop/hbase/procedure/ProcedureMember.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.ProcedureMemberRpcs.java">org/apache/hadoop/hbase/procedure/ProcedureMemberRpcs.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.RegionServerProcedureManager.java">org/apache/hadoop/hbase/procedure/RegionServerProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.SimpleMasterProcedureManager.java">org/apache/hadoop/hbase/procedure/SimpleMasterProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.SimpleRSProcedureManager.java">org/apache/hadoop/hbase/procedure/SimpleRSProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.Subprocedure.java">org/apache/hadoop/hbase/procedure/Subprocedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestProcedure.java">org/apache/hadoop/hbase/procedure/TestProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/TestProcedureCoordinator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestProcedureDescriber.java">org/apache/hadoop/hbase/procedure/TestProcedureDescriber.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestProcedureManager.java">org/apache/hadoop/hbase/procedure/TestProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestProcedureMember.java">org/apache/hadoop/hbase/procedure/TestProcedureMember.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestZKProcedure.java">org/apache/hadoop/hbase/procedure/TestZKProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>30</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.TestZKProcedureControllers.java">org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/ZKProcedureCoordinator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureMemberRpcs.java">org/apache/hadoop/hbase/procedure/ZKProcedureMemberRpcs.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.ZKProcedureUtil.java">org/apache/hadoop/hbase/procedure/ZKProcedureUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.flush.FlushTableSubprocedure.java">org/apache/hadoop/hbase/procedure/flush/FlushTableSubprocedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure.flush.MasterFlushTableProcedureManager.java">org/apache/hadoop/hbase/procedure/flush/MasterFlushTableProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure.flush.RegionServerFlushTableProcedureManager.java">org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.AbstractProcedureScheduler.java">org/apache/hadoop/hbase/procedure2/AbstractProcedureScheduler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.BadProcedureException.java">org/apache/hadoop/hbase/procedure2/BadProcedureException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.LockAndQueue.java">org/apache/hadoop/hbase/procedure2/LockAndQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.LockedResource.java">org/apache/hadoop/hbase/procedure2/LockedResource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.Procedure.java">org/apache/hadoop/hbase/procedure2/Procedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureDeque.java">org/apache/hadoop/hbase/procedure2/ProcedureDeque.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureException.java">org/apache/hadoop/hbase/procedure2/ProcedureException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureExecutor.java">org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>28</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureScheduler.java">org/apache/hadoop/hbase/procedure2/ProcedureScheduler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.java">org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.ProcedureUtil.java">org/apache/hadoop/hbase/procedure2/ProcedureUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.RemoteProcedureDispatcher.java">org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.RemoteProcedureException.java">org/apache/hadoop/hbase/procedure2/RemoteProcedureException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.RootProcedureState.java">org/apache/hadoop/hbase/procedure2/RootProcedureState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.StateMachineProcedure.java">org/apache/hadoop/hbase/procedure2/StateMachineProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestChildProcedures.java">org/apache/hadoop/hbase/procedure2/TestChildProcedures.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureEvents.java">org/apache/hadoop/hbase/procedure2/TestProcedureEvents.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureExecution.java">org/apache/hadoop/hbase/procedure2/TestProcedureExecution.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureExecutor.java">org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureInMemoryChore.java">org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureMetrics.java">org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureNonce.java">org/apache/hadoop/hbase/procedure2/TestProcedureNonce.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureRecovery.java">org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureReplayOrder.java">org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureSchedulerConcurrency.java">org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureSuspended.java">org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureToString.java">org/apache/hadoop/hbase/procedure2/TestProcedureToString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestProcedureUtil.java">org/apache/hadoop/hbase/procedure2/TestProcedureUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestStateMachineProcedure.java">org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.TestYieldProcedures.java">org/apache/hadoop/hbase/procedure2/TestYieldProcedures.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.ProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.ProcedureStoreBase.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStoreBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.ProcedureStoreTracker.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStoreTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.TestProcedureStoreTracker.java">org/apache/hadoop/hbase/procedure2/store/TestProcedureStoreTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFile.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFormat.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALFormatReader.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALLoaderPerformanceEvaluation.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALLoaderPerformanceEvaluation.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALPerformanceEvaluation.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALPerformanceEvaluation.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.ProcedureWALPrettyPrinter.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALPrettyPrinter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.TestStressWALProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/wal/TestStressWALProcedureStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.TestWALProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.util.DelayedUtil.java">org/apache/hadoop/hbase/procedure2/util/DelayedUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.procedure2.util.StringUtils.java">org/apache/hadoop/hbase/procedure2/util/StringUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.procedure2.util.TestDelayedUtil.java">org/apache/hadoop/hbase/procedure2/util/TestDelayedUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufMagic.java">org/apache/hadoop/hbase/protobuf/ProtobufMagic.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufMessageConverter.java">org/apache/hadoop/hbase/protobuf/ProtobufMessageConverter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ProtobufUtil.java">org/apache/hadoop/hbase/protobuf/ProtobufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>109</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ReplicationProtbufUtil.java">org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.protobuf.TestProtobufUtil.java">org/apache/hadoop/hbase/protobuf/TestProtobufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.protobuf.TestReplicationProtobuf.java">org/apache/hadoop/hbase/protobuf/TestReplicationProtobuf.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement.java">org/apache/hadoop/hbase/quotas/ActivePolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.AverageIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.DefaultOperationQuota.java">org/apache/hadoop/hbase/quotas/DefaultOperationQuota.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.FileSystemUtilizationChore.java">org/apache/hadoop/hbase/quotas/FileSystemUtilizationChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.FixedIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.GlobalQuotaSettings.java">org/apache/hadoop/hbase/quotas/GlobalQuotaSettings.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.GlobalQuotaSettingsImpl.java">org/apache/hadoop/hbase/quotas/GlobalQuotaSettingsImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.MasterSpaceQuotaObserver.java">org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.NamespaceQuotaSnapshotStore.java">org/apache/hadoop/hbase/quotas/NamespaceQuotaSnapshotStore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.NoopOperationQuota.java">org/apache/hadoop/hbase/quotas/NoopOperationQuota.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.NoopQuotaLimiter.java">org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.OperationQuota.java">org/apache/hadoop/hbase/quotas/OperationQuota.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaCache.java">org/apache/hadoop/hbase/quotas/QuotaCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaFilter.java">org/apache/hadoop/hbase/quotas/QuotaFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaLimiter.java">org/apache/hadoop/hbase/quotas/QuotaLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaLimiterFactory.java">org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaObserverChore.java">org/apache/hadoop/hbase/quotas/QuotaObserverChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaRetriever.java">org/apache/hadoop/hbase/quotas/QuotaRetriever.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaSettings.java">org/apache/hadoop/hbase/quotas/QuotaSettings.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaSettingsFactory.java">org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaState.java">org/apache/hadoop/hbase/quotas/QuotaState.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaTableUtil.java">org/apache/hadoop/hbase/quotas/QuotaTableUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.QuotaUtil.java">org/apache/hadoop/hbase/quotas/QuotaUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.RateLimiter.java">org/apache/hadoop/hbase/quotas/RateLimiter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager.java">org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager.java">org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.SnapshotQuotaObserverChore.java">org/apache/hadoop/hbase/quotas/SnapshotQuotaObserverChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceLimitSettings.java">org/apache/hadoop/hbase/quotas/SpaceLimitSettings.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaRefresherChore.java">org/apache/hadoop/hbase/quotas/SpaceQuotaRefresherChore.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifier.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifier.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierFactory.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifierFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshotNotifierForTest.java">org/apache/hadoop/hbase/quotas/SpaceQuotaSnapshotNotifierForTest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement.java">org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcement.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcementFactory.java">org/apache/hadoop/hbase/quotas/SpaceViolationPolicyEnforcementFac

<TRUNCATED>

[04/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html
new file mode 100644
index 0000000..8ebb108
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html
@@ -0,0 +1,547 @@
+<!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>TestMultiTableInputFormatBase.MRSplitsConnection (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="TestMultiTableInputFormatBase.MRSplitsConnection (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var tabs = {65535:["t0","All 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/TestMultiTableInputFormatBase.MRSplitsConnection.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/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" target="_top">Frames</a></li>
+<li><a href="TestMultiTableInputFormatBase.MRSplitsConnection.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.mapreduce</div>
+<h2 title="Class TestMultiTableInputFormatBase.MRSplitsConnection" class="title">Class TestMultiTableInputFormatBase.MRSplitsConnection</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://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.mapreduce.TestMultiTableInputFormatBase.MRSplitsConnection</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, org.apache.hadoop.hbase.Abortable, org.apache.hadoop.hbase.client.Connection</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#line.127">TestMultiTableInputFormatBase.MRSplitsConnection</a>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements org.apache.hadoop.hbase.client.Connection</pre>
+<div class="block">Connection to use above in Test.</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>private org.apache.hadoop.conf.Configuration</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#configuration">configuration</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#creations">creations</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/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#MRSplitsConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-">MRSplitsConnection</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool,
+                  org.apache.hadoop.hbase.security.User&nbsp;user)</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="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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#abort-java.lang.String-java.lang.Throwable-">abort</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>org.apache.hadoop.hbase.client.Admin</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getAdmin--">getAdmin</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>org.apache.hadoop.hbase.client.BufferedMutator</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getBufferedMutator-org.apache.hadoop.hbase.client.BufferedMutatorParams-">getBufferedMutator</a></span>(org.apache.hadoop.hbase.client.BufferedMutatorParams&nbsp;params)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>org.apache.hadoop.hbase.client.BufferedMutator</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getBufferedMutator-org.apache.hadoop.hbase.TableName-">getBufferedMutator</a></span>(org.apache.hadoop.hbase.TableName&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getConfiguration--">getConfiguration</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>org.apache.hadoop.hbase.client.RegionLocator</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getRegionLocator-org.apache.hadoop.hbase.TableName-">getRegionLocator</a></span>(org.apache.hadoop.hbase.TableName&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>org.apache.hadoop.hbase.client.Table</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getTable-org.apache.hadoop.hbase.TableName-">getTable</a></span>(org.apache.hadoop.hbase.TableName&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>org.apache.hadoop.hbase.client.TableBuilder</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#getTableBuilder-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">getTableBuilder</a></span>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#isAborted--">isAborted</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#isClosed--">isClosed</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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.client.Connection">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.client.Connection</h3>
+<code>getTable</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="configuration">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>configuration</h4>
+<pre>private final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.128">configuration</a></pre>
+</li>
+</ul>
+<a name="creations">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>creations</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.129">creations</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="MRSplitsConnection-org.apache.hadoop.conf.Configuration-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.security.User-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MRSplitsConnection</h4>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.131">MRSplitsConnection</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool,
+                   org.apache.hadoop.hbase.security.User&nbsp;user)
+            throws <a href="http://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="http://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>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="abort-java.lang.String-java.lang.Throwable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>abort</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.137">abort</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>abort</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.Abortable</code></dd>
+</dl>
+</li>
+</ul>
+<a name="isAborted--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAborted</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.142">isAborted</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>isAborted</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.Abortable</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getConfiguration--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConfiguration</h4>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.147">getConfiguration</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getConfiguration</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.client.Connection</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getBufferedMutator-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBufferedMutator</h4>
+<pre>public&nbsp;org.apache.hadoop.hbase.client.BufferedMutator&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.152">getBufferedMutator</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
+                                                                  throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getBufferedMutator</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.client.Connection</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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="getBufferedMutator-org.apache.hadoop.hbase.client.BufferedMutatorParams-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getBufferedMutator</h4>
+<pre>public&nbsp;org.apache.hadoop.hbase.client.BufferedMutator&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.157">getBufferedMutator</a>(org.apache.hadoop.hbase.client.BufferedMutatorParams&nbsp;params)
+                                                                  throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getBufferedMutator</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.client.Connection</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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="getRegionLocator-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRegionLocator</h4>
+<pre>public&nbsp;org.apache.hadoop.hbase.client.RegionLocator&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.162">getRegionLocator</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
+                                                              throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getRegionLocator</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.client.Connection</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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="getAdmin--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAdmin</h4>
+<pre>public&nbsp;org.apache.hadoop.hbase.client.Admin&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.216">getAdmin</a>()
+                                              throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getAdmin</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.client.Connection</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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="getTable-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTable</h4>
+<pre>public&nbsp;org.apache.hadoop.hbase.client.Table&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.223">getTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
+                                              throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getTable</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.client.Connection</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.230">close</a>()
+           throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>close</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.client.Connection</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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="isClosed--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isClosed</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.235">isClosed</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>isClosed</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.client.Connection</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTableBuilder-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTableBuilder</h4>
+<pre>public&nbsp;org.apache.hadoop.hbase.client.TableBuilder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html#line.240">getTableBuilder</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+                                                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;pool)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getTableBuilder</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.client.Connection</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/TestMultiTableInputFormatBase.MRSplitsConnection.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/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" target="_top">Frames</a></li>
+<li><a href="TestMultiTableInputFormatBase.MRSplitsConnection.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;2017 <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/2424a45f/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html
new file mode 100644
index 0000000..083454f
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html
@@ -0,0 +1,354 @@
+<!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>TestMultiTableInputFormatBase (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="TestMultiTableInputFormatBase (Apache HBase 3.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All 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/TestMultiTableInputFormatBase.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/mapreduce/TestMultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" target="_top">Frames</a></li>
+<li><a href="TestMultiTableInputFormatBase.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><a href="#nested.class.summary">Nested</a>&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.mapreduce</div>
+<h2 title="Class TestMultiTableInputFormatBase" class="title">Class TestMultiTableInputFormatBase</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://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.mapreduce.TestMultiTableInputFormatBase</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/mapreduce/TestMultiTableInputFormatBase.html#line.75">TestMultiTableInputFormatBase</a>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Tests of MultiTableInputFormatBase.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></span></code>
+<div class="block">Connection to use above in Test.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== 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>org.junit.rules.TestName</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#name">name</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.junit.rules.TestRule</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#timeout">timeout</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/mapreduce/TestMultiTableInputFormatBase.html#TestMultiTableInputFormatBase--">TestMultiTableInputFormatBase</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="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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#testMRSplitsConnectionCount--">testMRSplitsConnectionCount</a></span>()</code>
+<div class="block">Test getSplits only puts up one Connection.</div>
+</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="http://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="http://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="http://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="http://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="http://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="http://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="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://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="http://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="http://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="name">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>name</h4>
+<pre>public final&nbsp;org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#line.76">name</a></pre>
+</li>
+</ul>
+<a name="timeout">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>timeout</h4>
+<pre>public final&nbsp;org.junit.rules.TestRule <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#line.77">timeout</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="TestMultiTableInputFormatBase--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestMultiTableInputFormatBase</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#line.75">TestMultiTableInputFormatBase</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="testMRSplitsConnectionCount--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testMRSplitsConnectionCount</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html#line.90">testMRSplitsConnectionCount</a>()
+                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Test getSplits only puts up one Connection.
+ In past it has put up many Connections. Each Connection setup comes with a fresh new cache
+ so we have to do fresh hit on hbase:meta. Should only do one Connection when doing getSplits
+ even if a MultiTableInputFormat.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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/TestMultiTableInputFormatBase.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/mapreduce/TestMultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" target="_top">Frames</a></li>
+<li><a href="TestMultiTableInputFormatBase.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><a href="#nested.class.summary">Nested</a>&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;2017 <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/2424a45f/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html
index 942ecbb..3c03edd 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -371,7 +371,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/mapreduce/MultiTableInpu
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/org/apache/hadoop/hbase/mapreduce/class-use/TestMultiTableInputFormatBase.MRSplitsConnection.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/class-use/TestMultiTableInputFormatBase.MRSplitsConnection.html b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/class-use/TestMultiTableInputFormatBase.MRSplitsConnection.html
new file mode 100644
index 0000000..f4915e3
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/class-use/TestMultiTableInputFormatBase.MRSplitsConnection.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.mapreduce.TestMultiTableInputFormatBase.MRSplitsConnection (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.mapreduce.TestMultiTableInputFormatBase.MRSplitsConnection (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/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">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/mapreduce/class-use/TestMultiTableInputFormatBase.MRSplitsConnection.html" target="_top">Frames</a></li>
+<li><a href="TestMultiTableInputFormatBase.MRSplitsConnection.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.mapreduce.TestMultiTableInputFormatBase.MRSplitsConnection" class="title">Uses of Class<br>org.apache.hadoop.hbase.mapreduce.TestMultiTableInputFormatBase.MRSplitsConnection</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.mapreduce.TestMultiTableInputFormatBase.MRSplitsConnection</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/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">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/mapreduce/class-use/TestMultiTableInputFormatBase.MRSplitsConnection.html" target="_top">Frames</a></li>
+<li><a href="TestMultiTableInputFormatBase.MRSplitsConnection.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;2017 <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/2424a45f/testdevapidocs/org/apache/hadoop/hbase/mapreduce/class-use/TestMultiTableInputFormatBase.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/class-use/TestMultiTableInputFormatBase.html b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/class-use/TestMultiTableInputFormatBase.html
new file mode 100644
index 0000000..72a8038
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/class-use/TestMultiTableInputFormatBase.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.mapreduce.TestMultiTableInputFormatBase (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.mapreduce.TestMultiTableInputFormatBase (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/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">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/mapreduce/class-use/TestMultiTableInputFormatBase.html" target="_top">Frames</a></li>
+<li><a href="TestMultiTableInputFormatBase.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.mapreduce.TestMultiTableInputFormatBase" class="title">Uses of Class<br>org.apache.hadoop.hbase.mapreduce.TestMultiTableInputFormatBase</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.mapreduce.TestMultiTableInputFormatBase</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/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">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/mapreduce/class-use/TestMultiTableInputFormatBase.html" target="_top">Frames</a></li>
+<li><a href="TestMultiTableInputFormatBase.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;2017 <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/2424a45f/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-frame.html b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-frame.html
index 1d45b2c..5c34462 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-frame.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-frame.html
@@ -59,6 +59,8 @@
 <li><a href="TestJarFinder.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestJarFinder</a></li>
 <li><a href="TestMapReduceExamples.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMapReduceExamples</a></li>
 <li><a href="TestMultiTableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMultiTableInputFormat</a></li>
+<li><a href="TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMultiTableInputFormatBase</a></li>
+<li><a href="TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMultiTableInputFormatBase.MRSplitsConnection</a></li>
 <li><a href="TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMultiTableSnapshotInputFormat</a></li>
 <li><a href="TestMultiTableSnapshotInputFormatImpl.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMultiTableSnapshotInputFormatImpl</a></li>
 <li><a href="TestMultiTableSnapshotInputFormatImpl.ScanWithEquals.html" title="class in org.apache.hadoop.hbase.mapreduce" target="classFrame">TestMultiTableSnapshotInputFormatImpl.ScanWithEquals</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html
index c7d2e46..ebc5d76 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html
@@ -325,6 +325,18 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase</a></td>
+<td class="colLast">
+<div class="block">Tests of MultiTableInputFormatBase.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableInputFormatBase.MRSplitsConnection</a></td>
+<td class="colLast">
+<div class="block">Connection to use above in Test.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableSnapshotInputFormat</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index 65ed0eb..aabbc1c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -196,6 +196,8 @@
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestImportTSVWithVisibilityLabels.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestImportTSVWithVisibilityLabels</span></a> (implements org.apache.hadoop.conf.Configurable)</li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestJarFinder.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestJarFinder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMapReduceExamples.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMapReduceExamples</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultiTableInputFormatBase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.MRSplitsConnection.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultiTableInputFormatBase.MRSplitsConnection</span></a> (implements org.apache.hadoop.hbase.client.Connection)</li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultiTableSnapshotInputFormatImpl</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.ScanWithEquals.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultiTableSnapshotInputFormatImpl.ScanWithEquals</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TestMultithreadedTableMapper.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TestMultithreadedTableMapper</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html b/testdevapidocs/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html
index 9697096..50b0b75 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html
@@ -1486,7 +1486,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>waitUntilMobCompactionFinished</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.749">waitUntilMobCompactionFinished</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.748">waitUntilMobCompactionFinished</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -1502,7 +1502,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>countMobRows</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.768">countMobRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table)
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.767">countMobRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Gets the number of rows in the given table.</div>
 <dl>
@@ -1521,7 +1521,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>countMobCells</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.780">countMobCells</a>(org.apache.hadoop.hbase.client.Table&nbsp;table)
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.779">countMobCells</a>(org.apache.hadoop.hbase.client.Table&nbsp;table)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Gets the number of cells in the given table.</div>
 <dl>
@@ -1540,7 +1540,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>countFiles</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.799">countFiles</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.798">countFiles</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                        boolean&nbsp;isMobFile,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1562,7 +1562,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyEncryption</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.820">verifyEncryption</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.819">verifyEncryption</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
                           throws <a href="http://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>
@@ -1577,7 +1577,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>countHFileLinks</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.846">countHFileLinks</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.845">countHFileLinks</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Gets the number of HFileLink in the mob path.</div>
 <dl>
@@ -1596,7 +1596,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>countLargeFiles</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.867">countLargeFiles</a>(int&nbsp;size,
+<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.866">countLargeFiles</a>(int&nbsp;size,
                             org.apache.hadoop.hbase.TableName&nbsp;tableName,
                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1619,7 +1619,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>loadData</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.885">loadData</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.884">loadData</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
                       org.apache.hadoop.hbase.client.BufferedMutator&nbsp;table,
                       org.apache.hadoop.hbase.TableName&nbsp;tableName,
                       int&nbsp;fileNum,
@@ -1640,7 +1640,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>loadData</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.909">loadData</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.908">loadData</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
                       org.apache.hadoop.hbase.client.BufferedMutator&nbsp;table,
                       org.apache.hadoop.hbase.TableName&nbsp;tableName,
                       org.apache.hadoop.hbase.client.Put[]&nbsp;puts)
@@ -1657,7 +1657,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>loadDataForPartitionPolicy</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.916">loadDataForPartitionPolicy</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.915">loadDataForPartitionPolicy</a>(org.apache.hadoop.hbase.client.Admin&nbsp;admin,
                                         org.apache.hadoop.hbase.client.BufferedMutator&nbsp;table,
                                         org.apache.hadoop.hbase.TableName&nbsp;tableName)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1673,7 +1673,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createDelFile</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.978">createDelFile</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.977">createDelFile</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
                            org.apache.hadoop.hbase.TableName&nbsp;tableName,
                            byte[]&nbsp;family,
                            byte[]&nbsp;qf)
@@ -1693,7 +1693,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>makeDummyData</h4>
-<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1009">makeDummyData</a>(int&nbsp;size)</pre>
+<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1008">makeDummyData</a>(int&nbsp;size)</pre>
 <div class="block">Creates the dummy data with a specific size.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1709,7 +1709,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitKeys</h4>
-<pre>private&nbsp;byte[][]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1018">getSplitKeys</a>()</pre>
+<pre>private&nbsp;byte[][]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1017">getSplitKeys</a>()</pre>
 <div class="block">Gets the split keys</div>
 </li>
 </ul>
@@ -1719,7 +1719,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>createThreadPool</h4>
-<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1026">createThreadPool</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1025">createThreadPool</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 </li>
 </ul>
 <a name="assertRefFileNameEqual-java.lang.String-">
@@ -1728,7 +1728,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>assertRefFileNameEqual</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1048">assertRefFileNameEqual</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1047">assertRefFileNameEqual</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;familyName)
                              throws <a href="http://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>
@@ -1742,7 +1742,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>resetConf</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1086">resetConf</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1085">resetConf</a>()</pre>
 <div class="block">Resets the configuration.</div>
 </li>
 </ul>
@@ -1752,7 +1752,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyPolicyValues</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1096">verifyPolicyValues</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1095">verifyPolicyValues</a>()
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Verify mob partition policy compaction values.</div>
 <dl>
@@ -1767,7 +1767,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>commonPolicyTestLogic</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1168">commonPolicyTestLogic</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableNameAsString,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#line.1167">commonPolicyTestLogic</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableNameAsString,
                                    org.apache.hadoop.hbase.client.MobCompactPartitionPolicy&nbsp;pType,
                                    boolean&nbsp;majorCompact,
                                    int&nbsp;expectedFileNumbers,


[12/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
index 61dceae..7f3de9e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
@@ -567,178 +567,170 @@
 <span class="sourceLineNo">559</span>    }<a name="line.559"></a>
 <span class="sourceLineNo">560</span><a name="line.560"></a>
 <span class="sourceLineNo">561</span>    ObserverOperation(ObserverGetter&lt;C, O&gt; observerGetter, User user, boolean bypassable) {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null),<a name="line.562"></a>
-<span class="sourceLineNo">563</span>          bypassable, bypassable/*'completable': make completable same as bypassable*/);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      this.observerGetter = observerGetter;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    }<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    abstract void callObserver() throws IOException;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    protected void postEnvCall() {}<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  }<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    protected abstract void call(O observer) throws IOException;<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      super(observerGetter);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      super(observerGetter, user);<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        boolean bypassable) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      super(observerGetter, user, bypassable);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.591"></a>
-<span class="sourceLineNo">592</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.592"></a>
-<span class="sourceLineNo">593</span>     * observers, in which case they will return null for that observer's getter.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>     * We simply ignore such cases.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>     */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    void callObserver() throws IOException {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      if (observer.isPresent()) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        call(observer.get());<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    }<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  }<a name="line.603"></a>
-<span class="sourceLineNo">604</span><a name="line.604"></a>
-<span class="sourceLineNo">605</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    protected abstract R call(O observer) throws IOException;<a name="line.606"></a>
-<span class="sourceLineNo">607</span><a name="line.607"></a>
-<span class="sourceLineNo">608</span>    private R result;<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.610"></a>
-<span class="sourceLineNo">611</span>      this(observerGetter, result, false);<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    }<a name="line.612"></a>
-<span class="sourceLineNo">613</span><a name="line.613"></a>
-<span class="sourceLineNo">614</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>        boolean bypassable) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      this(observerGetter, result, null, bypassable);<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    }<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        User user) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      this(observerGetter, result, user, false);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        boolean bypassable) {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      super(observerGetter, user, bypassable);<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      this.result = result;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    }<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    protected R getResult() {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      return this.result;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    }<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span>    void callObserver() throws IOException {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      if (observer.isPresent()) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>        result = call(observer.get());<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      }<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  }<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.642"></a>
-<span class="sourceLineNo">643</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.643"></a>
-<span class="sourceLineNo">644</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.644"></a>
-<span class="sourceLineNo">645</span><a name="line.645"></a>
-<span class="sourceLineNo">646</span>  /**<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   */<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    boolean bypass = execOperation(observerOperation);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    R result = observerOperation.getResult();<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  }<a name="line.654"></a>
-<span class="sourceLineNo">655</span><a name="line.655"></a>
-<span class="sourceLineNo">656</span>  /**<a name="line.656"></a>
-<span class="sourceLineNo">657</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * ObserverOperation#isBypassable().<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      throws IOException {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    boolean bypass = false;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    if (observerOperation == null) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      return bypass;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    }<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    for (E env : envs) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      observerOperation.prepare(env);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      Thread currentThread = Thread.currentThread();<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      try {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        observerOperation.callObserver();<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      } catch (Throwable e) {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        handleCoprocessorThrowable(env, e);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>      } finally {<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        currentThread.setContextClassLoader(cl);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      }<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      bypass |= observerOperation.shouldBypass();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      // Internal to shouldComplete, it checks if obeserverOperation#isCompletable().<a name="line.681"></a>
-<span class="sourceLineNo">682</span>      if (observerOperation.shouldComplete()) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        break;<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      observerOperation.postEnvCall();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
-<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
-<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      if (observerOperation.shouldComplete()) {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        break;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      }<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    }<a name="line.724"></a>
-<span class="sourceLineNo">725</span><a name="line.725"></a>
-<span class="sourceLineNo">726</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    for (E env : envs) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      observerOperation.prepare(env);<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      observerOperation.postEnvCall();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    return bypass;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>  }<a name="line.732"></a>
-<span class="sourceLineNo">733</span>}<a name="line.733"></a>
+<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null), bypassable);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      this.observerGetter = observerGetter;<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    }<a name="line.564"></a>
+<span class="sourceLineNo">565</span><a name="line.565"></a>
+<span class="sourceLineNo">566</span>    abstract void callObserver() throws IOException;<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    protected void postEnvCall() {}<a name="line.567"></a>
+<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
+<span class="sourceLineNo">569</span><a name="line.569"></a>
+<span class="sourceLineNo">570</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.570"></a>
+<span class="sourceLineNo">571</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.571"></a>
+<span class="sourceLineNo">572</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.572"></a>
+<span class="sourceLineNo">573</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    protected abstract void call(O observer) throws IOException;<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>      super(observerGetter);<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
+<span class="sourceLineNo">579</span><a name="line.579"></a>
+<span class="sourceLineNo">580</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      super(observerGetter, user);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    }<a name="line.582"></a>
+<span class="sourceLineNo">583</span><a name="line.583"></a>
+<span class="sourceLineNo">584</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.584"></a>
+<span class="sourceLineNo">585</span>        boolean bypassable) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      super(observerGetter, user, bypassable);<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    }<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>    /**<a name="line.589"></a>
+<span class="sourceLineNo">590</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.590"></a>
+<span class="sourceLineNo">591</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.591"></a>
+<span class="sourceLineNo">592</span>     * observers, in which case they will return null for that observer's getter.<a name="line.592"></a>
+<span class="sourceLineNo">593</span>     * We simply ignore such cases.<a name="line.593"></a>
+<span class="sourceLineNo">594</span>     */<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    @Override<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    void callObserver() throws IOException {<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.597"></a>
+<span class="sourceLineNo">598</span>      if (observer.isPresent()) {<a name="line.598"></a>
+<span class="sourceLineNo">599</span>        call(observer.get());<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      }<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    }<a name="line.601"></a>
+<span class="sourceLineNo">602</span>  }<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.604"></a>
+<span class="sourceLineNo">605</span>    protected abstract R call(O observer) throws IOException;<a name="line.605"></a>
+<span class="sourceLineNo">606</span><a name="line.606"></a>
+<span class="sourceLineNo">607</span>    private R result;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.609"></a>
+<span class="sourceLineNo">610</span>      this(observerGetter, result, false);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>    }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.613"></a>
+<span class="sourceLineNo">614</span>        boolean bypassable) {<a name="line.614"></a>
+<span class="sourceLineNo">615</span>      this(observerGetter, result, null, bypassable);<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    }<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.618"></a>
+<span class="sourceLineNo">619</span>        User user) {<a name="line.619"></a>
+<span class="sourceLineNo">620</span>      this(observerGetter, result, user, false);<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    }<a name="line.621"></a>
+<span class="sourceLineNo">622</span><a name="line.622"></a>
+<span class="sourceLineNo">623</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.623"></a>
+<span class="sourceLineNo">624</span>        boolean bypassable) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>      super(observerGetter, user, bypassable);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>      this.result = result;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>    protected R getResult() {<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      return this.result;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>    }<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>    void callObserver() throws IOException {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      if (observer.isPresent()) {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>        result = call(observer.get());<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      }<a name="line.637"></a>
+<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
+<span class="sourceLineNo">639</span>  }<a name="line.639"></a>
+<span class="sourceLineNo">640</span><a name="line.640"></a>
+<span class="sourceLineNo">641</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.641"></a>
+<span class="sourceLineNo">642</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.642"></a>
+<span class="sourceLineNo">643</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>  /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.646"></a>
+<span class="sourceLineNo">647</span>   */<a name="line.647"></a>
+<span class="sourceLineNo">648</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.649"></a>
+<span class="sourceLineNo">650</span>    boolean bypass = execOperation(observerOperation);<a name="line.650"></a>
+<span class="sourceLineNo">651</span>    R result = observerOperation.getResult();<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.652"></a>
+<span class="sourceLineNo">653</span>  }<a name="line.653"></a>
+<span class="sourceLineNo">654</span><a name="line.654"></a>
+<span class="sourceLineNo">655</span>  /**<a name="line.655"></a>
+<span class="sourceLineNo">656</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * ObserverOperation#isBypassable().<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   */<a name="line.658"></a>
+<span class="sourceLineNo">659</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.659"></a>
+<span class="sourceLineNo">660</span>      throws IOException {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    boolean bypass = false;<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    if (observerOperation == null) {<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      return bypass;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    }<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    for (E env : envs) {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      observerOperation.prepare(env);<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      Thread currentThread = Thread.currentThread();<a name="line.668"></a>
+<span class="sourceLineNo">669</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      try {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.671"></a>
+<span class="sourceLineNo">672</span>        observerOperation.callObserver();<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      } catch (Throwable e) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span>        handleCoprocessorThrowable(env, e);<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      } finally {<a name="line.675"></a>
+<span class="sourceLineNo">676</span>        currentThread.setContextClassLoader(cl);<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      }<a name="line.677"></a>
+<span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
+<span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
+<span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
+<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
+<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
+<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
+<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
+<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
+<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
+<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
+<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
+<span class="sourceLineNo">717</span><a name="line.717"></a>
+<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
+<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
+<span class="sourceLineNo">725</span>}<a name="line.725"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
index 61dceae..7f3de9e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
@@ -567,178 +567,170 @@
 <span class="sourceLineNo">559</span>    }<a name="line.559"></a>
 <span class="sourceLineNo">560</span><a name="line.560"></a>
 <span class="sourceLineNo">561</span>    ObserverOperation(ObserverGetter&lt;C, O&gt; observerGetter, User user, boolean bypassable) {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null),<a name="line.562"></a>
-<span class="sourceLineNo">563</span>          bypassable, bypassable/*'completable': make completable same as bypassable*/);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      this.observerGetter = observerGetter;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    }<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    abstract void callObserver() throws IOException;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    protected void postEnvCall() {}<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  }<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    protected abstract void call(O observer) throws IOException;<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      super(observerGetter);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      super(observerGetter, user);<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        boolean bypassable) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      super(observerGetter, user, bypassable);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.591"></a>
-<span class="sourceLineNo">592</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.592"></a>
-<span class="sourceLineNo">593</span>     * observers, in which case they will return null for that observer's getter.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>     * We simply ignore such cases.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>     */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    void callObserver() throws IOException {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      if (observer.isPresent()) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        call(observer.get());<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    }<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  }<a name="line.603"></a>
-<span class="sourceLineNo">604</span><a name="line.604"></a>
-<span class="sourceLineNo">605</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    protected abstract R call(O observer) throws IOException;<a name="line.606"></a>
-<span class="sourceLineNo">607</span><a name="line.607"></a>
-<span class="sourceLineNo">608</span>    private R result;<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.610"></a>
-<span class="sourceLineNo">611</span>      this(observerGetter, result, false);<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    }<a name="line.612"></a>
-<span class="sourceLineNo">613</span><a name="line.613"></a>
-<span class="sourceLineNo">614</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>        boolean bypassable) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      this(observerGetter, result, null, bypassable);<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    }<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        User user) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      this(observerGetter, result, user, false);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        boolean bypassable) {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      super(observerGetter, user, bypassable);<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      this.result = result;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    }<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    protected R getResult() {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      return this.result;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    }<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span>    void callObserver() throws IOException {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      if (observer.isPresent()) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>        result = call(observer.get());<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      }<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  }<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.642"></a>
-<span class="sourceLineNo">643</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.643"></a>
-<span class="sourceLineNo">644</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.644"></a>
-<span class="sourceLineNo">645</span><a name="line.645"></a>
-<span class="sourceLineNo">646</span>  /**<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   */<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    boolean bypass = execOperation(observerOperation);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    R result = observerOperation.getResult();<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  }<a name="line.654"></a>
-<span class="sourceLineNo">655</span><a name="line.655"></a>
-<span class="sourceLineNo">656</span>  /**<a name="line.656"></a>
-<span class="sourceLineNo">657</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * ObserverOperation#isBypassable().<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      throws IOException {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    boolean bypass = false;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    if (observerOperation == null) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      return bypass;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    }<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    for (E env : envs) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      observerOperation.prepare(env);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      Thread currentThread = Thread.currentThread();<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      try {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        observerOperation.callObserver();<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      } catch (Throwable e) {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        handleCoprocessorThrowable(env, e);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>      } finally {<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        currentThread.setContextClassLoader(cl);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      }<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      bypass |= observerOperation.shouldBypass();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      // Internal to shouldComplete, it checks if obeserverOperation#isCompletable().<a name="line.681"></a>
-<span class="sourceLineNo">682</span>      if (observerOperation.shouldComplete()) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        break;<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      observerOperation.postEnvCall();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
-<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
-<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      if (observerOperation.shouldComplete()) {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        break;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      }<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    }<a name="line.724"></a>
-<span class="sourceLineNo">725</span><a name="line.725"></a>
-<span class="sourceLineNo">726</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    for (E env : envs) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      observerOperation.prepare(env);<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      observerOperation.postEnvCall();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    return bypass;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>  }<a name="line.732"></a>
-<span class="sourceLineNo">733</span>}<a name="line.733"></a>
+<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null), bypassable);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      this.observerGetter = observerGetter;<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    }<a name="line.564"></a>
+<span class="sourceLineNo">565</span><a name="line.565"></a>
+<span class="sourceLineNo">566</span>    abstract void callObserver() throws IOException;<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    protected void postEnvCall() {}<a name="line.567"></a>
+<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
+<span class="sourceLineNo">569</span><a name="line.569"></a>
+<span class="sourceLineNo">570</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.570"></a>
+<span class="sourceLineNo">571</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.571"></a>
+<span class="sourceLineNo">572</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.572"></a>
+<span class="sourceLineNo">573</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    protected abstract void call(O observer) throws IOException;<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>      super(observerGetter);<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
+<span class="sourceLineNo">579</span><a name="line.579"></a>
+<span class="sourceLineNo">580</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      super(observerGetter, user);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    }<a name="line.582"></a>
+<span class="sourceLineNo">583</span><a name="line.583"></a>
+<span class="sourceLineNo">584</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.584"></a>
+<span class="sourceLineNo">585</span>        boolean bypassable) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      super(observerGetter, user, bypassable);<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    }<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>    /**<a name="line.589"></a>
+<span class="sourceLineNo">590</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.590"></a>
+<span class="sourceLineNo">591</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.591"></a>
+<span class="sourceLineNo">592</span>     * observers, in which case they will return null for that observer's getter.<a name="line.592"></a>
+<span class="sourceLineNo">593</span>     * We simply ignore such cases.<a name="line.593"></a>
+<span class="sourceLineNo">594</span>     */<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    @Override<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    void callObserver() throws IOException {<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.597"></a>
+<span class="sourceLineNo">598</span>      if (observer.isPresent()) {<a name="line.598"></a>
+<span class="sourceLineNo">599</span>        call(observer.get());<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      }<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    }<a name="line.601"></a>
+<span class="sourceLineNo">602</span>  }<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.604"></a>
+<span class="sourceLineNo">605</span>    protected abstract R call(O observer) throws IOException;<a name="line.605"></a>
+<span class="sourceLineNo">606</span><a name="line.606"></a>
+<span class="sourceLineNo">607</span>    private R result;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.609"></a>
+<span class="sourceLineNo">610</span>      this(observerGetter, result, false);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>    }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.613"></a>
+<span class="sourceLineNo">614</span>        boolean bypassable) {<a name="line.614"></a>
+<span class="sourceLineNo">615</span>      this(observerGetter, result, null, bypassable);<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    }<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.618"></a>
+<span class="sourceLineNo">619</span>        User user) {<a name="line.619"></a>
+<span class="sourceLineNo">620</span>      this(observerGetter, result, user, false);<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    }<a name="line.621"></a>
+<span class="sourceLineNo">622</span><a name="line.622"></a>
+<span class="sourceLineNo">623</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.623"></a>
+<span class="sourceLineNo">624</span>        boolean bypassable) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>      super(observerGetter, user, bypassable);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>      this.result = result;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>    protected R getResult() {<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      return this.result;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>    }<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>    void callObserver() throws IOException {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      if (observer.isPresent()) {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>        result = call(observer.get());<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      }<a name="line.637"></a>
+<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
+<span class="sourceLineNo">639</span>  }<a name="line.639"></a>
+<span class="sourceLineNo">640</span><a name="line.640"></a>
+<span class="sourceLineNo">641</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.641"></a>
+<span class="sourceLineNo">642</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.642"></a>
+<span class="sourceLineNo">643</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>  /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.646"></a>
+<span class="sourceLineNo">647</span>   */<a name="line.647"></a>
+<span class="sourceLineNo">648</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.649"></a>
+<span class="sourceLineNo">650</span>    boolean bypass = execOperation(observerOperation);<a name="line.650"></a>
+<span class="sourceLineNo">651</span>    R result = observerOperation.getResult();<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.652"></a>
+<span class="sourceLineNo">653</span>  }<a name="line.653"></a>
+<span class="sourceLineNo">654</span><a name="line.654"></a>
+<span class="sourceLineNo">655</span>  /**<a name="line.655"></a>
+<span class="sourceLineNo">656</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * ObserverOperation#isBypassable().<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   */<a name="line.658"></a>
+<span class="sourceLineNo">659</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.659"></a>
+<span class="sourceLineNo">660</span>      throws IOException {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    boolean bypass = false;<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    if (observerOperation == null) {<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      return bypass;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    }<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    for (E env : envs) {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      observerOperation.prepare(env);<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      Thread currentThread = Thread.currentThread();<a name="line.668"></a>
+<span class="sourceLineNo">669</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      try {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.671"></a>
+<span class="sourceLineNo">672</span>        observerOperation.callObserver();<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      } catch (Throwable e) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span>        handleCoprocessorThrowable(env, e);<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      } finally {<a name="line.675"></a>
+<span class="sourceLineNo">676</span>        currentThread.setContextClassLoader(cl);<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      }<a name="line.677"></a>
+<span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
+<span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
+<span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
+<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
+<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
+<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
+<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
+<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
+<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
+<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
+<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
+<span class="sourceLineNo">717</span><a name="line.717"></a>
+<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
+<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
+<span class="sourceLineNo">725</span>}<a name="line.725"></a>
 
 
 


[08/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html
index 97fc1fd..4c37cbe 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html
@@ -318,826 +318,747 @@
 <span class="sourceLineNo">310</span>   * Called before the client performs a Get<a name="line.310"></a>
 <span class="sourceLineNo">311</span>   * &lt;p&gt;<a name="line.311"></a>
 <span class="sourceLineNo">312</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * &lt;p&gt;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   * coprocessors<a name="line.315"></a>
-<span class="sourceLineNo">316</span>   * @param c the environment provided by the region server<a name="line.316"></a>
-<span class="sourceLineNo">317</span>   * @param get the Get request<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * @param result The result to return to the client if default processing<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   * is bypassed. Can be modified. Will not be used if default processing<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * is not bypassed.<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   */<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  default void preGetOp(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get, List&lt;Cell&gt; result)<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      throws IOException {}<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * Called after the client performs a Get<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   * &lt;p&gt;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * coprocessors<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * &lt;p&gt;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * Note: Do not retain references to any Cells in 'result' beyond the life of this invocation.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @param c the environment provided by the region server<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @param get the Get request<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @param result the result to return to the client, modify as necessary<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  default void postGetOp(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      List&lt;Cell&gt; result) throws IOException {}<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>  /**<a name="line.340"></a>
-<span class="sourceLineNo">341</span>   * Called before the client tests for existence using a Get.<a name="line.341"></a>
-<span class="sourceLineNo">342</span>   * &lt;p&gt;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   * &lt;p&gt;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.345"></a>
-<span class="sourceLineNo">346</span>   * coprocessors<a name="line.346"></a>
-<span class="sourceLineNo">347</span>   * @param c the environment provided by the region server<a name="line.347"></a>
-<span class="sourceLineNo">348</span>   * @param get the Get request<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * @param exists the result returned by the region server<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * @return the value to return to the client if bypassing default processing<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  default boolean preExists(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      boolean exists) throws IOException {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    return exists;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  }<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>  /**<a name="line.357"></a>
-<span class="sourceLineNo">358</span>   * Called after the client tests for existence using a Get.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>   * &lt;p&gt;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.360"></a>
-<span class="sourceLineNo">361</span>   * coprocessors<a name="line.361"></a>
-<span class="sourceLineNo">362</span>   * @param c the environment provided by the region server<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * @param get the Get request<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   * @param exists the result returned by the region server<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @return the result to return to the client<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   */<a name="line.366"></a>
-<span class="sourceLineNo">367</span>  default boolean postExists(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      boolean exists) throws IOException {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return exists;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>  /**<a name="line.372"></a>
-<span class="sourceLineNo">373</span>   * Called before the client stores a value.<a name="line.373"></a>
-<span class="sourceLineNo">374</span>   * &lt;p&gt;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.375"></a>
-<span class="sourceLineNo">376</span>   * &lt;p&gt;<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * coprocessors<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * &lt;p&gt;<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * @param c the environment provided by the region server<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * @param put The Put object<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * @param edit The WALEdit object that will be written to the wal<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * @param durability Persistence guarantee for this Put<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  default void prePut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Put put, WALEdit edit,<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      Durability durability) throws IOException {}<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  /**<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * Called after the client stores a value.<a name="line.391"></a>
+<span class="sourceLineNo">313</span>   * @param c the environment provided by the region server<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * @param get the Get request<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param result The result to return to the client if default processing<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   * is bypassed. Can be modified. Will not be used if default processing<a name="line.316"></a>
+<span class="sourceLineNo">317</span>   * is not bypassed.<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   */<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  default void preGetOp(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get, List&lt;Cell&gt; result)<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      throws IOException {}<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * Called after the client performs a Get<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * &lt;p&gt;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * Note: Do not retain references to any Cells in 'result' beyond the life of this invocation.<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param c the environment provided by the region server<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @param get the Get request<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   * @param result the result to return to the client, modify as necessary<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   */<a name="line.330"></a>
+<span class="sourceLineNo">331</span>  default void postGetOp(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      List&lt;Cell&gt; result) throws IOException {}<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * Called before the client tests for existence using a Get.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * &lt;p&gt;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param c the environment provided by the region server<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param get the Get request<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @param exists the result returned by the region server<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * @return the value to return to the client if bypassing default processing<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   */<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  default boolean preExists(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      boolean exists) throws IOException {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    return exists;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * Called after the client tests for existence using a Get.<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @param c the environment provided by the region server<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   * @param get the Get request<a name="line.351"></a>
+<span class="sourceLineNo">352</span>   * @param exists the result returned by the region server<a name="line.352"></a>
+<span class="sourceLineNo">353</span>   * @return the result to return to the client<a name="line.353"></a>
+<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  default boolean postExists(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Get get,<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      boolean exists) throws IOException {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    return exists;<a name="line.357"></a>
+<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span>  /**<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   * Called before the client stores a value.<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * &lt;p&gt;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * &lt;p&gt;<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.365"></a>
+<span class="sourceLineNo">366</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * @param c the environment provided by the region server<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   * @param put The Put object<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * @param edit The WALEdit object that will be written to the wal<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * @param durability Persistence guarantee for this Put<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  default void prePut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Put put, WALEdit edit,<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      Durability durability) throws IOException {}<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>  /**<a name="line.375"></a>
+<span class="sourceLineNo">376</span>   * Called after the client stores a value.<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * &lt;p&gt;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   * @param c the environment provided by the region server<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * @param put The Put object<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @param edit The WALEdit object for the wal<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * @param durability Persistence guarantee for this Put<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  default void postPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Put put, WALEdit edit,<a name="line.385"></a>
+<span class="sourceLineNo">386</span>      Durability durability) throws IOException {}<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>  /**<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * Called before the client deletes a value.<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * &lt;p&gt;<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.391"></a>
 <span class="sourceLineNo">392</span>   * &lt;p&gt;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * coprocessors<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   * &lt;p&gt;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.396"></a>
-<span class="sourceLineNo">397</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.397"></a>
-<span class="sourceLineNo">398</span>   * @param c the environment provided by the region server<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @param put The Put object<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @param edit The WALEdit object for the wal<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * @param durability Persistence guarantee for this Put<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
-<span class="sourceLineNo">403</span>  default void postPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Put put, WALEdit edit,<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      Durability durability) throws IOException {}<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>  /**<a name="line.406"></a>
-<span class="sourceLineNo">407</span>   * Called before the client deletes a value.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>   * &lt;p&gt;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * &lt;p&gt;<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * coprocessors<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * &lt;p&gt;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * @param c the environment provided by the region server<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   * @param delete The Delete object<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param edit The WALEdit object for the wal<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param durability Persistence guarantee for this Delete<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   */<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  default void preDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Delete delete,<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      WALEdit edit, Durability durability) throws IOException {}<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span>  /**<a name="line.424"></a>
-<span class="sourceLineNo">425</span>   * Called before the server updates the timestamp for version delete with latest timestamp.<a name="line.425"></a>
-<span class="sourceLineNo">426</span>   * &lt;p&gt;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * &lt;p&gt;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param c the environment provided by the region server<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   * @param mutation - the parent mutation associated with this delete cell<a name="line.431"></a>
-<span class="sourceLineNo">432</span>   * @param cell - The deleteColumn with latest version cell<a name="line.432"></a>
-<span class="sourceLineNo">433</span>   * @param byteNow - timestamp bytes<a name="line.433"></a>
-<span class="sourceLineNo">434</span>   * @param get - the get formed using the current cell's row. Note that the get does not specify<a name="line.434"></a>
-<span class="sourceLineNo">435</span>   *          the family and qualifier<a name="line.435"></a>
-<span class="sourceLineNo">436</span>   * @deprecated Since hbase-2.0.0. No replacement. To be removed in hbase-3.0.0 and replaced<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * with something that doesn't expose IntefaceAudience.Private classes.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
-<span class="sourceLineNo">439</span>  @Deprecated<a name="line.439"></a>
-<span class="sourceLineNo">440</span>  default void prePrepareTimeStampForDeleteVersion(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      Mutation mutation, Cell cell, byte[] byteNow, Get get) throws IOException {}<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>  /**<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   * Called after the client deletes a value.<a name="line.444"></a>
-<span class="sourceLineNo">445</span>   * &lt;p&gt;<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * coprocessors<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * &lt;p&gt;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.450"></a>
-<span class="sourceLineNo">451</span>   * @param c the environment provided by the region server<a name="line.451"></a>
-<span class="sourceLineNo">452</span>   * @param delete The Delete object<a name="line.452"></a>
-<span class="sourceLineNo">453</span>   * @param edit The WALEdit object for the wal<a name="line.453"></a>
-<span class="sourceLineNo">454</span>   * @param durability Persistence guarantee for this Delete<a name="line.454"></a>
-<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  default void postDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Delete delete,<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      WALEdit edit, Durability durability) throws IOException {}<a name="line.457"></a>
-<span class="sourceLineNo">458</span><a name="line.458"></a>
-<span class="sourceLineNo">459</span>  /**<a name="line.459"></a>
-<span class="sourceLineNo">460</span>   * This will be called for every batch mutation operation happening at the server. This will be<a name="line.460"></a>
-<span class="sourceLineNo">461</span>   * called after acquiring the locks on the mutating rows and after applying the proper timestamp<a name="line.461"></a>
-<span class="sourceLineNo">462</span>   * for each Mutation at the server. The batch may contain Put/Delete. By setting OperationStatus<a name="line.462"></a>
-<span class="sourceLineNo">463</span>   * of Mutations ({@link MiniBatchOperationInProgress#setOperationStatus(int, OperationStatus)}),<a name="line.463"></a>
-<span class="sourceLineNo">464</span>   * {@link RegionObserver} can make Region to skip these Mutations.<a name="line.464"></a>
-<span class="sourceLineNo">465</span>   * &lt;p&gt;<a name="line.465"></a>
-<span class="sourceLineNo">466</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.466"></a>
-<span class="sourceLineNo">467</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.467"></a>
-<span class="sourceLineNo">468</span>   * @param c the environment provided by the region server<a name="line.468"></a>
-<span class="sourceLineNo">469</span>   * @param miniBatchOp batch of Mutations getting applied to region.<a name="line.469"></a>
+<span class="sourceLineNo">393</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.393"></a>
+<span class="sourceLineNo">394</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * @param c the environment provided by the region server<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * @param delete The Delete object<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   * @param edit The WALEdit object for the wal<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * @param durability Persistence guarantee for this Delete<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   */<a name="line.399"></a>
+<span class="sourceLineNo">400</span>  default void preDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Delete delete,<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      WALEdit edit, Durability durability) throws IOException {}<a name="line.401"></a>
+<span class="sourceLineNo">402</span><a name="line.402"></a>
+<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * Called before the server updates the timestamp for version delete with latest timestamp.<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * &lt;p&gt;<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * @param c the environment provided by the region server<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * @param mutation - the parent mutation associated with this delete cell<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   * @param cell - The deleteColumn with latest version cell<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * @param byteNow - timestamp bytes<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * @param get - the get formed using the current cell's row. Note that the get does not specify<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   *          the family and qualifier<a name="line.412"></a>
+<span class="sourceLineNo">413</span>   * @deprecated Since hbase-2.0.0. No replacement. To be removed in hbase-3.0.0 and replaced<a name="line.413"></a>
+<span class="sourceLineNo">414</span>   * with something that doesn't expose IntefaceAudience.Private classes.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   */<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  @Deprecated<a name="line.416"></a>
+<span class="sourceLineNo">417</span>  default void prePrepareTimeStampForDeleteVersion(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      Mutation mutation, Cell cell, byte[] byteNow, Get get) throws IOException {}<a name="line.418"></a>
+<span class="sourceLineNo">419</span><a name="line.419"></a>
+<span class="sourceLineNo">420</span>  /**<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   * Called after the client deletes a value.<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   * &lt;p&gt;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * @param c the environment provided by the region server<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * @param delete The Delete object<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @param edit The WALEdit object for the wal<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   * @param durability Persistence guarantee for this Delete<a name="line.428"></a>
+<span class="sourceLineNo">429</span>   */<a name="line.429"></a>
+<span class="sourceLineNo">430</span>  default void postDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Delete delete,<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      WALEdit edit, Durability durability) throws IOException {}<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>  /**<a name="line.433"></a>
+<span class="sourceLineNo">434</span>   * This will be called for every batch mutation operation happening at the server. This will be<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * called after acquiring the locks on the mutating rows and after applying the proper timestamp<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * for each Mutation at the server. The batch may contain Put/Delete. By setting OperationStatus<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * of Mutations ({@link MiniBatchOperationInProgress#setOperationStatus(int, OperationStatus)}),<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   * {@link RegionObserver} can make Region to skip these Mutations.<a name="line.438"></a>
+<span class="sourceLineNo">439</span>   * &lt;p&gt;<a name="line.439"></a>
+<span class="sourceLineNo">440</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.440"></a>
+<span class="sourceLineNo">441</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @param c the environment provided by the region server<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * @param miniBatchOp batch of Mutations getting applied to region.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   */<a name="line.444"></a>
+<span class="sourceLineNo">445</span>  default void preBatchMutate(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp) throws IOException {}<a name="line.446"></a>
+<span class="sourceLineNo">447</span><a name="line.447"></a>
+<span class="sourceLineNo">448</span>  /**<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * This will be called after applying a batch of Mutations on a region. The Mutations are added to<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * memstore and WAL. The difference of this one with<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   * {@link #postPut(ObserverContext, Put, WALEdit, Durability) }<a name="line.451"></a>
+<span class="sourceLineNo">452</span>   * and {@link #postDelete(ObserverContext, Delete, WALEdit, Durability) } is<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * this hook will be executed before the mvcc transaction completion.<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * &lt;p&gt;<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.455"></a>
+<span class="sourceLineNo">456</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.456"></a>
+<span class="sourceLineNo">457</span>   * @param c the environment provided by the region server<a name="line.457"></a>
+<span class="sourceLineNo">458</span>   * @param miniBatchOp batch of Mutations applied to region. Coprocessors are discouraged from<a name="line.458"></a>
+<span class="sourceLineNo">459</span>   *                    manipulating its state.<a name="line.459"></a>
+<span class="sourceLineNo">460</span>   */<a name="line.460"></a>
+<span class="sourceLineNo">461</span>  // Coprocessors can do a form of bypass by changing state in miniBatchOp.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>  default void postBatchMutate(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp) throws IOException {}<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>  /**<a name="line.465"></a>
+<span class="sourceLineNo">466</span>   * This will be called for region operations where read lock is acquired in<a name="line.466"></a>
+<span class="sourceLineNo">467</span>   * {@link Region#startRegionOperation()}.<a name="line.467"></a>
+<span class="sourceLineNo">468</span>   * @param ctx<a name="line.468"></a>
+<span class="sourceLineNo">469</span>   * @param operation The operation is about to be taken on the region<a name="line.469"></a>
 <span class="sourceLineNo">470</span>   */<a name="line.470"></a>
-<span class="sourceLineNo">471</span>  default void preBatchMutate(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp) throws IOException {}<a name="line.472"></a>
+<span class="sourceLineNo">471</span>  default void postStartRegionOperation(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      Operation operation) throws IOException {}<a name="line.472"></a>
 <span class="sourceLineNo">473</span><a name="line.473"></a>
 <span class="sourceLineNo">474</span>  /**<a name="line.474"></a>
-<span class="sourceLineNo">475</span>   * This will be called after applying a batch of Mutations on a region. The Mutations are added to<a name="line.475"></a>
-<span class="sourceLineNo">476</span>   * memstore and WAL. The difference of this one with<a name="line.476"></a>
-<span class="sourceLineNo">477</span>   * {@link #postPut(ObserverContext, Put, WALEdit, Durability) }<a name="line.477"></a>
-<span class="sourceLineNo">478</span>   * and {@link #postDelete(ObserverContext, Delete, WALEdit, Durability) } is<a name="line.478"></a>
-<span class="sourceLineNo">479</span>   * this hook will be executed before the mvcc transaction completion.<a name="line.479"></a>
-<span class="sourceLineNo">480</span>   * &lt;p&gt;<a name="line.480"></a>
-<span class="sourceLineNo">481</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.481"></a>
-<span class="sourceLineNo">482</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * @param c the environment provided by the region server<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   * @param miniBatchOp batch of Mutations applied to region. Coprocessors are discouraged from<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   *                    manipulating its state.<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   */<a name="line.486"></a>
-<span class="sourceLineNo">487</span>  // Coprocessors can do a form of bypass by changing state in miniBatchOp.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>  default void postBatchMutate(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp) throws IOException {}<a name="line.489"></a>
-<span class="sourceLineNo">490</span><a name="line.490"></a>
-<span class="sourceLineNo">491</span>  /**<a name="line.491"></a>
-<span class="sourceLineNo">492</span>   * This will be called for region operations where read lock is acquired in<a name="line.492"></a>
-<span class="sourceLineNo">493</span>   * {@link Region#startRegionOperation()}.<a name="line.493"></a>
-<span class="sourceLineNo">494</span>   * @param ctx<a name="line.494"></a>
-<span class="sourceLineNo">495</span>   * @param operation The operation is about to be taken on the region<a name="line.495"></a>
-<span class="sourceLineNo">496</span>   */<a name="line.496"></a>
-<span class="sourceLineNo">497</span>  default void postStartRegionOperation(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      Operation operation) throws IOException {}<a name="line.498"></a>
-<span class="sourceLineNo">499</span><a name="line.499"></a>
-<span class="sourceLineNo">500</span>  /**<a name="line.500"></a>
-<span class="sourceLineNo">501</span>   * Called after releasing read lock in {@link Region#closeRegionOperation()}.<a name="line.501"></a>
-<span class="sourceLineNo">502</span>   * @param ctx<a name="line.502"></a>
-<span class="sourceLineNo">503</span>   * @param operation<a name="line.503"></a>
-<span class="sourceLineNo">504</span>   */<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  default void postCloseRegionOperation(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      Operation operation) throws IOException {}<a name="line.506"></a>
-<span class="sourceLineNo">507</span><a name="line.507"></a>
-<span class="sourceLineNo">508</span>  /**<a name="line.508"></a>
-<span class="sourceLineNo">509</span>   * Called after the completion of batch put/delete and will be called even if the batch operation<a name="line.509"></a>
-<span class="sourceLineNo">510</span>   * fails.<a name="line.510"></a>
-<span class="sourceLineNo">511</span>   * &lt;p&gt;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.512"></a>
-<span class="sourceLineNo">513</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.513"></a>
-<span class="sourceLineNo">514</span>   * @param ctx<a name="line.514"></a>
-<span class="sourceLineNo">515</span>   * @param miniBatchOp<a name="line.515"></a>
-<span class="sourceLineNo">516</span>   * @param success true if batch operation is successful otherwise false.<a name="line.516"></a>
-<span class="sourceLineNo">517</span>   */<a name="line.517"></a>
-<span class="sourceLineNo">518</span>  default void postBatchMutateIndispensably(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp, boolean success) throws IOException {}<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * Called before checkAndPut.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   * &lt;p&gt;<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.524"></a>
+<span class="sourceLineNo">475</span>   * Called after releasing read lock in {@link Region#closeRegionOperation()}.<a name="line.475"></a>
+<span class="sourceLineNo">476</span>   * @param ctx<a name="line.476"></a>
+<span class="sourceLineNo">477</span>   * @param operation<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   */<a name="line.478"></a>
+<span class="sourceLineNo">479</span>  default void postCloseRegionOperation(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.479"></a>
+<span class="sourceLineNo">480</span>      Operation operation) throws IOException {}<a name="line.480"></a>
+<span class="sourceLineNo">481</span><a name="line.481"></a>
+<span class="sourceLineNo">482</span>  /**<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   * Called after the completion of batch put/delete and will be called even if the batch operation<a name="line.483"></a>
+<span class="sourceLineNo">484</span>   * fails.<a name="line.484"></a>
+<span class="sourceLineNo">485</span>   * &lt;p&gt;<a name="line.485"></a>
+<span class="sourceLineNo">486</span>   * Note: Do not retain references to any Cells in Mutations beyond the life of this invocation.<a name="line.486"></a>
+<span class="sourceLineNo">487</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.487"></a>
+<span class="sourceLineNo">488</span>   * @param ctx<a name="line.488"></a>
+<span class="sourceLineNo">489</span>   * @param miniBatchOp<a name="line.489"></a>
+<span class="sourceLineNo">490</span>   * @param success true if batch operation is successful otherwise false.<a name="line.490"></a>
+<span class="sourceLineNo">491</span>   */<a name="line.491"></a>
+<span class="sourceLineNo">492</span>  default void postBatchMutateIndispensably(ObserverContext&lt;RegionCoprocessorEnvironment&gt; ctx,<a name="line.492"></a>
+<span class="sourceLineNo">493</span>      MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp, boolean success) throws IOException {}<a name="line.493"></a>
+<span class="sourceLineNo">494</span><a name="line.494"></a>
+<span class="sourceLineNo">495</span>  /**<a name="line.495"></a>
+<span class="sourceLineNo">496</span>   * Called before checkAndPut.<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * &lt;p&gt;<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * &lt;p&gt;<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * @param c the environment provided by the region server<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   * @param row row to check<a name="line.503"></a>
+<span class="sourceLineNo">504</span>   * @param family column family<a name="line.504"></a>
+<span class="sourceLineNo">505</span>   * @param qualifier column qualifier<a name="line.505"></a>
+<span class="sourceLineNo">506</span>   * @param op the comparison operation<a name="line.506"></a>
+<span class="sourceLineNo">507</span>   * @param comparator the comparator<a name="line.507"></a>
+<span class="sourceLineNo">508</span>   * @param put data to put if check succeeds<a name="line.508"></a>
+<span class="sourceLineNo">509</span>   * @param result<a name="line.509"></a>
+<span class="sourceLineNo">510</span>   * @return the return value to return to client if bypassing default<a name="line.510"></a>
+<span class="sourceLineNo">511</span>   * processing<a name="line.511"></a>
+<span class="sourceLineNo">512</span>   */<a name="line.512"></a>
+<span class="sourceLineNo">513</span>  default boolean preCheckAndPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.513"></a>
+<span class="sourceLineNo">514</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator, Put put,<a name="line.514"></a>
+<span class="sourceLineNo">515</span>      boolean result) throws IOException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>    return result;<a name="line.516"></a>
+<span class="sourceLineNo">517</span>  }<a name="line.517"></a>
+<span class="sourceLineNo">518</span><a name="line.518"></a>
+<span class="sourceLineNo">519</span>  /**<a name="line.519"></a>
+<span class="sourceLineNo">520</span>   * Called before checkAndPut but after acquiring rowlock.<a name="line.520"></a>
+<span class="sourceLineNo">521</span>   * &lt;p&gt;<a name="line.521"></a>
+<span class="sourceLineNo">522</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.522"></a>
+<span class="sourceLineNo">523</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.523"></a>
+<span class="sourceLineNo">524</span>   * can lead to potential deadlock.<a name="line.524"></a>
 <span class="sourceLineNo">525</span>   * &lt;p&gt;<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * coprocessors<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * &lt;p&gt;<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param c the environment provided by the region server<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   * @param row row to check<a name="line.532"></a>
-<span class="sourceLineNo">533</span>   * @param family column family<a name="line.533"></a>
-<span class="sourceLineNo">534</span>   * @param qualifier column qualifier<a name="line.534"></a>
-<span class="sourceLineNo">535</span>   * @param op the comparison operation<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   * @param comparator the comparator<a name="line.536"></a>
-<span class="sourceLineNo">537</span>   * @param put data to put if check succeeds<a name="line.537"></a>
-<span class="sourceLineNo">538</span>   * @param result<a name="line.538"></a>
-<span class="sourceLineNo">539</span>   * @return the return value to return to client if bypassing default<a name="line.539"></a>
-<span class="sourceLineNo">540</span>   * processing<a name="line.540"></a>
-<span class="sourceLineNo">541</span>   */<a name="line.541"></a>
-<span class="sourceLineNo">542</span>  default boolean preCheckAndPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator, Put put,<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      boolean result) throws IOException {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    return result;<a name="line.545"></a>
-<span class="sourceLineNo">546</span>  }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>  /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span>   * Called before checkAndPut but after acquiring rowlock.<a name="line.549"></a>
-<span class="sourceLineNo">550</span>   * &lt;p&gt;<a name="line.550"></a>
-<span class="sourceLineNo">551</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.551"></a>
-<span class="sourceLineNo">552</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.552"></a>
-<span class="sourceLineNo">553</span>   * can lead to potential deadlock.<a name="line.553"></a>
-<span class="sourceLineNo">554</span>   * &lt;p&gt;<a name="line.554"></a>
-<span class="sourceLineNo">555</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.555"></a>
-<span class="sourceLineNo">556</span>   * &lt;p&gt;<a name="line.556"></a>
-<span class="sourceLineNo">557</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.557"></a>
-<span class="sourceLineNo">558</span>   * coprocessors<a name="line.558"></a>
-<span class="sourceLineNo">559</span>   * &lt;p&gt;<a name="line.559"></a>
-<span class="sourceLineNo">560</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.560"></a>
-<span class="sourceLineNo">561</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.561"></a>
-<span class="sourceLineNo">562</span>   * @param c the environment provided by the region server<a name="line.562"></a>
-<span class="sourceLineNo">563</span>   * @param row row to check<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * @param family column family<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   * @param qualifier column qualifier<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param op the comparison operation<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param comparator the comparator<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param put data to put if check succeeds<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @param result<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * @return the return value to return to client if bypassing default<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * processing<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  default boolean preCheckAndPutAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      ByteArrayComparable comparator, Put put, boolean result) throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    return result;<a name="line.576"></a>
-<span class="sourceLineNo">577</span>  }<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span>  /**<a name="line.579"></a>
-<span class="sourceLineNo">580</span>   * Called after checkAndPut<a name="line.580"></a>
-<span class="sourceLineNo">581</span>   * &lt;p&gt;<a name="line.581"></a>
-<span class="sourceLineNo">582</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.582"></a>
-<span class="sourceLineNo">583</span>   * coprocessors<a name="line.583"></a>
-<span class="sourceLineNo">584</span>   * &lt;p&gt;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.585"></a>
-<span class="sourceLineNo">586</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.586"></a>
-<span class="sourceLineNo">587</span>   * @param c the environment provided by the region server<a name="line.587"></a>
-<span class="sourceLineNo">588</span>   * @param row row to check<a name="line.588"></a>
-<span class="sourceLineNo">589</span>   * @param family column family<a name="line.589"></a>
-<span class="sourceLineNo">590</span>   * @param qualifier column qualifier<a name="line.590"></a>
-<span class="sourceLineNo">591</span>   * @param op the comparison operation<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   * @param comparator the comparator<a name="line.592"></a>
-<span class="sourceLineNo">593</span>   * @param put data to put if check succeeds<a name="line.593"></a>
-<span class="sourceLineNo">594</span>   * @param result from the checkAndPut<a name="line.594"></a>
-<span class="sourceLineNo">595</span>   * @return the possibly transformed return value to return to client<a name="line.595"></a>
-<span class="sourceLineNo">596</span>   */<a name="line.596"></a>
-<span class="sourceLineNo">597</span>  default boolean postCheckAndPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator, Put put,<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      boolean result) throws IOException {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>    return result;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>  }<a name="line.601"></a>
-<span class="sourceLineNo">602</span><a name="line.602"></a>
-<span class="sourceLineNo">603</span>  /**<a name="line.603"></a>
-<span class="sourceLineNo">604</span>   * Called before checkAndDelete.<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * &lt;p&gt;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * &lt;p&gt;<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * coprocessors<a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * &lt;p&gt;<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * @param c the environment provided by the region server<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   * @param row row to check<a name="line.614"></a>
-<span class="sourceLineNo">615</span>   * @param family column family<a name="line.615"></a>
-<span class="sourceLineNo">616</span>   * @param qualifier column qualifier<a name="line.616"></a>
-<span class="sourceLineNo">617</span>   * @param op the comparison operation<a name="line.617"></a>
-<span class="sourceLineNo">618</span>   * @param comparator the comparator<a name="line.618"></a>
-<span class="sourceLineNo">619</span>   * @param delete delete to commit if check succeeds<a name="line.619"></a>
-<span class="sourceLineNo">620</span>   * @param result<a name="line.620"></a>
-<span class="sourceLineNo">621</span>   * @return the value to return to client if bypassing default processing<a name="line.621"></a>
-<span class="sourceLineNo">622</span>   */<a name="line.622"></a>
-<span class="sourceLineNo">623</span>  default boolean preCheckAndDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      Delete delete, boolean result) throws IOException {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>    return result;<a name="line.626"></a>
-<span class="sourceLineNo">627</span>  }<a name="line.627"></a>
-<span class="sourceLineNo">628</span><a name="line.628"></a>
-<span class="sourceLineNo">629</span>  /**<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   * Called before checkAndDelete but after acquiring rowock.<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   * &lt;p&gt;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.632"></a>
-<span class="sourceLineNo">633</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.633"></a>
-<span class="sourceLineNo">634</span>   * can lead to potential deadlock.<a name="line.634"></a>
-<span class="sourceLineNo">635</span>   * &lt;p&gt;<a name="line.635"></a>
-<span class="sourceLineNo">636</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.636"></a>
-<span class="sourceLineNo">637</span>   * &lt;p&gt;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.638"></a>
-<span class="sourceLineNo">639</span>   * coprocessors<a name="line.639"></a>
-<span class="sourceLineNo">640</span>   * &lt;p&gt;<a name="line.640"></a>
-<span class="sourceLineNo">641</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   * @param c the environment provided by the region server<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @param row row to check<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @param family column family<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   * @param qualifier column qualifier<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * @param op the comparison operation<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   * @param comparator the comparator<a name="line.648"></a>
-<span class="sourceLineNo">649</span>   * @param delete delete to commit if check succeeds<a name="line.649"></a>
-<span class="sourceLineNo">650</span>   * @param result<a name="line.650"></a>
-<span class="sourceLineNo">651</span>   * @return the value to return to client if bypassing default processing<a name="line.651"></a>
-<span class="sourceLineNo">652</span>   */<a name="line.652"></a>
-<span class="sourceLineNo">653</span>  default boolean preCheckAndDeleteAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.653"></a>
-<span class="sourceLineNo">654</span>      byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.654"></a>
-<span class="sourceLineNo">655</span>      ByteArrayComparable comparator, Delete delete, boolean result) throws IOException {<a name="line.655"></a>
-<span class="sourceLineNo">656</span>    return result;<a name="line.656"></a>
-<span class="sourceLineNo">657</span>  }<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>  /**<a name="line.659"></a>
-<span class="sourceLineNo">660</span>   * Called after checkAndDelete<a name="line.660"></a>
+<span class="sourceLineNo">526</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.526"></a>
+<span class="sourceLineNo">527</span>   * &lt;p&gt;<a name="line.527"></a>
+<span class="sourceLineNo">528</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.528"></a>
+<span class="sourceLineNo">529</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.529"></a>
+<span class="sourceLineNo">530</span>   * @param c the environment provided by the region server<a name="line.530"></a>
+<span class="sourceLineNo">531</span>   * @param row row to check<a name="line.531"></a>
+<span class="sourceLineNo">532</span>   * @param family column family<a name="line.532"></a>
+<span class="sourceLineNo">533</span>   * @param qualifier column qualifier<a name="line.533"></a>
+<span class="sourceLineNo">534</span>   * @param op the comparison operation<a name="line.534"></a>
+<span class="sourceLineNo">535</span>   * @param comparator the comparator<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * @param put data to put if check succeeds<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   * @param result<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @return the return value to return to client if bypassing default<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * processing<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   */<a name="line.540"></a>
+<span class="sourceLineNo">541</span>  default boolean preCheckAndPutAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.541"></a>
+<span class="sourceLineNo">542</span>      byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.542"></a>
+<span class="sourceLineNo">543</span>      ByteArrayComparable comparator, Put put, boolean result) throws IOException {<a name="line.543"></a>
+<span class="sourceLineNo">544</span>    return result;<a name="line.544"></a>
+<span class="sourceLineNo">545</span>  }<a name="line.545"></a>
+<span class="sourceLineNo">546</span><a name="line.546"></a>
+<span class="sourceLineNo">547</span>  /**<a name="line.547"></a>
+<span class="sourceLineNo">548</span>   * Called after checkAndPut<a name="line.548"></a>
+<span class="sourceLineNo">549</span>   * &lt;p&gt;<a name="line.549"></a>
+<span class="sourceLineNo">550</span>   * Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.<a name="line.550"></a>
+<span class="sourceLineNo">551</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.551"></a>
+<span class="sourceLineNo">552</span>   * @param c the environment provided by the region server<a name="line.552"></a>
+<span class="sourceLineNo">553</span>   * @param row row to check<a name="line.553"></a>
+<span class="sourceLineNo">554</span>   * @param family column family<a name="line.554"></a>
+<span class="sourceLineNo">555</span>   * @param qualifier column qualifier<a name="line.555"></a>
+<span class="sourceLineNo">556</span>   * @param op the comparison operation<a name="line.556"></a>
+<span class="sourceLineNo">557</span>   * @param comparator the comparator<a name="line.557"></a>
+<span class="sourceLineNo">558</span>   * @param put data to put if check succeeds<a name="line.558"></a>
+<span class="sourceLineNo">559</span>   * @param result from the checkAndPut<a name="line.559"></a>
+<span class="sourceLineNo">560</span>   * @return the possibly transformed return value to return to client<a name="line.560"></a>
+<span class="sourceLineNo">561</span>   */<a name="line.561"></a>
+<span class="sourceLineNo">562</span>  default boolean postCheckAndPut(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator, Put put,<a name="line.563"></a>
+<span class="sourceLineNo">564</span>      boolean result) throws IOException {<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    return result;<a name="line.565"></a>
+<span class="sourceLineNo">566</span>  }<a name="line.566"></a>
+<span class="sourceLineNo">567</span><a name="line.567"></a>
+<span class="sourceLineNo">568</span>  /**<a name="line.568"></a>
+<span class="sourceLineNo">569</span>   * Called before checkAndDelete.<a name="line.569"></a>
+<span class="sourceLineNo">570</span>   * &lt;p&gt;<a name="line.570"></a>
+<span class="sourceLineNo">571</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.571"></a>
+<span class="sourceLineNo">572</span>   * &lt;p&gt;<a name="line.572"></a>
+<span class="sourceLineNo">573</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.573"></a>
+<span class="sourceLineNo">574</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.574"></a>
+<span class="sourceLineNo">575</span>   * @param c the environment provided by the region server<a name="line.575"></a>
+<span class="sourceLineNo">576</span>   * @param row row to check<a name="line.576"></a>
+<span class="sourceLineNo">577</span>   * @param family column family<a name="line.577"></a>
+<span class="sourceLineNo">578</span>   * @param qualifier column qualifier<a name="line.578"></a>
+<span class="sourceLineNo">579</span>   * @param op the comparison operation<a name="line.579"></a>
+<span class="sourceLineNo">580</span>   * @param comparator the comparator<a name="line.580"></a>
+<span class="sourceLineNo">581</span>   * @param delete delete to commit if check succeeds<a name="line.581"></a>
+<span class="sourceLineNo">582</span>   * @param result<a name="line.582"></a>
+<span class="sourceLineNo">583</span>   * @return the value to return to client if bypassing default processing<a name="line.583"></a>
+<span class="sourceLineNo">584</span>   */<a name="line.584"></a>
+<span class="sourceLineNo">585</span>  default boolean preCheckAndDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator,<a name="line.586"></a>
+<span class="sourceLineNo">587</span>      Delete delete, boolean result) throws IOException {<a name="line.587"></a>
+<span class="sourceLineNo">588</span>    return result;<a name="line.588"></a>
+<span class="sourceLineNo">589</span>  }<a name="line.589"></a>
+<span class="sourceLineNo">590</span><a name="line.590"></a>
+<span class="sourceLineNo">591</span>  /**<a name="line.591"></a>
+<span class="sourceLineNo">592</span>   * Called before checkAndDelete but after acquiring rowock.<a name="line.592"></a>
+<span class="sourceLineNo">593</span>   * &lt;p&gt;<a name="line.593"></a>
+<span class="sourceLineNo">594</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * can lead to potential deadlock.<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * &lt;p&gt;<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.598"></a>
+<span class="sourceLineNo">599</span>   * &lt;p&gt;<a name="line.599"></a>
+<span class="sourceLineNo">600</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.600"></a>
+<span class="sourceLineNo">601</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.601"></a>
+<span class="sourceLineNo">602</span>   * @param c the environment provided by the region server<a name="line.602"></a>
+<span class="sourceLineNo">603</span>   * @param row row to check<a name="line.603"></a>
+<span class="sourceLineNo">604</span>   * @param family column family<a name="line.604"></a>
+<span class="sourceLineNo">605</span>   * @param qualifier column qualifier<a name="line.605"></a>
+<span class="sourceLineNo">606</span>   * @param op the comparison operation<a name="line.606"></a>
+<span class="sourceLineNo">607</span>   * @param comparator the comparator<a name="line.607"></a>
+<span class="sourceLineNo">608</span>   * @param delete delete to commit if check succeeds<a name="line.608"></a>
+<span class="sourceLineNo">609</span>   * @param result<a name="line.609"></a>
+<span class="sourceLineNo">610</span>   * @return the value to return to client if bypassing default processing<a name="line.610"></a>
+<span class="sourceLineNo">611</span>   */<a name="line.611"></a>
+<span class="sourceLineNo">612</span>  default boolean preCheckAndDeleteAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.612"></a>
+<span class="sourceLineNo">613</span>      byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.613"></a>
+<span class="sourceLineNo">614</span>      ByteArrayComparable comparator, Delete delete, boolean result) throws IOException {<a name="line.614"></a>
+<span class="sourceLineNo">615</span>    return result;<a name="line.615"></a>
+<span class="sourceLineNo">616</span>  }<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>  /**<a name="line.618"></a>
+<span class="sourceLineNo">619</span>   * Called after checkAndDelete<a name="line.619"></a>
+<span class="sourceLineNo">620</span>   * &lt;p&gt;<a name="line.620"></a>
+<span class="sourceLineNo">621</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.621"></a>
+<span class="sourceLineNo">622</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.622"></a>
+<span class="sourceLineNo">623</span>   * @param c the environment provided by the region server<a name="line.623"></a>
+<span class="sourceLineNo">624</span>   * @param row row to check<a name="line.624"></a>
+<span class="sourceLineNo">625</span>   * @param family column family<a name="line.625"></a>
+<span class="sourceLineNo">626</span>   * @param qualifier column qualifier<a name="line.626"></a>
+<span class="sourceLineNo">627</span>   * @param op the comparison operation<a name="line.627"></a>
+<span class="sourceLineNo">628</span>   * @param comparator the comparator<a name="line.628"></a>
+<span class="sourceLineNo">629</span>   * @param delete delete to commit if check succeeds<a name="line.629"></a>
+<span class="sourceLineNo">630</span>   * @param result from the CheckAndDelete<a name="line.630"></a>
+<span class="sourceLineNo">631</span>   * @return the possibly transformed returned value to return to client<a name="line.631"></a>
+<span class="sourceLineNo">632</span>   */<a name="line.632"></a>
+<span class="sourceLineNo">633</span>  default boolean postCheckAndDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator,<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      Delete delete, boolean result) throws IOException {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>    return result;<a name="line.636"></a>
+<span class="sourceLineNo">637</span>  }<a name="line.637"></a>
+<span class="sourceLineNo">638</span><a name="line.638"></a>
+<span class="sourceLineNo">639</span>  /**<a name="line.639"></a>
+<span class="sourceLineNo">640</span>   * Called before Append.<a name="line.640"></a>
+<span class="sourceLineNo">641</span>   * &lt;p&gt;<a name="line.641"></a>
+<span class="sourceLineNo">642</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.642"></a>
+<span class="sourceLineNo">643</span>   * &lt;p&gt;<a name="line.643"></a>
+<span class="sourceLineNo">644</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.644"></a>
+<span class="sourceLineNo">645</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   * @param c the environment provided by the region server<a name="line.646"></a>
+<span class="sourceLineNo">647</span>   * @param append Append object<a name="line.647"></a>
+<span class="sourceLineNo">648</span>   * @return result to return to the client if bypassing default processing<a name="line.648"></a>
+<span class="sourceLineNo">649</span>   */<a name="line.649"></a>
+<span class="sourceLineNo">650</span>  default Result preAppend(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Append append)<a name="line.650"></a>
+<span class="sourceLineNo">651</span>      throws IOException {<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    return null;<a name="line.652"></a>
+<span class="sourceLineNo">653</span>  }<a name="line.653"></a>
+<span class="sourceLineNo">654</span><a name="line.654"></a>
+<span class="sourceLineNo">655</span>  /**<a name="line.655"></a>
+<span class="sourceLineNo">656</span>   * Called before Append but after acquiring rowlock.<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * &lt;p&gt;<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.658"></a>
+<span class="sourceLineNo">659</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.659"></a>
+<span class="sourceLineNo">660</span>   * can lead to potential deadlock.<a name="line.660"></a>
 <span class="sourceLineNo">661</span>   * &lt;p&gt;<a name="line.661"></a>
-<span class="sourceLineNo">662</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.662"></a>
-<span class="sourceLineNo">663</span>   * coprocessors<a name="line.663"></a>
-<span class="sourceLineNo">664</span>   * &lt;p&gt;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>   * Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.<a name="line.665"></a>
-<span class="sourceLineNo">666</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.666"></a>
-<span class="sourceLineNo">667</span>   * @param c the environment provided by the region server<a name="line.667"></a>
-<span class="sourceLineNo">668</span>   * @param row row to check<a name="line.668"></a>
-<span class="sourceLineNo">669</span>   * @param family column family<a name="line.669"></a>
-<span class="sourceLineNo">670</span>   * @param qualifier column qualifier<a name="line.670"></a>
-<span class="sourceLineNo">671</span>   * @param op the comparison operation<a name="line.671"></a>
-<span class="sourceLineNo">672</span>   * @param comparator the comparator<a name="line.672"></a>
-<span class="sourceLineNo">673</span>   * @param delete delete to commit if check succeeds<a name="line.673"></a>
-<span class="sourceLineNo">674</span>   * @param result from the CheckAndDelete<a name="line.674"></a>
-<span class="sourceLineNo">675</span>   * @return the possibly transformed returned value to return to client<a name="line.675"></a>
-<span class="sourceLineNo">676</span>   */<a name="line.676"></a>
-<span class="sourceLineNo">677</span>  default boolean postCheckAndDelete(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, byte[] row,<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      byte[] family, byte[] qualifier, CompareOperator op, ByteArrayComparable comparator,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      Delete delete, boolean result) throws IOException {<a name="line.679"></a>
-<span class="sourceLineNo">680</span>    return result;<a name="line.680"></a>
-<span class="sourceLineNo">681</span>  }<a name="line.681"></a>
-<span class="sourceLineNo">682</span><a name="line.682"></a>
-<span class="sourceLineNo">683</span>  /**<a name="line.683"></a>
-<span class="sourceLineNo">684</span>   * Called before Append.<a name="line.684"></a>
-<span class="sourceLineNo">685</span>   * &lt;p&gt;<a name="line.685"></a>
-<span class="sourceLineNo">686</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.686"></a>
-<span class="sourceLineNo">687</span>   * &lt;p&gt;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.688"></a>
-<span class="sourceLineNo">689</span>   * coprocessors<a name="line.689"></a>
-<span class="sourceLineNo">690</span>   * &lt;p&gt;<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * @param c the environment provided by the region server<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * @param append Append object<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * @return result to return to the client if bypassing default processing<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
-<span class="sourceLineNo">697</span>  default Result preAppend(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Append append)<a name="line.697"></a>
-<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
-<span class="sourceLineNo">699</span>    return null;<a name="line.699"></a>
-<span class="sourceLineNo">700</span>  }<a name="line.700"></a>
-<span class="sourceLineNo">701</span><a name="line.701"></a>
-<span class="sourceLineNo">702</span>  /**<a name="line.702"></a>
-<span class="sourceLineNo">703</span>   * Called before Append but after acquiring rowlock.<a name="line.703"></a>
-<span class="sourceLineNo">704</span>   * &lt;p&gt;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.705"></a>
-<span class="sourceLineNo">706</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.706"></a>
-<span class="sourceLineNo">707</span>   * can lead to potential deadlock.<a name="line.707"></a>
+<span class="sourceLineNo">662</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.662"></a>
+<span class="sourceLineNo">663</span>   * &lt;p&gt;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.664"></a>
+<span class="sourceLineNo">665</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.665"></a>
+<span class="sourceLineNo">666</span>   * @param c the environment provided by the region server<a name="line.666"></a>
+<span class="sourceLineNo">667</span>   * @param append Append object<a name="line.667"></a>
+<span class="sourceLineNo">668</span>   * @return result to return to the client if bypassing default processing<a name="line.668"></a>
+<span class="sourceLineNo">669</span>   */<a name="line.669"></a>
+<span class="sourceLineNo">670</span>  default Result preAppendAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.670"></a>
+<span class="sourceLineNo">671</span>      Append append) throws IOException {<a name="line.671"></a>
+<span class="sourceLineNo">672</span>    return null;<a name="line.672"></a>
+<span class="sourceLineNo">673</span>  }<a name="line.673"></a>
+<span class="sourceLineNo">674</span><a name="line.674"></a>
+<span class="sourceLineNo">675</span>  /**<a name="line.675"></a>
+<span class="sourceLineNo">676</span>   * Called after Append<a name="line.676"></a>
+<span class="sourceLineNo">677</span>   * &lt;p&gt;<a name="line.677"></a>
+<span class="sourceLineNo">678</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.678"></a>
+<span class="sourceLineNo">679</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.679"></a>
+<span class="sourceLineNo">680</span>   * @param c the environment provided by the region server<a name="line.680"></a>
+<span class="sourceLineNo">681</span>   * @param append Append object<a name="line.681"></a>
+<span class="sourceLineNo">682</span>   * @param result the result returned by increment<a name="line.682"></a>
+<span class="sourceLineNo">683</span>   * @return the result to return to the client<a name="line.683"></a>
+<span class="sourceLineNo">684</span>   */<a name="line.684"></a>
+<span class="sourceLineNo">685</span>  default Result postAppend(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Append append,<a name="line.685"></a>
+<span class="sourceLineNo">686</span>      Result result) throws IOException {<a name="line.686"></a>
+<span class="sourceLineNo">687</span>    return result;<a name="line.687"></a>
+<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
+<span class="sourceLineNo">689</span><a name="line.689"></a>
+<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * Called before Increment.<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * &lt;p&gt;<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * &lt;p&gt;<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.696"></a>
+<span class="sourceLineNo">697</span>   * @param c the environment provided by the region server<a name="line.697"></a>
+<span class="sourceLineNo">698</span>   * @param increment increment object<a name="line.698"></a>
+<span class="sourceLineNo">699</span>   * @return result to return to the client if bypassing default processing<a name="line.699"></a>
+<span class="sourceLineNo">700</span>   */<a name="line.700"></a>
+<span class="sourceLineNo">701</span>  default Result preIncrement(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Increment increment)<a name="line.701"></a>
+<span class="sourceLineNo">702</span>      throws IOException {<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    return null;<a name="line.703"></a>
+<span class="sourceLineNo">704</span>  }<a name="line.704"></a>
+<span class="sourceLineNo">705</span><a name="line.705"></a>
+<span class="sourceLineNo">706</span>  /**<a name="line.706"></a>
+<span class="sourceLineNo">707</span>   * Called before Increment but after acquiring rowlock.<a name="line.707"></a>
 <span class="sourceLineNo">708</span>   * &lt;p&gt;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.709"></a>
-<span class="sourceLineNo">710</span>   * &lt;p&gt;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.711"></a>
-<span class="sourceLineNo">712</span>   * coprocessors<a name="line.712"></a>
-<span class="sourceLineNo">713</span>   * &lt;p&gt;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.714"></a>
-<span class="sourceLineNo">715</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.715"></a>
-<span class="sourceLineNo">716</span>   * @param c the environment provided by the region server<a name="line.716"></a>
-<span class="sourceLineNo">717</span>   * @param append Append object<a name="line.717"></a>
-<span class="sourceLineNo">718</span>   * @return result to return to the client if bypassing default processing<a name="line.718"></a>
-<span class="sourceLineNo">719</span>   */<a name="line.719"></a>
-<span class="sourceLineNo">720</span>  default Result preAppendAfterRowLock(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c,<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      Append append) throws IOException {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>    return null;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>  }<a name="line.723"></a>
-<span class="sourceLineNo">724</span><a name="line.724"></a>
-<span class="sourceLineNo">725</span>  /**<a name="line.725"></a>
-<span class="sourceLineNo">726</span>   * Called after Append<a name="line.726"></a>
-<span class="sourceLineNo">727</span>   * &lt;p&gt;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>   * Call CoprocessorEnvironment#complete to skip any subsequent chained<a name="line.728"></a>
-<span class="sourceLineNo">729</span>   * coprocessors<a name="line.729"></a>
-<span class="sourceLineNo">730</span>   * &lt;p&gt;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>   * Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.<a name="line.731"></a>
-<span class="sourceLineNo">732</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.732"></a>
-<span class="sourceLineNo">733</span>   * @param c the environment provided by the region server<a name="line.733"></a>
-<span class="sourceLineNo">734</span>   * @param append Append object<a name="line.734"></a>
-<span class="sourceLineNo">735</span>   * @param result the result returned by increment<a name="line.735"></a>
-<span class="sourceLineNo">736</span>   * @return the result to return to the client<a name="line.736"></a>
-<span class="sourceLineNo">737</span>   */<a name="line.737"></a>
-<span class="sourceLineNo">738</span>  default Result postAppend(ObserverContext&lt;RegionCoprocessorEnvironment&gt; c, Append append,<a name="line.738"></a>
-<span class="sourceLineNo">739</span>      Result result) throws IOException {<a name="line.739"></a>
-<span class="sourceLineNo">740</span>    return result;<a name="line.740"></a>
-<span class="sourceLineNo">741</span>  }<a name="line.741"></a>
-<span class="sourceLineNo">742</span><a name="line.742"></a>
-<span class="sourceLineNo">743</span>  /**<a name="line.743"></a>
-<span class="sourceLineNo">744</span>   * Called before Increment.<a name="line.744"></a>
-<span class="sourceLineNo">745</span>   * &lt;p&gt;<a name="line.745"></a>
-<span class="sourceLineNo">746</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.746"></a>
+<span class="sourceLineNo">709</span>   * &lt;b&gt;Note:&lt;/b&gt; Caution to be taken for not doing any long time operation in this hook.<a name="line.709"></a>
+<span class="sourceLineNo">710</span>   * Row will be locked for longer time. Trying to acquire lock on another row, within this,<a name="line.710"></a>
+<span class="sourceLineNo">711</span>   * can lead to potential deadlock.<a name="line.711"></a>
+<span class="sourceLineNo">712</span>   * &lt;p&gt;<a name="line.712"></a>
+<span class="sourceLineNo">713</span>   * Call CoprocessorEnvironment#bypass to skip default actions<a name="line.713"></a>
+<span class="sourceLineNo">714</span>   * &lt;p&gt;<a name="line.714"></a>
+<span class="sourceLineNo">715</span>   * Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.<a name="line.715"></a>
+<span class="sourceLineNo">716</span>   * If need a Cell reference for later use, copy the cell and use that.<a name="line.716"></a>
+<span class="sourceLineNo">717</span>   *<a name="line.717"></a>
+<span class="sourceLineNo">718</span>   * @param c<a name="line.718"></a>
+<span class="sourceLineNo">719</span>   *          the environment provided by the region server<a name="line.719"></a>
+<span class="sourceLineNo">720</span>   * @param increment<a name="line.720"></a>
+<span class="sourceLineNo">721</span>   *          increment object<a name="line.721"></a>
+<span class="sourceLineNo">722</span>   * @return result to return to the client if bypassing default processing<a name="line.722"></a>
+<span class="sourceLineNo">72

<TRUNCATED>

[11/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
index 61dceae..7f3de9e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
@@ -567,178 +567,170 @@
 <span class="sourceLineNo">559</span>    }<a name="line.559"></a>
 <span class="sourceLineNo">560</span><a name="line.560"></a>
 <span class="sourceLineNo">561</span>    ObserverOperation(ObserverGetter&lt;C, O&gt; observerGetter, User user, boolean bypassable) {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null),<a name="line.562"></a>
-<span class="sourceLineNo">563</span>          bypassable, bypassable/*'completable': make completable same as bypassable*/);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      this.observerGetter = observerGetter;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    }<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    abstract void callObserver() throws IOException;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    protected void postEnvCall() {}<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  }<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    protected abstract void call(O observer) throws IOException;<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      super(observerGetter);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      super(observerGetter, user);<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        boolean bypassable) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      super(observerGetter, user, bypassable);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.591"></a>
-<span class="sourceLineNo">592</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.592"></a>
-<span class="sourceLineNo">593</span>     * observers, in which case they will return null for that observer's getter.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>     * We simply ignore such cases.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>     */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    void callObserver() throws IOException {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      if (observer.isPresent()) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        call(observer.get());<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    }<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  }<a name="line.603"></a>
-<span class="sourceLineNo">604</span><a name="line.604"></a>
-<span class="sourceLineNo">605</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    protected abstract R call(O observer) throws IOException;<a name="line.606"></a>
-<span class="sourceLineNo">607</span><a name="line.607"></a>
-<span class="sourceLineNo">608</span>    private R result;<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.610"></a>
-<span class="sourceLineNo">611</span>      this(observerGetter, result, false);<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    }<a name="line.612"></a>
-<span class="sourceLineNo">613</span><a name="line.613"></a>
-<span class="sourceLineNo">614</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>        boolean bypassable) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      this(observerGetter, result, null, bypassable);<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    }<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        User user) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      this(observerGetter, result, user, false);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        boolean bypassable) {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      super(observerGetter, user, bypassable);<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      this.result = result;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    }<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    protected R getResult() {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      return this.result;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    }<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span>    void callObserver() throws IOException {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      if (observer.isPresent()) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>        result = call(observer.get());<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      }<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  }<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.642"></a>
-<span class="sourceLineNo">643</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.643"></a>
-<span class="sourceLineNo">644</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.644"></a>
-<span class="sourceLineNo">645</span><a name="line.645"></a>
-<span class="sourceLineNo">646</span>  /**<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   */<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    boolean bypass = execOperation(observerOperation);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    R result = observerOperation.getResult();<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  }<a name="line.654"></a>
-<span class="sourceLineNo">655</span><a name="line.655"></a>
-<span class="sourceLineNo">656</span>  /**<a name="line.656"></a>
-<span class="sourceLineNo">657</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * ObserverOperation#isBypassable().<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      throws IOException {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    boolean bypass = false;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    if (observerOperation == null) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      return bypass;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    }<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    for (E env : envs) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      observerOperation.prepare(env);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      Thread currentThread = Thread.currentThread();<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      try {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        observerOperation.callObserver();<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      } catch (Throwable e) {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        handleCoprocessorThrowable(env, e);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>      } finally {<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        currentThread.setContextClassLoader(cl);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      }<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      bypass |= observerOperation.shouldBypass();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      // Internal to shouldComplete, it checks if obeserverOperation#isCompletable().<a name="line.681"></a>
-<span class="sourceLineNo">682</span>      if (observerOperation.shouldComplete()) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        break;<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      observerOperation.postEnvCall();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
-<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
-<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      if (observerOperation.shouldComplete()) {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        break;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      }<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    }<a name="line.724"></a>
-<span class="sourceLineNo">725</span><a name="line.725"></a>
-<span class="sourceLineNo">726</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    for (E env : envs) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      observerOperation.prepare(env);<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      observerOperation.postEnvCall();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    return bypass;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>  }<a name="line.732"></a>
-<span class="sourceLineNo">733</span>}<a name="line.733"></a>
+<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null), bypassable);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      this.observerGetter = observerGetter;<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    }<a name="line.564"></a>
+<span class="sourceLineNo">565</span><a name="line.565"></a>
+<span class="sourceLineNo">566</span>    abstract void callObserver() throws IOException;<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    protected void postEnvCall() {}<a name="line.567"></a>
+<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
+<span class="sourceLineNo">569</span><a name="line.569"></a>
+<span class="sourceLineNo">570</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.570"></a>
+<span class="sourceLineNo">571</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.571"></a>
+<span class="sourceLineNo">572</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.572"></a>
+<span class="sourceLineNo">573</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    protected abstract void call(O observer) throws IOException;<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>      super(observerGetter);<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
+<span class="sourceLineNo">579</span><a name="line.579"></a>
+<span class="sourceLineNo">580</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      super(observerGetter, user);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    }<a name="line.582"></a>
+<span class="sourceLineNo">583</span><a name="line.583"></a>
+<span class="sourceLineNo">584</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.584"></a>
+<span class="sourceLineNo">585</span>        boolean bypassable) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      super(observerGetter, user, bypassable);<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    }<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>    /**<a name="line.589"></a>
+<span class="sourceLineNo">590</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.590"></a>
+<span class="sourceLineNo">591</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.591"></a>
+<span class="sourceLineNo">592</span>     * observers, in which case they will return null for that observer's getter.<a name="line.592"></a>
+<span class="sourceLineNo">593</span>     * We simply ignore such cases.<a name="line.593"></a>
+<span class="sourceLineNo">594</span>     */<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    @Override<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    void callObserver() throws IOException {<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.597"></a>
+<span class="sourceLineNo">598</span>      if (observer.isPresent()) {<a name="line.598"></a>
+<span class="sourceLineNo">599</span>        call(observer.get());<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      }<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    }<a name="line.601"></a>
+<span class="sourceLineNo">602</span>  }<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.604"></a>
+<span class="sourceLineNo">605</span>    protected abstract R call(O observer) throws IOException;<a name="line.605"></a>
+<span class="sourceLineNo">606</span><a name="line.606"></a>
+<span class="sourceLineNo">607</span>    private R result;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.609"></a>
+<span class="sourceLineNo">610</span>      this(observerGetter, result, false);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>    }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.613"></a>
+<span class="sourceLineNo">614</span>        boolean bypassable) {<a name="line.614"></a>
+<span class="sourceLineNo">615</span>      this(observerGetter, result, null, bypassable);<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    }<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.618"></a>
+<span class="sourceLineNo">619</span>        User user) {<a name="line.619"></a>
+<span class="sourceLineNo">620</span>      this(observerGetter, result, user, false);<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    }<a name="line.621"></a>
+<span class="sourceLineNo">622</span><a name="line.622"></a>
+<span class="sourceLineNo">623</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.623"></a>
+<span class="sourceLineNo">624</span>        boolean bypassable) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>      super(observerGetter, user, bypassable);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>      this.result = result;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>    protected R getResult() {<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      return this.result;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>    }<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>    void callObserver() throws IOException {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      if (observer.isPresent()) {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>        result = call(observer.get());<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      }<a name="line.637"></a>
+<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
+<span class="sourceLineNo">639</span>  }<a name="line.639"></a>
+<span class="sourceLineNo">640</span><a name="line.640"></a>
+<span class="sourceLineNo">641</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.641"></a>
+<span class="sourceLineNo">642</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.642"></a>
+<span class="sourceLineNo">643</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>  /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.646"></a>
+<span class="sourceLineNo">647</span>   */<a name="line.647"></a>
+<span class="sourceLineNo">648</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.649"></a>
+<span class="sourceLineNo">650</span>    boolean bypass = execOperation(observerOperation);<a name="line.650"></a>
+<span class="sourceLineNo">651</span>    R result = observerOperation.getResult();<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.652"></a>
+<span class="sourceLineNo">653</span>  }<a name="line.653"></a>
+<span class="sourceLineNo">654</span><a name="line.654"></a>
+<span class="sourceLineNo">655</span>  /**<a name="line.655"></a>
+<span class="sourceLineNo">656</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * ObserverOperation#isBypassable().<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   */<a name="line.658"></a>
+<span class="sourceLineNo">659</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.659"></a>
+<span class="sourceLineNo">660</span>      throws IOException {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    boolean bypass = false;<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    if (observerOperation == null) {<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      return bypass;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    }<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    for (E env : envs) {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      observerOperation.prepare(env);<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      Thread currentThread = Thread.currentThread();<a name="line.668"></a>
+<span class="sourceLineNo">669</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      try {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.671"></a>
+<span class="sourceLineNo">672</span>        observerOperation.callObserver();<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      } catch (Throwable e) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span>        handleCoprocessorThrowable(env, e);<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      } finally {<a name="line.675"></a>
+<span class="sourceLineNo">676</span>        currentThread.setContextClassLoader(cl);<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      }<a name="line.677"></a>
+<span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
+<span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
+<span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
+<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
+<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
+<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
+<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
+<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
+<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
+<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
+<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
+<span class="sourceLineNo">717</span><a name="line.717"></a>
+<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
+<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
+<span class="sourceLineNo">725</span>}<a name="line.725"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
index 61dceae..7f3de9e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
@@ -567,178 +567,170 @@
 <span class="sourceLineNo">559</span>    }<a name="line.559"></a>
 <span class="sourceLineNo">560</span><a name="line.560"></a>
 <span class="sourceLineNo">561</span>    ObserverOperation(ObserverGetter&lt;C, O&gt; observerGetter, User user, boolean bypassable) {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null),<a name="line.562"></a>
-<span class="sourceLineNo">563</span>          bypassable, bypassable/*'completable': make completable same as bypassable*/);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      this.observerGetter = observerGetter;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    }<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    abstract void callObserver() throws IOException;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    protected void postEnvCall() {}<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  }<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    protected abstract void call(O observer) throws IOException;<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      super(observerGetter);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      super(observerGetter, user);<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        boolean bypassable) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      super(observerGetter, user, bypassable);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.591"></a>
-<span class="sourceLineNo">592</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.592"></a>
-<span class="sourceLineNo">593</span>     * observers, in which case they will return null for that observer's getter.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>     * We simply ignore such cases.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>     */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    void callObserver() throws IOException {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      if (observer.isPresent()) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        call(observer.get());<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    }<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  }<a name="line.603"></a>
-<span class="sourceLineNo">604</span><a name="line.604"></a>
-<span class="sourceLineNo">605</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    protected abstract R call(O observer) throws IOException;<a name="line.606"></a>
-<span class="sourceLineNo">607</span><a name="line.607"></a>
-<span class="sourceLineNo">608</span>    private R result;<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.610"></a>
-<span class="sourceLineNo">611</span>      this(observerGetter, result, false);<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    }<a name="line.612"></a>
-<span class="sourceLineNo">613</span><a name="line.613"></a>
-<span class="sourceLineNo">614</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>        boolean bypassable) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      this(observerGetter, result, null, bypassable);<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    }<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        User user) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      this(observerGetter, result, user, false);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        boolean bypassable) {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      super(observerGetter, user, bypassable);<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      this.result = result;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    }<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    protected R getResult() {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      return this.result;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    }<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span>    void callObserver() throws IOException {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      if (observer.isPresent()) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>        result = call(observer.get());<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      }<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  }<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.642"></a>
-<span class="sourceLineNo">643</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.643"></a>
-<span class="sourceLineNo">644</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.644"></a>
-<span class="sourceLineNo">645</span><a name="line.645"></a>
-<span class="sourceLineNo">646</span>  /**<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   */<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    boolean bypass = execOperation(observerOperation);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    R result = observerOperation.getResult();<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  }<a name="line.654"></a>
-<span class="sourceLineNo">655</span><a name="line.655"></a>
-<span class="sourceLineNo">656</span>  /**<a name="line.656"></a>
-<span class="sourceLineNo">657</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * ObserverOperation#isBypassable().<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      throws IOException {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    boolean bypass = false;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    if (observerOperation == null) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      return bypass;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    }<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    for (E env : envs) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      observerOperation.prepare(env);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      Thread currentThread = Thread.currentThread();<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      try {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        observerOperation.callObserver();<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      } catch (Throwable e) {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        handleCoprocessorThrowable(env, e);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>      } finally {<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        currentThread.setContextClassLoader(cl);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      }<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      bypass |= observerOperation.shouldBypass();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      // Internal to shouldComplete, it checks if obeserverOperation#isCompletable().<a name="line.681"></a>
-<span class="sourceLineNo">682</span>      if (observerOperation.shouldComplete()) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        break;<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      observerOperation.postEnvCall();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
-<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
-<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      if (observerOperation.shouldComplete()) {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        break;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      }<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    }<a name="line.724"></a>
-<span class="sourceLineNo">725</span><a name="line.725"></a>
-<span class="sourceLineNo">726</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    for (E env : envs) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      observerOperation.prepare(env);<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      observerOperation.postEnvCall();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    return bypass;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>  }<a name="line.732"></a>
-<span class="sourceLineNo">733</span>}<a name="line.733"></a>
+<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null), bypassable);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      this.observerGetter = observerGetter;<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    }<a name="line.564"></a>
+<span class="sourceLineNo">565</span><a name="line.565"></a>
+<span class="sourceLineNo">566</span>    abstract void callObserver() throws IOException;<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    protected void postEnvCall() {}<a name="line.567"></a>
+<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
+<span class="sourceLineNo">569</span><a name="line.569"></a>
+<span class="sourceLineNo">570</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.570"></a>
+<span class="sourceLineNo">571</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.571"></a>
+<span class="sourceLineNo">572</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.572"></a>
+<span class="sourceLineNo">573</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    protected abstract void call(O observer) throws IOException;<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>      super(observerGetter);<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
+<span class="sourceLineNo">579</span><a name="line.579"></a>
+<span class="sourceLineNo">580</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      super(observerGetter, user);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    }<a name="line.582"></a>
+<span class="sourceLineNo">583</span><a name="line.583"></a>
+<span class="sourceLineNo">584</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.584"></a>
+<span class="sourceLineNo">585</span>        boolean bypassable) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      super(observerGetter, user, bypassable);<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    }<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>    /**<a name="line.589"></a>
+<span class="sourceLineNo">590</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.590"></a>
+<span class="sourceLineNo">591</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.591"></a>
+<span class="sourceLineNo">592</span>     * observers, in which case they will return null for that observer's getter.<a name="line.592"></a>
+<span class="sourceLineNo">593</span>     * We simply ignore such cases.<a name="line.593"></a>
+<span class="sourceLineNo">594</span>     */<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    @Override<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    void callObserver() throws IOException {<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.597"></a>
+<span class="sourceLineNo">598</span>      if (observer.isPresent()) {<a name="line.598"></a>
+<span class="sourceLineNo">599</span>        call(observer.get());<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      }<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    }<a name="line.601"></a>
+<span class="sourceLineNo">602</span>  }<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.604"></a>
+<span class="sourceLineNo">605</span>    protected abstract R call(O observer) throws IOException;<a name="line.605"></a>
+<span class="sourceLineNo">606</span><a name="line.606"></a>
+<span class="sourceLineNo">607</span>    private R result;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.609"></a>
+<span class="sourceLineNo">610</span>      this(observerGetter, result, false);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>    }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.613"></a>
+<span class="sourceLineNo">614</span>        boolean bypassable) {<a name="line.614"></a>
+<span class="sourceLineNo">615</span>      this(observerGetter, result, null, bypassable);<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    }<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.618"></a>
+<span class="sourceLineNo">619</span>        User user) {<a name="line.619"></a>
+<span class="sourceLineNo">620</span>      this(observerGetter, result, user, false);<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    }<a name="line.621"></a>
+<span class="sourceLineNo">622</span><a name="line.622"></a>
+<span class="sourceLineNo">623</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.623"></a>
+<span class="sourceLineNo">624</span>        boolean bypassable) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>      super(observerGetter, user, bypassable);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>      this.result = result;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>    protected R getResult() {<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      return this.result;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>    }<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>    void callObserver() throws IOException {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      if (observer.isPresent()) {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>        result = call(observer.get());<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      }<a name="line.637"></a>
+<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
+<span class="sourceLineNo">639</span>  }<a name="line.639"></a>
+<span class="sourceLineNo">640</span><a name="line.640"></a>
+<span class="sourceLineNo">641</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.641"></a>
+<span class="sourceLineNo">642</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.642"></a>
+<span class="sourceLineNo">643</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>  /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.646"></a>
+<span class="sourceLineNo">647</span>   */<a name="line.647"></a>
+<span class="sourceLineNo">648</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.649"></a>
+<span class="sourceLineNo">650</span>    boolean bypass = execOperation(observerOperation);<a name="line.650"></a>
+<span class="sourceLineNo">651</span>    R result = observerOperation.getResult();<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.652"></a>
+<span class="sourceLineNo">653</span>  }<a name="line.653"></a>
+<span class="sourceLineNo">654</span><a name="line.654"></a>
+<span class="sourceLineNo">655</span>  /**<a name="line.655"></a>
+<span class="sourceLineNo">656</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * ObserverOperation#isBypassable().<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   */<a name="line.658"></a>
+<span class="sourceLineNo">659</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.659"></a>
+<span class="sourceLineNo">660</span>      throws IOException {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    boolean bypass = false;<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    if (observerOperation == null) {<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      return bypass;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    }<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    for (E env : envs) {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      observerOperation.prepare(env);<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      Thread currentThread = Thread.currentThread();<a name="line.668"></a>
+<span class="sourceLineNo">669</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      try {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.671"></a>
+<span class="sourceLineNo">672</span>        observerOperation.callObserver();<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      } catch (Throwable e) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span>        handleCoprocessorThrowable(env, e);<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      } finally {<a name="line.675"></a>
+<span class="sourceLineNo">676</span>        currentThread.setContextClassLoader(cl);<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      }<a name="line.677"></a>
+<span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
+<span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
+<span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
+<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
+<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
+<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
+<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
+<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
+<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
+<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
+<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
+<span class="sourceLineNo">717</span><a name="line.717"></a>
+<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
+<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
+<span class="sourceLineNo">725</span>}<a name="line.725"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
index b9c91f0..fd753f3 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
@@ -70,29 +70,17 @@
 <span class="sourceLineNo">062</span>   * that the replacement for the bypassed code takes care of all necessary<a name="line.62"></a>
 <span class="sourceLineNo">063</span>   * skipped concerns. Because those concerns can change at any point, such an<a name="line.63"></a>
 <span class="sourceLineNo">064</span>   * assumption is never safe.&lt;/p&gt;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @see #complete()<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  void bypass();<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  /**<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * Call to skip out on calling remaining coprocessors in current execution chain (there may be<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * more than one coprocessor chained to a method call). Implies that this coprocessor's response<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * is definitive.<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   * &lt;p&gt;Since hbase-2.0.0, only &lt;code&gt;complete&lt;/code&gt; of 'bypassable' methods has an effect. See<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   * javadoc on the Coprocessor Observer method as to whether bypass (and thereby 'complete') is<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   * supported. This behavior of honoring only a subset of methods is new since hbase-2.0.0.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   * @see #bypass()<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   */<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  void complete();<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /**<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   * Returns the active user for the coprocessor call. If an explicit {@code User} instance was<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * provided to the constructor, that will be returned, otherwise if we are in the context of an<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * RPC call, the remote user is used. May not be present if the execution is outside of an RPC<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * context.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  Optional&lt;User&gt; getCaller();<a name="line.86"></a>
-<span class="sourceLineNo">087</span>}<a name="line.87"></a>
+<span class="sourceLineNo">065</span>   */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  void bypass();<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  /**<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * Returns the active user for the coprocessor call. If an explicit {@code User} instance was<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   * provided to the constructor, that will be returned, otherwise if we are in the context of an<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   * RPC call, the remote user is used. May not be present if the execution is outside of an RPC<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * context.<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  Optional&lt;User&gt; getCaller();<a name="line.74"></a>
+<span class="sourceLineNo">075</span>}<a name="line.75"></a>
 
 
 


[13/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
index e3812eb..f82a903 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
@@ -960,9 +960,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#prePrepareTimeStampForDeleteVersion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Mutation-org.apache.hadoop.hbase.Cell-byte:A-org.apache.hadoop.hbase.client.Get-">RegionObserver</a></code></span></div>
 <div class="block">Called before the server updates the timestamp for version delete with latest timestamp.
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#prePrepareTimeStampForDeleteVersion-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Mutation-org.apache.hadoop.hbase.Cell-byte:A-org.apache.hadoop.hbase.client.Get-">prePrepareTimeStampForDeleteVersion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></code></dd>
@@ -1050,9 +1048,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preScannerOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Scan-">RegionObserver</a></code></span></div>
 <div class="block">Called before the client opens a new scanner.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1107,9 +1102,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerOpen-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.regionserver.RegionScanner-">RegionObserver</a></code></span></div>
 <div class="block">Called after the client opens a new scanner.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1143,9 +1135,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1178,10 +1167,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preScannerClose-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-">RegionObserver</a></code></span></div>
 <div class="block">Called before the client closes a scanner.
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preScannerClose-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-">preScannerClose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></code></dd>
@@ -1203,10 +1189,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
                              <a href="../../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerClose-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-">RegionObserver</a></code></span></div>
-<div class="block">Called after the client closes a scanner.
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+<div class="block">Called after the client closes a scanner.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postScannerClose-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.regionserver.InternalScanner-">postScannerClose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></code></dd>
@@ -1247,10 +1230,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preGetOp-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-java.util.List-">RegionObserver</a></code></span></div>
 <div class="block">Called before the client performs a Get
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html#preGetOp-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Get-java.util.List-">preGetOp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></code></dd>
@@ -1293,9 +1273,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1325,9 +1302,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index f71ca25..2af2b6e 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -175,8 +175,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/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 cf8dcf8..407bed2 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 = "777b653b45e54c89dd69e86eff2b261054465623";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "b4fbf5fe18bc9247106f674580666096fd34d3fa";<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 = "Sat Nov 18 14:42:07 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Sun Nov 19 14:42:07 UTC 2017";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://asf920.gq1.ygridcore.net/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "6ee647139f28b719fcd23773238722ce";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "51770ce04c25639009bf2d4bf07bef28";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html
index 61dceae..7f3de9e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.EnvironmentPriorityComparator.html
@@ -567,178 +567,170 @@
 <span class="sourceLineNo">559</span>    }<a name="line.559"></a>
 <span class="sourceLineNo">560</span><a name="line.560"></a>
 <span class="sourceLineNo">561</span>    ObserverOperation(ObserverGetter&lt;C, O&gt; observerGetter, User user, boolean bypassable) {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null),<a name="line.562"></a>
-<span class="sourceLineNo">563</span>          bypassable, bypassable/*'completable': make completable same as bypassable*/);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      this.observerGetter = observerGetter;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    }<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    abstract void callObserver() throws IOException;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    protected void postEnvCall() {}<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  }<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    protected abstract void call(O observer) throws IOException;<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      super(observerGetter);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      super(observerGetter, user);<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        boolean bypassable) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      super(observerGetter, user, bypassable);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.591"></a>
-<span class="sourceLineNo">592</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.592"></a>
-<span class="sourceLineNo">593</span>     * observers, in which case they will return null for that observer's getter.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>     * We simply ignore such cases.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>     */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    void callObserver() throws IOException {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      if (observer.isPresent()) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        call(observer.get());<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    }<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  }<a name="line.603"></a>
-<span class="sourceLineNo">604</span><a name="line.604"></a>
-<span class="sourceLineNo">605</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    protected abstract R call(O observer) throws IOException;<a name="line.606"></a>
-<span class="sourceLineNo">607</span><a name="line.607"></a>
-<span class="sourceLineNo">608</span>    private R result;<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.610"></a>
-<span class="sourceLineNo">611</span>      this(observerGetter, result, false);<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    }<a name="line.612"></a>
-<span class="sourceLineNo">613</span><a name="line.613"></a>
-<span class="sourceLineNo">614</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>        boolean bypassable) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      this(observerGetter, result, null, bypassable);<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    }<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        User user) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      this(observerGetter, result, user, false);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        boolean bypassable) {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      super(observerGetter, user, bypassable);<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      this.result = result;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    }<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    protected R getResult() {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      return this.result;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    }<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span>    void callObserver() throws IOException {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      if (observer.isPresent()) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>        result = call(observer.get());<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      }<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  }<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.642"></a>
-<span class="sourceLineNo">643</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.643"></a>
-<span class="sourceLineNo">644</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.644"></a>
-<span class="sourceLineNo">645</span><a name="line.645"></a>
-<span class="sourceLineNo">646</span>  /**<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   */<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    boolean bypass = execOperation(observerOperation);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    R result = observerOperation.getResult();<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  }<a name="line.654"></a>
-<span class="sourceLineNo">655</span><a name="line.655"></a>
-<span class="sourceLineNo">656</span>  /**<a name="line.656"></a>
-<span class="sourceLineNo">657</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * ObserverOperation#isBypassable().<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      throws IOException {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    boolean bypass = false;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    if (observerOperation == null) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      return bypass;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    }<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    for (E env : envs) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      observerOperation.prepare(env);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      Thread currentThread = Thread.currentThread();<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      try {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        observerOperation.callObserver();<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      } catch (Throwable e) {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        handleCoprocessorThrowable(env, e);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>      } finally {<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        currentThread.setContextClassLoader(cl);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      }<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      bypass |= observerOperation.shouldBypass();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      // Internal to shouldComplete, it checks if obeserverOperation#isCompletable().<a name="line.681"></a>
-<span class="sourceLineNo">682</span>      if (observerOperation.shouldComplete()) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        break;<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      observerOperation.postEnvCall();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
-<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
-<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      if (observerOperation.shouldComplete()) {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        break;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      }<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    }<a name="line.724"></a>
-<span class="sourceLineNo">725</span><a name="line.725"></a>
-<span class="sourceLineNo">726</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    for (E env : envs) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      observerOperation.prepare(env);<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      observerOperation.postEnvCall();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    return bypass;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>  }<a name="line.732"></a>
-<span class="sourceLineNo">733</span>}<a name="line.733"></a>
+<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null), bypassable);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      this.observerGetter = observerGetter;<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    }<a name="line.564"></a>
+<span class="sourceLineNo">565</span><a name="line.565"></a>
+<span class="sourceLineNo">566</span>    abstract void callObserver() throws IOException;<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    protected void postEnvCall() {}<a name="line.567"></a>
+<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
+<span class="sourceLineNo">569</span><a name="line.569"></a>
+<span class="sourceLineNo">570</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.570"></a>
+<span class="sourceLineNo">571</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.571"></a>
+<span class="sourceLineNo">572</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.572"></a>
+<span class="sourceLineNo">573</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    protected abstract void call(O observer) throws IOException;<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>      super(observerGetter);<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
+<span class="sourceLineNo">579</span><a name="line.579"></a>
+<span class="sourceLineNo">580</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      super(observerGetter, user);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    }<a name="line.582"></a>
+<span class="sourceLineNo">583</span><a name="line.583"></a>
+<span class="sourceLineNo">584</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.584"></a>
+<span class="sourceLineNo">585</span>        boolean bypassable) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      super(observerGetter, user, bypassable);<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    }<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>    /**<a name="line.589"></a>
+<span class="sourceLineNo">590</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.590"></a>
+<span class="sourceLineNo">591</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.591"></a>
+<span class="sourceLineNo">592</span>     * observers, in which case they will return null for that observer's getter.<a name="line.592"></a>
+<span class="sourceLineNo">593</span>     * We simply ignore such cases.<a name="line.593"></a>
+<span class="sourceLineNo">594</span>     */<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    @Override<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    void callObserver() throws IOException {<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.597"></a>
+<span class="sourceLineNo">598</span>      if (observer.isPresent()) {<a name="line.598"></a>
+<span class="sourceLineNo">599</span>        call(observer.get());<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      }<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    }<a name="line.601"></a>
+<span class="sourceLineNo">602</span>  }<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.604"></a>
+<span class="sourceLineNo">605</span>    protected abstract R call(O observer) throws IOException;<a name="line.605"></a>
+<span class="sourceLineNo">606</span><a name="line.606"></a>
+<span class="sourceLineNo">607</span>    private R result;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.609"></a>
+<span class="sourceLineNo">610</span>      this(observerGetter, result, false);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>    }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.613"></a>
+<span class="sourceLineNo">614</span>        boolean bypassable) {<a name="line.614"></a>
+<span class="sourceLineNo">615</span>      this(observerGetter, result, null, bypassable);<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    }<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.618"></a>
+<span class="sourceLineNo">619</span>        User user) {<a name="line.619"></a>
+<span class="sourceLineNo">620</span>      this(observerGetter, result, user, false);<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    }<a name="line.621"></a>
+<span class="sourceLineNo">622</span><a name="line.622"></a>
+<span class="sourceLineNo">623</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.623"></a>
+<span class="sourceLineNo">624</span>        boolean bypassable) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>      super(observerGetter, user, bypassable);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>      this.result = result;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>    protected R getResult() {<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      return this.result;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>    }<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>    void callObserver() throws IOException {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      if (observer.isPresent()) {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>        result = call(observer.get());<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      }<a name="line.637"></a>
+<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
+<span class="sourceLineNo">639</span>  }<a name="line.639"></a>
+<span class="sourceLineNo">640</span><a name="line.640"></a>
+<span class="sourceLineNo">641</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.641"></a>
+<span class="sourceLineNo">642</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.642"></a>
+<span class="sourceLineNo">643</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>  /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.646"></a>
+<span class="sourceLineNo">647</span>   */<a name="line.647"></a>
+<span class="sourceLineNo">648</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.649"></a>
+<span class="sourceLineNo">650</span>    boolean bypass = execOperation(observerOperation);<a name="line.650"></a>
+<span class="sourceLineNo">651</span>    R result = observerOperation.getResult();<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.652"></a>
+<span class="sourceLineNo">653</span>  }<a name="line.653"></a>
+<span class="sourceLineNo">654</span><a name="line.654"></a>
+<span class="sourceLineNo">655</span>  /**<a name="line.655"></a>
+<span class="sourceLineNo">656</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * ObserverOperation#isBypassable().<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   */<a name="line.658"></a>
+<span class="sourceLineNo">659</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.659"></a>
+<span class="sourceLineNo">660</span>      throws IOException {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    boolean bypass = false;<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    if (observerOperation == null) {<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      return bypass;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    }<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    for (E env : envs) {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      observerOperation.prepare(env);<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      Thread currentThread = Thread.currentThread();<a name="line.668"></a>
+<span class="sourceLineNo">669</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      try {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.671"></a>
+<span class="sourceLineNo">672</span>        observerOperation.callObserver();<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      } catch (Throwable e) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span>        handleCoprocessorThrowable(env, e);<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      } finally {<a name="line.675"></a>
+<span class="sourceLineNo">676</span>        currentThread.setContextClassLoader(cl);<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      }<a name="line.677"></a>
+<span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
+<span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
+<span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
+<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
+<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
+<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
+<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
+<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
+<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
+<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
+<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
+<span class="sourceLineNo">717</span><a name="line.717"></a>
+<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
+<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
+<span class="sourceLineNo">725</span>}<a name="line.725"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html
index 61dceae..7f3de9e 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html
@@ -567,178 +567,170 @@
 <span class="sourceLineNo">559</span>    }<a name="line.559"></a>
 <span class="sourceLineNo">560</span><a name="line.560"></a>
 <span class="sourceLineNo">561</span>    ObserverOperation(ObserverGetter&lt;C, O&gt; observerGetter, User user, boolean bypassable) {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null),<a name="line.562"></a>
-<span class="sourceLineNo">563</span>          bypassable, bypassable/*'completable': make completable same as bypassable*/);<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      this.observerGetter = observerGetter;<a name="line.564"></a>
-<span class="sourceLineNo">565</span>    }<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span>    abstract void callObserver() throws IOException;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    protected void postEnvCall() {}<a name="line.568"></a>
-<span class="sourceLineNo">569</span>  }<a name="line.569"></a>
-<span class="sourceLineNo">570</span><a name="line.570"></a>
-<span class="sourceLineNo">571</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.571"></a>
-<span class="sourceLineNo">572</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.573"></a>
-<span class="sourceLineNo">574</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    protected abstract void call(O observer) throws IOException;<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      super(observerGetter);<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      super(observerGetter, user);<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
-<span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        boolean bypassable) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      super(observerGetter, user, bypassable);<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    /**<a name="line.590"></a>
-<span class="sourceLineNo">591</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.591"></a>
-<span class="sourceLineNo">592</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.592"></a>
-<span class="sourceLineNo">593</span>     * observers, in which case they will return null for that observer's getter.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>     * We simply ignore such cases.<a name="line.594"></a>
-<span class="sourceLineNo">595</span>     */<a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    void callObserver() throws IOException {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      if (observer.isPresent()) {<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        call(observer.get());<a name="line.600"></a>
-<span class="sourceLineNo">601</span>      }<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    }<a name="line.602"></a>
-<span class="sourceLineNo">603</span>  }<a name="line.603"></a>
-<span class="sourceLineNo">604</span><a name="line.604"></a>
-<span class="sourceLineNo">605</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.605"></a>
-<span class="sourceLineNo">606</span>    protected abstract R call(O observer) throws IOException;<a name="line.606"></a>
-<span class="sourceLineNo">607</span><a name="line.607"></a>
-<span class="sourceLineNo">608</span>    private R result;<a name="line.608"></a>
-<span class="sourceLineNo">609</span><a name="line.609"></a>
-<span class="sourceLineNo">610</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.610"></a>
-<span class="sourceLineNo">611</span>      this(observerGetter, result, false);<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    }<a name="line.612"></a>
-<span class="sourceLineNo">613</span><a name="line.613"></a>
-<span class="sourceLineNo">614</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.614"></a>
-<span class="sourceLineNo">615</span>        boolean bypassable) {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>      this(observerGetter, result, null, bypassable);<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    }<a name="line.617"></a>
-<span class="sourceLineNo">618</span><a name="line.618"></a>
-<span class="sourceLineNo">619</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        User user) {<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      this(observerGetter, result, user, false);<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    }<a name="line.622"></a>
-<span class="sourceLineNo">623</span><a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.624"></a>
-<span class="sourceLineNo">625</span>        boolean bypassable) {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      super(observerGetter, user, bypassable);<a name="line.626"></a>
-<span class="sourceLineNo">627</span>      this.result = result;<a name="line.627"></a>
-<span class="sourceLineNo">628</span>    }<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span>    protected R getResult() {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      return this.result;<a name="line.631"></a>
-<span class="sourceLineNo">632</span>    }<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span>    void callObserver() throws IOException {<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      if (observer.isPresent()) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>        result = call(observer.get());<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      }<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    }<a name="line.639"></a>
-<span class="sourceLineNo">640</span>  }<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.642"></a>
-<span class="sourceLineNo">643</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.643"></a>
-<span class="sourceLineNo">644</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.644"></a>
-<span class="sourceLineNo">645</span><a name="line.645"></a>
-<span class="sourceLineNo">646</span>  /**<a name="line.646"></a>
-<span class="sourceLineNo">647</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.647"></a>
-<span class="sourceLineNo">648</span>   */<a name="line.648"></a>
-<span class="sourceLineNo">649</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    boolean bypass = execOperation(observerOperation);<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    R result = observerOperation.getResult();<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.653"></a>
-<span class="sourceLineNo">654</span>  }<a name="line.654"></a>
-<span class="sourceLineNo">655</span><a name="line.655"></a>
-<span class="sourceLineNo">656</span>  /**<a name="line.656"></a>
-<span class="sourceLineNo">657</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.657"></a>
-<span class="sourceLineNo">658</span>   * ObserverOperation#isBypassable().<a name="line.658"></a>
-<span class="sourceLineNo">659</span>   */<a name="line.659"></a>
-<span class="sourceLineNo">660</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      throws IOException {<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    boolean bypass = false;<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    if (observerOperation == null) {<a name="line.663"></a>
-<span class="sourceLineNo">664</span>      return bypass;<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    }<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    for (E env : envs) {<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      observerOperation.prepare(env);<a name="line.668"></a>
-<span class="sourceLineNo">669</span>      Thread currentThread = Thread.currentThread();<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.670"></a>
-<span class="sourceLineNo">671</span>      try {<a name="line.671"></a>
-<span class="sourceLineNo">672</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.672"></a>
-<span class="sourceLineNo">673</span>        observerOperation.callObserver();<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      } catch (Throwable e) {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        handleCoprocessorThrowable(env, e);<a name="line.675"></a>
-<span class="sourceLineNo">676</span>      } finally {<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        currentThread.setContextClassLoader(cl);<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      }<a name="line.678"></a>
-<span class="sourceLineNo">679</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      bypass |= observerOperation.shouldBypass();<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      // Internal to shouldComplete, it checks if obeserverOperation#isCompletable().<a name="line.681"></a>
-<span class="sourceLineNo">682</span>      if (observerOperation.shouldComplete()) {<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        break;<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      observerOperation.postEnvCall();<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    return bypass;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>  }<a name="line.688"></a>
-<span class="sourceLineNo">689</span><a name="line.689"></a>
-<span class="sourceLineNo">690</span>  /**<a name="line.690"></a>
-<span class="sourceLineNo">691</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.691"></a>
-<span class="sourceLineNo">692</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.692"></a>
-<span class="sourceLineNo">693</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.693"></a>
-<span class="sourceLineNo">694</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.694"></a>
-<span class="sourceLineNo">695</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.695"></a>
-<span class="sourceLineNo">696</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.696"></a>
-<span class="sourceLineNo">697</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.697"></a>
-<span class="sourceLineNo">698</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.698"></a>
-<span class="sourceLineNo">699</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.699"></a>
-<span class="sourceLineNo">700</span>   * @throws IOException<a name="line.700"></a>
-<span class="sourceLineNo">701</span>   */<a name="line.701"></a>
-<span class="sourceLineNo">702</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.702"></a>
-<span class="sourceLineNo">703</span>      throws IOException {<a name="line.703"></a>
-<span class="sourceLineNo">704</span>    if (observerOperation == null) return false;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>    boolean bypass = false;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.706"></a>
-<span class="sourceLineNo">707</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.707"></a>
-<span class="sourceLineNo">708</span>    for (E env : envs) {<a name="line.708"></a>
-<span class="sourceLineNo">709</span>      observerOperation.prepare(env);<a name="line.709"></a>
-<span class="sourceLineNo">710</span>      Thread currentThread = Thread.currentThread();<a name="line.710"></a>
-<span class="sourceLineNo">711</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.711"></a>
-<span class="sourceLineNo">712</span>      try {<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        observerOperation.callObserver();<a name="line.714"></a>
-<span class="sourceLineNo">715</span>      } catch (Throwable e) {<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        handleCoprocessorThrowable(env, e);<a name="line.716"></a>
-<span class="sourceLineNo">717</span>      } finally {<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        currentThread.setContextClassLoader(cl);<a name="line.718"></a>
-<span class="sourceLineNo">719</span>      }<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      bypass |= observerOperation.shouldBypass();<a name="line.720"></a>
-<span class="sourceLineNo">721</span>      if (observerOperation.shouldComplete()) {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        break;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      }<a name="line.723"></a>
-<span class="sourceLineNo">724</span>    }<a name="line.724"></a>
-<span class="sourceLineNo">725</span><a name="line.725"></a>
-<span class="sourceLineNo">726</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.726"></a>
-<span class="sourceLineNo">727</span>    for (E env : envs) {<a name="line.727"></a>
-<span class="sourceLineNo">728</span>      observerOperation.prepare(env);<a name="line.728"></a>
-<span class="sourceLineNo">729</span>      observerOperation.postEnvCall();<a name="line.729"></a>
-<span class="sourceLineNo">730</span>    }<a name="line.730"></a>
-<span class="sourceLineNo">731</span>    return bypass;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>  }<a name="line.732"></a>
-<span class="sourceLineNo">733</span>}<a name="line.733"></a>
+<span class="sourceLineNo">562</span>      super(user != null? user: RpcServer.getRequestUser().orElse(null), bypassable);<a name="line.562"></a>
+<span class="sourceLineNo">563</span>      this.observerGetter = observerGetter;<a name="line.563"></a>
+<span class="sourceLineNo">564</span>    }<a name="line.564"></a>
+<span class="sourceLineNo">565</span><a name="line.565"></a>
+<span class="sourceLineNo">566</span>    abstract void callObserver() throws IOException;<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    protected void postEnvCall() {}<a name="line.567"></a>
+<span class="sourceLineNo">568</span>  }<a name="line.568"></a>
+<span class="sourceLineNo">569</span><a name="line.569"></a>
+<span class="sourceLineNo">570</span>  // Can't derive ObserverOperation from ObserverOperationWithResult (R = Void) because then all<a name="line.570"></a>
+<span class="sourceLineNo">571</span>  // ObserverCaller implementations will have to have a return statement.<a name="line.571"></a>
+<span class="sourceLineNo">572</span>  // O = observer, E = environment, C = coprocessor, R=result type<a name="line.572"></a>
+<span class="sourceLineNo">573</span>  public abstract class ObserverOperationWithoutResult&lt;O&gt; extends ObserverOperation&lt;O&gt; {<a name="line.573"></a>
+<span class="sourceLineNo">574</span>    protected abstract void call(O observer) throws IOException;<a name="line.574"></a>
+<span class="sourceLineNo">575</span><a name="line.575"></a>
+<span class="sourceLineNo">576</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter) {<a name="line.576"></a>
+<span class="sourceLineNo">577</span>      super(observerGetter);<a name="line.577"></a>
+<span class="sourceLineNo">578</span>    }<a name="line.578"></a>
+<span class="sourceLineNo">579</span><a name="line.579"></a>
+<span class="sourceLineNo">580</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user) {<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      super(observerGetter, user);<a name="line.581"></a>
+<span class="sourceLineNo">582</span>    }<a name="line.582"></a>
+<span class="sourceLineNo">583</span><a name="line.583"></a>
+<span class="sourceLineNo">584</span>    public ObserverOperationWithoutResult(ObserverGetter&lt;C, O&gt; observerGetter, User user,<a name="line.584"></a>
+<span class="sourceLineNo">585</span>        boolean bypassable) {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>      super(observerGetter, user, bypassable);<a name="line.586"></a>
+<span class="sourceLineNo">587</span>    }<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>    /**<a name="line.589"></a>
+<span class="sourceLineNo">590</span>     * In case of coprocessors which have many kinds of observers (for eg, {@link RegionCoprocessor}<a name="line.590"></a>
+<span class="sourceLineNo">591</span>     * has BulkLoadObserver, RegionObserver, etc), some implementations may not need all<a name="line.591"></a>
+<span class="sourceLineNo">592</span>     * observers, in which case they will return null for that observer's getter.<a name="line.592"></a>
+<span class="sourceLineNo">593</span>     * We simply ignore such cases.<a name="line.593"></a>
+<span class="sourceLineNo">594</span>     */<a name="line.594"></a>
+<span class="sourceLineNo">595</span>    @Override<a name="line.595"></a>
+<span class="sourceLineNo">596</span>    void callObserver() throws IOException {<a name="line.596"></a>
+<span class="sourceLineNo">597</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.597"></a>
+<span class="sourceLineNo">598</span>      if (observer.isPresent()) {<a name="line.598"></a>
+<span class="sourceLineNo">599</span>        call(observer.get());<a name="line.599"></a>
+<span class="sourceLineNo">600</span>      }<a name="line.600"></a>
+<span class="sourceLineNo">601</span>    }<a name="line.601"></a>
+<span class="sourceLineNo">602</span>  }<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span>  public abstract class ObserverOperationWithResult&lt;O, R&gt; extends ObserverOperation&lt;O&gt; {<a name="line.604"></a>
+<span class="sourceLineNo">605</span>    protected abstract R call(O observer) throws IOException;<a name="line.605"></a>
+<span class="sourceLineNo">606</span><a name="line.606"></a>
+<span class="sourceLineNo">607</span>    private R result;<a name="line.607"></a>
+<span class="sourceLineNo">608</span><a name="line.608"></a>
+<span class="sourceLineNo">609</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result) {<a name="line.609"></a>
+<span class="sourceLineNo">610</span>      this(observerGetter, result, false);<a name="line.610"></a>
+<span class="sourceLineNo">611</span>    }<a name="line.611"></a>
+<span class="sourceLineNo">612</span><a name="line.612"></a>
+<span class="sourceLineNo">613</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.613"></a>
+<span class="sourceLineNo">614</span>        boolean bypassable) {<a name="line.614"></a>
+<span class="sourceLineNo">615</span>      this(observerGetter, result, null, bypassable);<a name="line.615"></a>
+<span class="sourceLineNo">616</span>    }<a name="line.616"></a>
+<span class="sourceLineNo">617</span><a name="line.617"></a>
+<span class="sourceLineNo">618</span>    public ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result,<a name="line.618"></a>
+<span class="sourceLineNo">619</span>        User user) {<a name="line.619"></a>
+<span class="sourceLineNo">620</span>      this(observerGetter, result, user, false);<a name="line.620"></a>
+<span class="sourceLineNo">621</span>    }<a name="line.621"></a>
+<span class="sourceLineNo">622</span><a name="line.622"></a>
+<span class="sourceLineNo">623</span>    private ObserverOperationWithResult(ObserverGetter&lt;C, O&gt; observerGetter, R result, User user,<a name="line.623"></a>
+<span class="sourceLineNo">624</span>        boolean bypassable) {<a name="line.624"></a>
+<span class="sourceLineNo">625</span>      super(observerGetter, user, bypassable);<a name="line.625"></a>
+<span class="sourceLineNo">626</span>      this.result = result;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>    }<a name="line.627"></a>
+<span class="sourceLineNo">628</span><a name="line.628"></a>
+<span class="sourceLineNo">629</span>    protected R getResult() {<a name="line.629"></a>
+<span class="sourceLineNo">630</span>      return this.result;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>    }<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span>    void callObserver() throws IOException {<a name="line.633"></a>
+<span class="sourceLineNo">634</span>      Optional&lt;O&gt; observer = observerGetter.apply(getEnvironment().getInstance());<a name="line.634"></a>
+<span class="sourceLineNo">635</span>      if (observer.isPresent()) {<a name="line.635"></a>
+<span class="sourceLineNo">636</span>        result = call(observer.get());<a name="line.636"></a>
+<span class="sourceLineNo">637</span>      }<a name="line.637"></a>
+<span class="sourceLineNo">638</span>    }<a name="line.638"></a>
+<span class="sourceLineNo">639</span>  }<a name="line.639"></a>
+<span class="sourceLineNo">640</span><a name="line.640"></a>
+<span class="sourceLineNo">641</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.641"></a>
+<span class="sourceLineNo">642</span>  // Functions to execute observer hooks and handle results (if any)<a name="line.642"></a>
+<span class="sourceLineNo">643</span>  //////////////////////////////////////////////////////////////////////////////////////////<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>  /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span>   * Do not call with an observerOperation that is null! Have the caller check.<a name="line.646"></a>
+<span class="sourceLineNo">647</span>   */<a name="line.647"></a>
+<span class="sourceLineNo">648</span>  protected &lt;O, R&gt; R execOperationWithResult(<a name="line.648"></a>
+<span class="sourceLineNo">649</span>      final ObserverOperationWithResult&lt;O, R&gt; observerOperation) throws IOException {<a name="line.649"></a>
+<span class="sourceLineNo">650</span>    boolean bypass = execOperation(observerOperation);<a name="line.650"></a>
+<span class="sourceLineNo">651</span>    R result = observerOperation.getResult();<a name="line.651"></a>
+<span class="sourceLineNo">652</span>    return bypass == observerOperation.isBypassable()? result: null;<a name="line.652"></a>
+<span class="sourceLineNo">653</span>  }<a name="line.653"></a>
+<span class="sourceLineNo">654</span><a name="line.654"></a>
+<span class="sourceLineNo">655</span>  /**<a name="line.655"></a>
+<span class="sourceLineNo">656</span>   * @return True if we are to bypass (Can only be &lt;code&gt;true&lt;/code&gt; if<a name="line.656"></a>
+<span class="sourceLineNo">657</span>   * ObserverOperation#isBypassable().<a name="line.657"></a>
+<span class="sourceLineNo">658</span>   */<a name="line.658"></a>
+<span class="sourceLineNo">659</span>  protected &lt;O&gt; boolean execOperation(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.659"></a>
+<span class="sourceLineNo">660</span>      throws IOException {<a name="line.660"></a>
+<span class="sourceLineNo">661</span>    boolean bypass = false;<a name="line.661"></a>
+<span class="sourceLineNo">662</span>    if (observerOperation == null) {<a name="line.662"></a>
+<span class="sourceLineNo">663</span>      return bypass;<a name="line.663"></a>
+<span class="sourceLineNo">664</span>    }<a name="line.664"></a>
+<span class="sourceLineNo">665</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.665"></a>
+<span class="sourceLineNo">666</span>    for (E env : envs) {<a name="line.666"></a>
+<span class="sourceLineNo">667</span>      observerOperation.prepare(env);<a name="line.667"></a>
+<span class="sourceLineNo">668</span>      Thread currentThread = Thread.currentThread();<a name="line.668"></a>
+<span class="sourceLineNo">669</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.669"></a>
+<span class="sourceLineNo">670</span>      try {<a name="line.670"></a>
+<span class="sourceLineNo">671</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.671"></a>
+<span class="sourceLineNo">672</span>        observerOperation.callObserver();<a name="line.672"></a>
+<span class="sourceLineNo">673</span>      } catch (Throwable e) {<a name="line.673"></a>
+<span class="sourceLineNo">674</span>        handleCoprocessorThrowable(env, e);<a name="line.674"></a>
+<span class="sourceLineNo">675</span>      } finally {<a name="line.675"></a>
+<span class="sourceLineNo">676</span>        currentThread.setContextClassLoader(cl);<a name="line.676"></a>
+<span class="sourceLineNo">677</span>      }<a name="line.677"></a>
+<span class="sourceLineNo">678</span>      // Internal to shouldBypass, it checks if obeserverOperation#isBypassable().<a name="line.678"></a>
+<span class="sourceLineNo">679</span>      bypass |= observerOperation.shouldBypass();<a name="line.679"></a>
+<span class="sourceLineNo">680</span>      observerOperation.postEnvCall();<a name="line.680"></a>
+<span class="sourceLineNo">681</span>    }<a name="line.681"></a>
+<span class="sourceLineNo">682</span>    return bypass;<a name="line.682"></a>
+<span class="sourceLineNo">683</span>  }<a name="line.683"></a>
+<span class="sourceLineNo">684</span><a name="line.684"></a>
+<span class="sourceLineNo">685</span>  /**<a name="line.685"></a>
+<span class="sourceLineNo">686</span>   * Coprocessor classes can be configured in any order, based on that priority is set and<a name="line.686"></a>
+<span class="sourceLineNo">687</span>   * chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is<a name="line.687"></a>
+<span class="sourceLineNo">688</span>   * going down. This function first calls coprocessor methods (using ObserverOperation.call())<a name="line.688"></a>
+<span class="sourceLineNo">689</span>   * and then shutdowns the environment in postEnvCall(). &lt;br&gt;<a name="line.689"></a>
+<span class="sourceLineNo">690</span>   * Need to execute all coprocessor methods first then postEnvCall(), otherwise some coprocessors<a name="line.690"></a>
+<span class="sourceLineNo">691</span>   * may remain shutdown if any exception occurs during next coprocessor execution which prevent<a name="line.691"></a>
+<span class="sourceLineNo">692</span>   * master/regionserver stop or cluster shutdown. (Refer:<a name="line.692"></a>
+<span class="sourceLineNo">693</span>   * &lt;a href="https://issues.apache.org/jira/browse/HBASE-16663"&gt;HBASE-16663&lt;/a&gt;<a name="line.693"></a>
+<span class="sourceLineNo">694</span>   * @return true if bypaas coprocessor execution, false if not.<a name="line.694"></a>
+<span class="sourceLineNo">695</span>   * @throws IOException<a name="line.695"></a>
+<span class="sourceLineNo">696</span>   */<a name="line.696"></a>
+<span class="sourceLineNo">697</span>  protected &lt;O&gt; boolean execShutdown(final ObserverOperation&lt;O&gt; observerOperation)<a name="line.697"></a>
+<span class="sourceLineNo">698</span>      throws IOException {<a name="line.698"></a>
+<span class="sourceLineNo">699</span>    if (observerOperation == null) return false;<a name="line.699"></a>
+<span class="sourceLineNo">700</span>    boolean bypass = false;<a name="line.700"></a>
+<span class="sourceLineNo">701</span>    List&lt;E&gt; envs = coprocEnvironments.get();<a name="line.701"></a>
+<span class="sourceLineNo">702</span>    // Iterate the coprocessors and execute ObserverOperation's call()<a name="line.702"></a>
+<span class="sourceLineNo">703</span>    for (E env : envs) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>      observerOperation.prepare(env);<a name="line.704"></a>
+<span class="sourceLineNo">705</span>      Thread currentThread = Thread.currentThread();<a name="line.705"></a>
+<span class="sourceLineNo">706</span>      ClassLoader cl = currentThread.getContextClassLoader();<a name="line.706"></a>
+<span class="sourceLineNo">707</span>      try {<a name="line.707"></a>
+<span class="sourceLineNo">708</span>        currentThread.setContextClassLoader(env.getClassLoader());<a name="line.708"></a>
+<span class="sourceLineNo">709</span>        observerOperation.callObserver();<a name="line.709"></a>
+<span class="sourceLineNo">710</span>      } catch (Throwable e) {<a name="line.710"></a>
+<span class="sourceLineNo">711</span>        handleCoprocessorThrowable(env, e);<a name="line.711"></a>
+<span class="sourceLineNo">712</span>      } finally {<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        currentThread.setContextClassLoader(cl);<a name="line.713"></a>
+<span class="sourceLineNo">714</span>      }<a name="line.714"></a>
+<span class="sourceLineNo">715</span>      bypass |= observerOperation.shouldBypass();<a name="line.715"></a>
+<span class="sourceLineNo">716</span>    }<a name="line.716"></a>
+<span class="sourceLineNo">717</span><a name="line.717"></a>
+<span class="sourceLineNo">718</span>    // Iterate the coprocessors and execute ObserverOperation's postEnvCall()<a name="line.718"></a>
+<span class="sourceLineNo">719</span>    for (E env : envs) {<a name="line.719"></a>
+<span class="sourceLineNo">720</span>      observerOperation.prepare(env);<a name="line.720"></a>
+<span class="sourceLineNo">721</span>      observerOperation.postEnvCall();<a name="line.721"></a>
+<span class="sourceLineNo">722</span>    }<a name="line.722"></a>
+<span class="sourceLineNo">723</span>    return bypass;<a name="line.723"></a>
+<span class="sourceLineNo">724</span>  }<a name="line.724"></a>
+<span class="sourceLineNo">725</span>}<a name="line.725"></a>
 
 
 


[17/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 2b3d429..d2f4870 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,8 +25,8 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2017 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 3429,
-             Errors: 20891,
+      <title>File: 3430,
+             Errors: 20897,
              Warnings: 0,
              Infos: 0
       </title>
@@ -7298,6 +7298,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.mapreduce.TestMultiTableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/TestMultiTableInputFormatBase.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  9
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.quotas.TestSpaceQuotasWithSnapshots.java">org/apache/hadoop/hbase/quotas/TestSpaceQuotasWithSnapshots.java</a>
                 </td>
                 <td>
@@ -30743,7 +30757,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  6
+                  3
                 </td>
               </tr>
                           <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 080fb69..580c9f1 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -380,7 +380,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index 58b381b..daac264 100644
--- a/cygwin.html
+++ b/cygwin.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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Installing Apache HBase (TM) on Windows using Cygwin</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -679,7 +679,7 @@ Now your <b>HBase </b>server is running, <b>start coding</b> and build that next
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index a33e26b..69ebea8 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -445,7 +445,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 9288162..252aff1 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -1008,7 +1008,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 69f81f1..4b296c1 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -318,7 +318,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index da4c320..819d2cb 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <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" />
@@ -974,7 +974,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 178664b..c9545ea 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3684,21 +3684,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Sat Nov 18 14:42:07 UTC 2017"</code></td>
+<td class="colLast"><code>"Sun Nov 19 14:42:07 UTC 2017"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"777b653b45e54c89dd69e86eff2b261054465623"</code></td>
+<td class="colLast"><code>"b4fbf5fe18bc9247106f674580666096fd34d3fa"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"6ee647139f28b719fcd23773238722ce"</code></td>
+<td class="colLast"><code>"51770ce04c25639009bf2d4bf07bef28"</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/2424a45f/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index cca775a..093b020 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -14974,21 +14974,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/ProcedureUtil.CompatStateSerializer.html#CompatStateSerializer-java.io.InputStream-">CompatStateSerializer(InputStream)</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureUtil.CompatStateSerializer.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureUtil.CompatStateSerializer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#completable">completable</a></span> - Variable in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.html#complete-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncNonMetaRegionLocator.LocateRequest-org.apache.hadoop.hbase.HRegionLocation-java.lang.Throwable-">complete(TableName, AsyncNonMetaRegionLocator.LocateRequest, HRegionLocation, Throwable)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.html" title="class in org.apache.hadoop.hbase.client">AsyncNonMetaRegionLocator</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/ObserverContext.html#complete--">complete()</a></span> - Method in interface org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a></dt>
-<dd>
-<div class="block">Call to skip out on calling remaining coprocessors in current execution chain (there may be
- more than one coprocessor chained to a method call).</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete">complete</a></span> - Variable in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></dt>
-<dd>
-<div class="block">Is this operation completable?</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete--">complete()</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/errorhandling/TimeoutExceptionInjector.html#complete">complete</a></span> - Variable in class org.apache.hadoop.hbase.errorhandling.<a href="org/apache/hadoop/hbase/errorhandling/TimeoutExceptionInjector.html" title="class in org.apache.hadoop.hbase.errorhandling">TimeoutExceptionInjector</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/errorhandling/TimeoutExceptionInjector.html#complete--">complete()</a></span> - Method in class org.apache.hadoop.hbase.errorhandling.<a href="org/apache/hadoop/hbase/errorhandling/TimeoutExceptionInjector.html" title="class in org.apache.hadoop.hbase.errorhandling">TimeoutExceptionInjector</a></dt>
@@ -58760,8 +58747,6 @@
 <dd>
 <div class="block">Convenience method, the equivalent of checking if result is FLUSHED_COMPACTION_NEEDED.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isCompleable--">isCompleable()</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure/Subprocedure.html#isComplete--">isComplete()</a></span> - Method in class org.apache.hadoop.hbase.procedure.<a href="org/apache/hadoop/hbase/procedure/Subprocedure.html" title="class in org.apache.hadoop.hbase.procedure">Subprocedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.html#isComplete--">isComplete()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security">AbstractHBaseSaslRpcClient</a></dt>
@@ -74566,7 +74551,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#ObserverContextImpl-org.apache.hadoop.hbase.security.User-">ObserverContextImpl(User)</a></span> - Constructor for class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#ObserverContextImpl-org.apache.hadoop.hbase.security.User-boolean-boolean-">ObserverContextImpl(User, boolean, boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#ObserverContextImpl-org.apache.hadoop.hbase.security.User-boolean-">ObserverContextImpl(User, boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html#observerGetter">observerGetter</a></span> - Variable in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a></dt>
 <dd>&nbsp;</dd>
@@ -99505,8 +99490,6 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/HBaseFsck.html#shouldCheckHdfs--">shouldCheckHdfs()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldComplete--">shouldComplete()</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tool/LoadIncrementalHFiles.html#shouldCopyHFileMetaKey-byte:A-">shouldCopyHFileMetaKey(byte[])</a></span> - Static method in class org.apache.hadoop.hbase.tool.<a href="org/apache/hadoop/hbase/tool/LoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.tool">LoadIncrementalHFiles</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/HFile.WriterFactory.html#shouldDropBehind">shouldDropBehind</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFile.WriterFactory.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile.WriterFactory</a></dt>

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/constraint/ConstraintProcessor.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/constraint/ConstraintProcessor.html b/devapidocs/org/apache/hadoop/hbase/constraint/ConstraintProcessor.html
index dd3e049..1a69488 100644
--- a/devapidocs/org/apache/hadoop/hbase/constraint/ConstraintProcessor.html
+++ b/devapidocs/org/apache/hadoop/hbase/constraint/ConstraintProcessor.html
@@ -387,9 +387,6 @@ implements <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCop
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
index c172198..a3c4e9c 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html
@@ -209,7 +209,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverCont
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete--">complete</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isCompleable--">isCompleable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/O
 bserverContextImpl.html#shouldBypass--">shouldBypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldComplete--">shouldComplete</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldBypass--">shouldBypass</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -303,7 +303,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverCont
 <ul class="blockList">
 <li class="blockList">
 <h4>callObserver</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html#line.567">callObserver</a>()
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html#line.566">callObserver</a>()
                     throws <a href="http://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>
@@ -317,7 +317,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverCont
 <ul class="blockListLast">
 <li class="blockList">
 <h4>postEnvCall</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html#line.568">postEnvCall</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html#line.567">postEnvCall</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
index a2eafc9..63b7310 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.605">CoprocessorHost.ObserverOperationWithResult</a>&lt;O,R&gt;
+<pre>public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.604">CoprocessorHost.ObserverOperationWithResult</a>&lt;O,R&gt;
 extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;O&gt;</pre>
 </li>
 </ul>
@@ -237,7 +237,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete--">complete</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isCompleable--">isCompleable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/O
 bserverContextImpl.html#shouldBypass--">shouldBypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldComplete--">shouldComplete</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldBypass--">shouldBypass</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -266,7 +266,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockListLast">
 <li class="blockList">
 <h4>result</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.608">result</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.607">result</a></pre>
 </li>
 </ul>
 </li>
@@ -285,7 +285,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>ObserverOperationWithResult</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.610">ObserverOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>&gt;&nbsp;observerGetter,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.609">ObserverOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>&gt;&nbsp;observerGetter,
                                    <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a>&nbsp;result)</pre>
 </li>
 </ul>
@@ -297,7 +297,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>ObserverOperationWithResult</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.614">ObserverOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>&gt;&nbsp;observerGetter,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.613">ObserverOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>&gt;&nbsp;observerGetter,
                                    <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a>&nbsp;result,
                                    boolean&nbsp;bypassable)</pre>
 </li>
@@ -310,7 +310,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>ObserverOperationWithResult</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.619">ObserverOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>&gt;&nbsp;observerGetter,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.618">ObserverOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>&gt;&nbsp;observerGetter,
                                    <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a>&nbsp;result,
                                    <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
 </li>
@@ -323,7 +323,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ObserverOperationWithResult</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.624">ObserverOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>&gt;&nbsp;observerGetter,
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.623">ObserverOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>&gt;&nbsp;observerGetter,
                                     <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a>&nbsp;result,
                                     <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
                                     boolean&nbsp;bypassable)</pre>
@@ -345,7 +345,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>call</h4>
-<pre>protected abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.606">call</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>&nbsp;observer)
+<pre>protected abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.605">call</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">O</a>&nbsp;observer)
                    throws <a href="http://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>
@@ -359,7 +359,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>getResult</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.630">getResult</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithResult">R</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.629">getResult</a>()</pre>
 </li>
 </ul>
 <a name="callObserver--">
@@ -368,7 +368,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockListLast">
 <li class="blockList">
 <h4>callObserver</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.634">callObserver</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html#line.633">callObserver</a>()
            throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
index 934349c..2d78c75 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html
@@ -131,7 +131,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.574">CoprocessorHost.ObserverOperationWithoutResult</a>&lt;O&gt;
+<pre>public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.573">CoprocessorHost.ObserverOperationWithoutResult</a>&lt;O&gt;
 extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;O&gt;</pre>
 </li>
 </ul>
@@ -217,7 +217,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html" title="class in org.apache.hadoop.hbase.coprocessor">ObserverContextImpl</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#complete--">complete</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isCompleable--">isCompleable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/O
 bserverContextImpl.html#shouldBypass--">shouldBypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldComplete--">shouldComplete</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#bypass--">bypass</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#createAndPrepare-E-">createAndPrepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getCaller--">getCaller</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#getEnvironment--">getEnvironment</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#isBypassable--">isBypassable</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#prepare-E-">prepare</a>, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.html#shouldBypass--">shouldBypass</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -246,7 +246,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>ObserverOperationWithoutResult</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html#line.577">ObserverOperationWithoutResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithoutResult">O</a>&gt;&nbsp;observerGetter)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html#line.576">ObserverOperationWithoutResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithoutResult">O</a>&gt;&nbsp;observerGetter)</pre>
 </li>
 </ul>
 <a name="ObserverOperationWithoutResult-org.apache.hadoop.hbase.coprocessor.CoprocessorHost.ObserverGetter-org.apache.hadoop.hbase.security.User-">
@@ -255,7 +255,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>ObserverOperationWithoutResult</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html#line.581">ObserverOperationWithoutResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithoutResult">O</a>&gt;&nbsp;observerGetter,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html#line.580">ObserverOperationWithoutResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithoutResult">O</a>&gt;&nbsp;observerGetter,
                                       <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
 </li>
 </ul>
@@ -265,7 +265,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ObserverOperationWithoutResult</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html#line.585">ObserverOperationWithoutResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithoutResult">O</a>&gt;&nbsp;observerGetter,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html#line.584">ObserverOperationWithoutResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverGetter.html" title="interface in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverGetter</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html" title="type parameter in CoprocessorHost">C</a>,<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithoutResult">O</a>&gt;&nbsp;observerGetter,
                                       <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user,
                                       boolean&nbsp;bypassable)</pre>
 </li>
@@ -286,7 +286,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockList">
 <li class="blockList">
 <h4>call</h4>
-<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html#line.575">call</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithoutResult">O</a>&nbsp;observer)
+<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html#line.574">call</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html" title="type parameter in CoprocessorHost.ObserverOperationWithoutResult">O</a>&nbsp;observer)
                       throws <a href="http://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>
@@ -300,7 +300,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorH
 <ul class="blockListLast">
 <li class="blockList">
 <h4>callObserver</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html#line.597">callObserver</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithoutResult.html#line.596">callObserver</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">In case of coprocessors which have many kinds of observers (for eg, <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor"><code>RegionCoprocessor</code></a>
  has BulkLoadObserver, RegionObserver, etc), some implementations may not need all

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
index 2b75cae..99d7216 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html
@@ -1054,7 +1054,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>execOperationWithResult</h4>
-<pre>protected&nbsp;&lt;O,R&gt;&nbsp;R&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.649">execOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperationWithResult</a>&lt;O,R&gt;&nbsp;observerOperation)
+<pre>protected&nbsp;&lt;O,R&gt;&nbsp;R&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.648">execOperationWithResult</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperationWithResult.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperationWithResult</a>&lt;O,R&gt;&nbsp;observerOperation)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Do not call with an observerOperation that is null! Have the caller check.</div>
 <dl>
@@ -1069,7 +1069,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>execOperation</h4>
-<pre>protected&nbsp;&lt;O&gt;&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.660">execOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;O&gt;&nbsp;observerOperation)
+<pre>protected&nbsp;&lt;O&gt;&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.659">execOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;O&gt;&nbsp;observerOperation)
                              throws <a href="http://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="returnLabel">Returns:</span></dt>
@@ -1086,7 +1086,7 @@ protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>execShutdown</h4>
-<pre>protected&nbsp;&lt;O&gt;&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.702">execShutdown</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;O&gt;&nbsp;observerOperation)
+<pre>protected&nbsp;&lt;O&gt;&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.html#line.697">execShutdown</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.ObserverOperation.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.ObserverOperation</a>&lt;O&gt;&nbsp;observerOperation)
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Coprocessor classes can be configured in any order, based on that priority is set and
  chained in a sorted order. Should be used preStop*() hooks i.e. when master/regionserver is

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/ObserverContext.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
index 5b974cd..cd74496 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/ObserverContext.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
+var methods = {"i0":6,"i1":6,"i2":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -146,19 +146,12 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#complete--">complete</a></span>()</code>
-<div class="block">Call to skip out on calling remaining coprocessors in current execution chain (there may be
- more than one coprocessor chained to a method call).</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#getCaller--">getCaller</a></span>()</code>
 <div class="block">Returns the active user for the coprocessor call.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="type parameter in ObserverContext">E</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#getEnvironment--">getEnvironment</a></span>()</code>&nbsp;</td>
 </tr>
@@ -192,7 +185,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <ul class="blockList">
 <li class="blockList">
 <h4>bypass</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html#line.67">bypass</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html#line.66">bypass</a>()</pre>
 <div class="block">Call to indicate that the current coprocessor's return value (or parameter -- depends on the
  call-type) should be used in place of the value that would be obtained via normal processing;
  i.e. bypass the core call and return the Coprocessor's result instead. DOES NOT work for all
@@ -214,29 +207,6 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
  that the replacement for the bypassed code takes care of all necessary
  skipped concerns. Because those concerns can change at any point, such an
  assumption is never safe.</p></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#complete--"><code>complete()</code></a></dd>
-</dl>
-</li>
-</ul>
-<a name="complete--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>complete</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html#line.78">complete</a>()</pre>
-<div class="block">Call to skip out on calling remaining coprocessors in current execution chain (there may be
- more than one coprocessor chained to a method call). Implies that this coprocessor's response
- is definitive.
- <p>Since hbase-2.0.0, only <code>complete</code> of 'bypassable' methods has an effect. See
- javadoc on the Coprocessor Observer method as to whether bypass (and thereby 'complete') is
- supported. This behavior of honoring only a subset of methods is new since hbase-2.0.0.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html#bypass--"><code>bypass()</code></a></dd>
-</dl>
 </li>
 </ul>
 <a name="getCaller--">
@@ -245,7 +215,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/coproc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getCaller</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html#line.86">getCaller</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ObserverContext.html#line.74">getCaller</a>()</pre>
 <div class="block">Returns the active user for the coprocessor call. If an explicit <code>User</code> instance was
  provided to the constructor, that will be returned, otherwise if we are in the context of an
  RPC call, the remote user is used. May not be present if the execution is outside of an RPC


[19/19] hbase-site git commit: Published site at .

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


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

Branch: refs/heads/asf-site
Commit: 2424a45f64ae2189d16c3eb5bfcd0e3c1947cb51
Parents: d55acf7
Author: jenkins <bu...@apache.org>
Authored: Sun Nov 19 15:16:58 2017 +0000
Committer: jenkins <bu...@apache.org>
Committed: Sun Nov 19 15:16:58 2017 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                |     6 +-
 book.html                                       |     2 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       | 13680 +++++++++--------
 checkstyle.rss                                  |    20 +-
 coc.html                                        |     4 +-
 cygwin.html                                     |     4 +-
 dependencies.html                               |     4 +-
 dependency-convergence.html                     |     4 +-
 dependency-info.html                            |     4 +-
 dependency-management.html                      |     4 +-
 devapidocs/constant-values.html                 |     6 +-
 devapidocs/index-all.html                       |    19 +-
 .../hadoop/hbase/backup/package-tree.html       |     4 +-
 .../hadoop/hbase/client/package-tree.html       |    24 +-
 .../hbase/constraint/ConstraintProcessor.html   |     3 -
 .../CoprocessorHost.ObserverOperation.html      |     6 +-
 ...ocessorHost.ObserverOperationWithResult.html |    20 +-
 ...ssorHost.ObserverOperationWithoutResult.html |    14 +-
 .../hbase/coprocessor/CoprocessorHost.html      |     6 +-
 .../hbase/coprocessor/ObserverContext.html      |    38 +-
 .../hbase/coprocessor/ObserverContextImpl.html  |   141 +-
 .../hbase/coprocessor/RegionObserver.html       |   183 +-
 ...serverWithMetrics.ExampleRegionObserver.html |     8 +-
 .../example/ScanModifyingObserver.html          |     3 -
 .../example/WriteHeavyIncrementObserver.html    |     8 +-
 .../hadoop/hbase/filter/package-tree.html       |     8 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     8 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |     4 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     2 +-
 ...CoprocessorHost.MasterObserverOperation.html |     2 +-
 .../hbase/master/balancer/package-tree.html     |     2 +-
 .../hadoop/hbase/master/package-tree.html       |     4 +-
 .../hbase/master/procedure/package-tree.html    |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    16 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     8 +-
 .../hadoop/hbase/quotas/package-tree.html       |     8 +-
 ...processorHost.BulkLoadObserverOperation.html |     2 +-
 ...st.RegionObserverOperationWithoutResult.html |     2 +-
 ...essorHost.RegionServerObserverOperation.html |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html |    16 +-
 ...WALCoprocessorHost.WALObserverOperation.html |     2 +-
 .../replication/regionserver/package-tree.html  |     2 +-
 .../hbase/security/access/AccessController.html |    64 +-
 .../hbase/security/access/package-tree.html     |     2 +-
 .../hadoop/hbase/security/class-use/User.html   |     5 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 .../visibility/VisibilityController.html        |    34 +-
 .../hadoop/hbase/thrift/package-tree.html       |     2 +-
 .../apache/hadoop/hbase/util/package-tree.html  |     8 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 .../org/apache/hadoop/hbase/Version.html        |     6 +-
 ...essorHost.EnvironmentPriorityComparator.html |   336 +-
 .../CoprocessorHost.ObserverGetter.html         |   336 +-
 .../CoprocessorHost.ObserverOperation.html      |   336 +-
 ...ocessorHost.ObserverOperationWithResult.html |   336 +-
 ...ssorHost.ObserverOperationWithoutResult.html |   336 +-
 .../hbase/coprocessor/CoprocessorHost.html      |   336 +-
 .../hbase/coprocessor/ObserverContext.html      |    34 +-
 .../hbase/coprocessor/ObserverContextImpl.html  |   186 +-
 .../RegionObserver.MutationType.html            |  1527 +-
 .../hbase/coprocessor/RegionObserver.html       |  1527 +-
 export_control.html                             |     4 +-
 hbase-annotations/checkstyle.html               |     4 +-
 hbase-annotations/dependencies.html             |     4 +-
 hbase-annotations/dependency-convergence.html   |     4 +-
 hbase-annotations/dependency-info.html          |     4 +-
 hbase-annotations/dependency-management.html    |     4 +-
 hbase-annotations/index.html                    |     4 +-
 hbase-annotations/integration.html              |     4 +-
 hbase-annotations/issue-tracking.html           |     4 +-
 hbase-annotations/license.html                  |     4 +-
 hbase-annotations/mail-lists.html               |     4 +-
 hbase-annotations/plugin-management.html        |     4 +-
 hbase-annotations/plugins.html                  |     4 +-
 hbase-annotations/project-info.html             |     4 +-
 hbase-annotations/project-reports.html          |     4 +-
 hbase-annotations/project-summary.html          |     4 +-
 hbase-annotations/source-repository.html        |     4 +-
 hbase-annotations/team-list.html                |     4 +-
 hbase-build-configuration/dependencies.html     |     4 +-
 .../dependency-convergence.html                 |     4 +-
 hbase-build-configuration/dependency-info.html  |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-archetypes/dependencies.html          |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../hbase-archetypes/dependency-info.html       |     4 +-
 .../hbase-archetypes/dependency-management.html |     4 +-
 .../hbase-archetype-builder/dependencies.html   |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../dependency-info.html                        |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-archetype-builder/index.html          |     4 +-
 .../hbase-archetype-builder/integration.html    |     4 +-
 .../hbase-archetype-builder/issue-tracking.html |     4 +-
 .../hbase-archetype-builder/license.html        |     4 +-
 .../hbase-archetype-builder/mail-lists.html     |     4 +-
 .../plugin-management.html                      |     4 +-
 .../hbase-archetype-builder/plugins.html        |     4 +-
 .../hbase-archetype-builder/project-info.html   |     4 +-
 .../project-summary.html                        |     4 +-
 .../source-repository.html                      |     4 +-
 .../hbase-archetype-builder/team-list.html      |     4 +-
 .../hbase-client-project/checkstyle.html        |     4 +-
 .../hbase-client-project/dependencies.html      |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../hbase-client-project/dependency-info.html   |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-client-project/index.html             |     4 +-
 .../hbase-client-project/integration.html       |     4 +-
 .../hbase-client-project/issue-tracking.html    |     4 +-
 .../hbase-client-project/license.html           |     4 +-
 .../hbase-client-project/mail-lists.html        |     4 +-
 .../hbase-client-project/plugin-management.html |     4 +-
 .../hbase-client-project/plugins.html           |     4 +-
 .../hbase-client-project/project-info.html      |     4 +-
 .../hbase-client-project/project-reports.html   |     4 +-
 .../hbase-client-project/project-summary.html   |     4 +-
 .../hbase-client-project/source-repository.html |     4 +-
 .../hbase-client-project/team-list.html         |     4 +-
 .../hbase-shaded-client-project/checkstyle.html |     4 +-
 .../dependencies.html                           |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../dependency-info.html                        |     4 +-
 .../dependency-management.html                  |     4 +-
 .../hbase-shaded-client-project/index.html      |     4 +-
 .../integration.html                            |     4 +-
 .../issue-tracking.html                         |     4 +-
 .../hbase-shaded-client-project/license.html    |     4 +-
 .../hbase-shaded-client-project/mail-lists.html |     4 +-
 .../plugin-management.html                      |     4 +-
 .../hbase-shaded-client-project/plugins.html    |     4 +-
 .../project-info.html                           |     4 +-
 .../project-reports.html                        |     4 +-
 .../project-summary.html                        |     4 +-
 .../source-repository.html                      |     4 +-
 .../hbase-shaded-client-project/team-list.html  |     4 +-
 .../hbase-archetypes/index.html                 |     4 +-
 .../hbase-archetypes/integration.html           |     4 +-
 .../hbase-archetypes/issue-tracking.html        |     4 +-
 .../hbase-archetypes/license.html               |     4 +-
 .../hbase-archetypes/mail-lists.html            |     4 +-
 .../hbase-archetypes/plugin-management.html     |     4 +-
 .../hbase-archetypes/plugins.html               |     4 +-
 .../hbase-archetypes/project-info.html          |     4 +-
 .../hbase-archetypes/project-summary.html       |     4 +-
 .../hbase-archetypes/source-repository.html     |     4 +-
 .../hbase-archetypes/team-list.html             |     4 +-
 .../hbase-spark/checkstyle.html                 |     4 +-
 .../hbase-spark/dependencies.html               |     4 +-
 .../hbase-spark/dependency-convergence.html     |     4 +-
 .../hbase-spark/dependency-info.html            |     4 +-
 .../hbase-spark/dependency-management.html      |     4 +-
 .../hbase-spark/index.html                      |     4 +-
 .../hbase-spark/integration.html                |     4 +-
 .../hbase-spark/issue-tracking.html             |     4 +-
 .../hbase-spark/license.html                    |     4 +-
 .../hbase-spark/mail-lists.html                 |     4 +-
 .../hbase-spark/plugin-management.html          |     4 +-
 .../hbase-spark/plugins.html                    |     4 +-
 .../hbase-spark/project-info.html               |     4 +-
 .../hbase-spark/project-reports.html            |     4 +-
 .../hbase-spark/project-summary.html            |     4 +-
 .../hbase-spark/source-repository.html          |     4 +-
 .../hbase-spark/team-list.html                  |     4 +-
 hbase-build-configuration/index.html            |     4 +-
 hbase-build-configuration/integration.html      |     4 +-
 hbase-build-configuration/issue-tracking.html   |     4 +-
 hbase-build-configuration/license.html          |     4 +-
 hbase-build-configuration/mail-lists.html       |     4 +-
 .../plugin-management.html                      |     4 +-
 hbase-build-configuration/plugins.html          |     4 +-
 hbase-build-configuration/project-info.html     |     4 +-
 hbase-build-configuration/project-summary.html  |     4 +-
 .../source-repository.html                      |     4 +-
 hbase-build-configuration/team-list.html        |     4 +-
 hbase-shaded-check-invariants/checkstyle.html   |     4 +-
 hbase-shaded-check-invariants/dependencies.html |     4 +-
 .../dependency-convergence.html                 |     4 +-
 .../dependency-info.html                        |     4 +-
 .../dependency-management.html                  |     4 +-
 hbase-shaded-check-invariants/index.html        |     4 +-
 hbase-shaded-check-invariants/integration.html  |     4 +-
 .../issue-tracking.html                         |     4 +-
 hbase-shaded-check-invariants/license.html      |     4 +-
 hbase-shaded-check-invariants/mail-lists.html   |     4 +-
 .../plugin-management.html                      |     4 +-
 hbase-shaded-check-invariants/plugins.html      |     4 +-
 hbase-shaded-check-invariants/project-info.html |     4 +-
 .../project-reports.html                        |     4 +-
 .../project-summary.html                        |     4 +-
 .../source-repository.html                      |     4 +-
 hbase-shaded-check-invariants/team-list.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            |     2 +
 testdevapidocs/allclasses-noframe.html          |     2 +
 testdevapidocs/index-all.html                   |    46 +
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 .../mapreduce/TestMultiTableInputFormat.html    |     4 +-
 ...TableInputFormatBase.MRSplitsConnection.html |   547 +
 .../TestMultiTableInputFormatBase.html          |   354 +
 .../TestMultiTableSnapshotInputFormat.html      |     4 +-
 ...TableInputFormatBase.MRSplitsConnection.html |   125 +
 .../TestMultiTableInputFormatBase.html          |   125 +
 .../hadoop/hbase/mapreduce/package-frame.html   |     2 +
 .../hadoop/hbase/mapreduce/package-summary.html |    12 +
 .../hadoop/hbase/mapreduce/package-tree.html    |     2 +
 .../hbase/mob/compactions/TestMobCompactor.html |    36 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    12 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html |     4 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     4 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 testdevapidocs/overview-tree.html               |     2 +
 ...TableInputFormatBase.MRSplitsConnection.html |   316 +
 .../TestMultiTableInputFormatBase.html          |   316 +
 ...obCompactor.CompactTwoLatestHfilesCopro.html |   941 +-
 .../hbase/mob/compactions/TestMobCompactor.html |   941 +-
 238 files changed, 12738 insertions(+), 11397 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 887d321..fa3cbb9 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -606,7 +606,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 54abe19..761cf30 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20171118144747+00'00')
-/CreationDate (D:20171118144747+00'00')
+/ModDate (D:20171119144735+00'00')
+/CreationDate (D:20171119144735+00'00')
 >>
 endobj
 2 0 obj
@@ -27374,7 +27374,7 @@ endobj
 endobj
 136 0 obj
 << /Limits [(__anchor-top) (adding.new.node)]
-/Names [(__anchor-top) 25 0 R (__indexterm-7017952) 3287 0 R (__indexterm-7020202) 3289 0 R (__indexterm-7022264) 3290 0 R (__indexterm-7024138) 3291 0 R (acid) 909 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3385 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3386 0 R (add.metrics) 3383 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3627 0 R (adding.new.node) 2873 0 R]
+/Names [(__anchor-top) 25 0 R (__indexterm-7017954) 3287 0 R (__indexterm-7020204) 3289 0 R (__indexterm-7022266) 3290 0 R (__indexterm-7024140) 3291 0 R (acid) 909 0 R (add-metric-name-and-function-to-hadoop-compat-interface) 3385 0 R (add-the-implementation-to-both-hadoop-1-and-hadoop-2-compat-modules) 3386 0 R (add.metrics) 3383 0 R (adding-a-new-chapter-to-the-hbase-reference-guide) 3627 0 R (adding.new.node) 2873 0 R]
 >>
 endobj
 137 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 71d419c..62b06da 100644
--- a/book.html
+++ b/book.html
@@ -35449,7 +35449,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 2017-11-18 14:29:39 UTC
+Last updated 2017-11-19 14:29:37 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 7b9cbe4..321704b 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -311,7 +311,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 


[02/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/testdevapidocs/src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.CompactTwoLatestHfilesCopro.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.CompactTwoLatestHfilesCopro.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.CompactTwoLatestHfilesCopro.html
index 35bd215..85f881b 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.CompactTwoLatestHfilesCopro.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.CompactTwoLatestHfilesCopro.html
@@ -749,478 +749,477 @@
 <span class="sourceLineNo">741</span>          candidates.remove(0);<a name="line.741"></a>
 <span class="sourceLineNo">742</span>        }<a name="line.742"></a>
 <span class="sourceLineNo">743</span>        c.bypass();<a name="line.743"></a>
-<span class="sourceLineNo">744</span>        c.complete();<a name="line.744"></a>
-<span class="sourceLineNo">745</span>      }<a name="line.745"></a>
-<span class="sourceLineNo">746</span>    }<a name="line.746"></a>
-<span class="sourceLineNo">747</span>  }<a name="line.747"></a>
-<span class="sourceLineNo">748</span><a name="line.748"></a>
-<span class="sourceLineNo">749</span>  private void waitUntilMobCompactionFinished(TableName tableName) throws IOException,<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    InterruptedException {<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    long finished = EnvironmentEdgeManager.currentTime() + 60000;<a name="line.751"></a>
-<span class="sourceLineNo">752</span>    CompactionState state = admin.getCompactionState(tableName, CompactType.MOB);<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    while (EnvironmentEdgeManager.currentTime() &lt; finished) {<a name="line.753"></a>
-<span class="sourceLineNo">754</span>      if (state == CompactionState.NONE) {<a name="line.754"></a>
-<span class="sourceLineNo">755</span>        break;<a name="line.755"></a>
-<span class="sourceLineNo">756</span>      }<a name="line.756"></a>
-<span class="sourceLineNo">757</span>      state = admin.getCompactionState(tableName, CompactType.MOB);<a name="line.757"></a>
-<span class="sourceLineNo">758</span>      Thread.sleep(10);<a name="line.758"></a>
-<span class="sourceLineNo">759</span>    }<a name="line.759"></a>
-<span class="sourceLineNo">760</span>    assertEquals(CompactionState.NONE, state);<a name="line.760"></a>
-<span class="sourceLineNo">761</span>  }<a name="line.761"></a>
-<span class="sourceLineNo">762</span><a name="line.762"></a>
-<span class="sourceLineNo">763</span>  /**<a name="line.763"></a>
-<span class="sourceLineNo">764</span>   * Gets the number of rows in the given table.<a name="line.764"></a>
-<span class="sourceLineNo">765</span>   * @param table to get the  scanner<a name="line.765"></a>
-<span class="sourceLineNo">766</span>   * @return the number of rows<a name="line.766"></a>
-<span class="sourceLineNo">767</span>   */<a name="line.767"></a>
-<span class="sourceLineNo">768</span>  private int countMobRows(final Table table) throws IOException {<a name="line.768"></a>
-<span class="sourceLineNo">769</span>    Scan scan = new Scan();<a name="line.769"></a>
-<span class="sourceLineNo">770</span>    // Do not retrieve the mob data when scanning<a name="line.770"></a>
-<span class="sourceLineNo">771</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.771"></a>
-<span class="sourceLineNo">772</span>    return TEST_UTIL.countRows(table, scan);<a name="line.772"></a>
-<span class="sourceLineNo">773</span>  }<a name="line.773"></a>
-<span class="sourceLineNo">774</span><a name="line.774"></a>
-<span class="sourceLineNo">775</span>  /**<a name="line.775"></a>
-<span class="sourceLineNo">776</span>   * Gets the number of cells in the given table.<a name="line.776"></a>
-<span class="sourceLineNo">777</span>   * @param table to get the  scanner<a name="line.777"></a>
-<span class="sourceLineNo">778</span>   * @return the number of cells<a name="line.778"></a>
-<span class="sourceLineNo">779</span>   */<a name="line.779"></a>
-<span class="sourceLineNo">780</span>  private int countMobCells(final Table table) throws IOException {<a name="line.780"></a>
-<span class="sourceLineNo">781</span>    Scan scan = new Scan();<a name="line.781"></a>
-<span class="sourceLineNo">782</span>    // Do not retrieve the mob data when scanning<a name="line.782"></a>
-<span class="sourceLineNo">783</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.783"></a>
-<span class="sourceLineNo">784</span>    ResultScanner results = table.getScanner(scan);<a name="line.784"></a>
-<span class="sourceLineNo">785</span>    int count = 0;<a name="line.785"></a>
-<span class="sourceLineNo">786</span>    for (Result res : results) {<a name="line.786"></a>
-<span class="sourceLineNo">787</span>      count += res.size();<a name="line.787"></a>
-<span class="sourceLineNo">788</span>    }<a name="line.788"></a>
-<span class="sourceLineNo">789</span>    results.close();<a name="line.789"></a>
-<span class="sourceLineNo">790</span>    return count;<a name="line.790"></a>
-<span class="sourceLineNo">791</span>  }<a name="line.791"></a>
-<span class="sourceLineNo">792</span><a name="line.792"></a>
-<span class="sourceLineNo">793</span>  /**<a name="line.793"></a>
-<span class="sourceLineNo">794</span>   * Gets the number of files in the mob path.<a name="line.794"></a>
-<span class="sourceLineNo">795</span>   * @param isMobFile gets number of the mob files or del files<a name="line.795"></a>
-<span class="sourceLineNo">796</span>   * @param familyName the family name<a name="line.796"></a>
-<span class="sourceLineNo">797</span>   * @return the number of the files<a name="line.797"></a>
-<span class="sourceLineNo">798</span>   */<a name="line.798"></a>
-<span class="sourceLineNo">799</span>  private int countFiles(TableName tableName, boolean isMobFile, String familyName)<a name="line.799"></a>
-<span class="sourceLineNo">800</span>    throws IOException {<a name="line.800"></a>
-<span class="sourceLineNo">801</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    int count = 0;<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    if (fs.exists(mobDirPath)) {<a name="line.803"></a>
-<span class="sourceLineNo">804</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      for (FileStatus file : files) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        if (isMobFile == true) {<a name="line.806"></a>
-<span class="sourceLineNo">807</span>          if (!StoreFileInfo.isDelFile(file.getPath())) {<a name="line.807"></a>
-<span class="sourceLineNo">808</span>            count++;<a name="line.808"></a>
-<span class="sourceLineNo">809</span>          }<a name="line.809"></a>
-<span class="sourceLineNo">810</span>        } else {<a name="line.810"></a>
-<span class="sourceLineNo">811</span>          if (StoreFileInfo.isDelFile(file.getPath())) {<a name="line.811"></a>
-<span class="sourceLineNo">812</span>            count++;<a name="line.812"></a>
-<span class="sourceLineNo">813</span>          }<a name="line.813"></a>
-<span class="sourceLineNo">814</span>        }<a name="line.814"></a>
-<span class="sourceLineNo">815</span>      }<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    }<a name="line.816"></a>
-<span class="sourceLineNo">817</span>    return count;<a name="line.817"></a>
-<span class="sourceLineNo">818</span>  }<a name="line.818"></a>
-<span class="sourceLineNo">819</span><a name="line.819"></a>
-<span class="sourceLineNo">820</span>  private boolean verifyEncryption(TableName tableName, String familyName) throws IOException {<a name="line.820"></a>
-<span class="sourceLineNo">821</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.821"></a>
-<span class="sourceLineNo">822</span>    boolean hasFiles = false;<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    if (fs.exists(mobDirPath)) {<a name="line.823"></a>
-<span class="sourceLineNo">824</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.824"></a>
-<span class="sourceLineNo">825</span>      hasFiles = files != null &amp;&amp; files.length &gt; 0;<a name="line.825"></a>
-<span class="sourceLineNo">826</span>      Assert.assertTrue(hasFiles);<a name="line.826"></a>
-<span class="sourceLineNo">827</span>      Path path = files[0].getPath();<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      CacheConfig cacheConf = new CacheConfig(conf);<a name="line.828"></a>
-<span class="sourceLineNo">829</span>      HStoreFile sf = new HStoreFile(TEST_UTIL.getTestFileSystem(), path, conf, cacheConf,<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        BloomType.NONE, true);<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      sf.initReader();<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      HFile.Reader reader = sf.getReader().getHFileReader();<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      byte[] encryptionKey = reader.getTrailer().getEncryptionKey();<a name="line.833"></a>
-<span class="sourceLineNo">834</span>      Assert.assertTrue(null != encryptionKey);<a name="line.834"></a>
-<span class="sourceLineNo">835</span>      Assert.assertTrue(reader.getFileContext().getEncryptionContext().getCipher().getName()<a name="line.835"></a>
-<span class="sourceLineNo">836</span>        .equals(HConstants.CIPHER_AES));<a name="line.836"></a>
-<span class="sourceLineNo">837</span>    }<a name="line.837"></a>
-<span class="sourceLineNo">838</span>    return hasFiles;<a name="line.838"></a>
-<span class="sourceLineNo">839</span>  }<a name="line.839"></a>
-<span class="sourceLineNo">840</span><a name="line.840"></a>
-<span class="sourceLineNo">841</span>  /**<a name="line.841"></a>
-<span class="sourceLineNo">842</span>   * Gets the number of HFileLink in the mob path.<a name="line.842"></a>
-<span class="sourceLineNo">843</span>   * @param familyName the family name<a name="line.843"></a>
-<span class="sourceLineNo">844</span>   * @return the number of the HFileLink<a name="line.844"></a>
-<span class="sourceLineNo">845</span>   */<a name="line.845"></a>
-<span class="sourceLineNo">846</span>  private int countHFileLinks(String familyName) throws IOException {<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.847"></a>
-<span class="sourceLineNo">848</span>    int count = 0;<a name="line.848"></a>
-<span class="sourceLineNo">849</span>    if (fs.exists(mobDirPath)) {<a name="line.849"></a>
-<span class="sourceLineNo">850</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.850"></a>
-<span class="sourceLineNo">851</span>      for (FileStatus file : files) {<a name="line.851"></a>
-<span class="sourceLineNo">852</span>        if (HFileLink.isHFileLink(file.getPath())) {<a name="line.852"></a>
-<span class="sourceLineNo">853</span>          count++;<a name="line.853"></a>
-<span class="sourceLineNo">854</span>        }<a name="line.854"></a>
-<span class="sourceLineNo">855</span>      }<a name="line.855"></a>
-<span class="sourceLineNo">856</span>    }<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    return count;<a name="line.857"></a>
-<span class="sourceLineNo">858</span>  }<a name="line.858"></a>
-<span class="sourceLineNo">859</span><a name="line.859"></a>
-<span class="sourceLineNo">860</span>  /**<a name="line.860"></a>
-<span class="sourceLineNo">861</span>   * Gets the number of files.<a name="line.861"></a>
-<span class="sourceLineNo">862</span>   * @param size the size of the file<a name="line.862"></a>
-<span class="sourceLineNo">863</span>   * @param tableName the current table name<a name="line.863"></a>
-<span class="sourceLineNo">864</span>   * @param familyName the family name<a name="line.864"></a>
-<span class="sourceLineNo">865</span>   * @return the number of files large than the size<a name="line.865"></a>
-<span class="sourceLineNo">866</span>   */<a name="line.866"></a>
-<span class="sourceLineNo">867</span>  private int countLargeFiles(int size, TableName tableName, String familyName) throws IOException {<a name="line.867"></a>
-<span class="sourceLineNo">868</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    int count = 0;<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    if (fs.exists(mobDirPath)) {<a name="line.870"></a>
-<span class="sourceLineNo">871</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.871"></a>
-<span class="sourceLineNo">872</span>      for (FileStatus file : files) {<a name="line.872"></a>
-<span class="sourceLineNo">873</span>        // ignore the del files in the mob path<a name="line.873"></a>
-<span class="sourceLineNo">874</span>        if ((!StoreFileInfo.isDelFile(file.getPath())) &amp;&amp; (file.getLen() &gt; size)) {<a name="line.874"></a>
-<span class="sourceLineNo">875</span>          count++;<a name="line.875"></a>
-<span class="sourceLineNo">876</span>        }<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      }<a name="line.877"></a>
-<span class="sourceLineNo">878</span>    }<a name="line.878"></a>
-<span class="sourceLineNo">879</span>    return count;<a name="line.879"></a>
-<span class="sourceLineNo">880</span>  }<a name="line.880"></a>
-<span class="sourceLineNo">881</span><a name="line.881"></a>
-<span class="sourceLineNo">882</span>  /**<a name="line.882"></a>
-<span class="sourceLineNo">883</span>   * loads some data to the table.<a name="line.883"></a>
-<span class="sourceLineNo">884</span>   */<a name="line.884"></a>
-<span class="sourceLineNo">885</span>  private void loadData(Admin admin, BufferedMutator table, TableName tableName, int fileNum,<a name="line.885"></a>
-<span class="sourceLineNo">886</span>    int rowNumPerFile) throws IOException, InterruptedException {<a name="line.886"></a>
-<span class="sourceLineNo">887</span>    if (fileNum &lt;= 0) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>      throw new IllegalArgumentException();<a name="line.888"></a>
-<span class="sourceLineNo">889</span>    }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    for (int i = 0; i &lt; fileNum * rowNumPerFile; i++) {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>      for (byte k0 : KEYS) {<a name="line.891"></a>
-<span class="sourceLineNo">892</span>        byte[] k = new byte[] { k0 };<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        byte[] key = Bytes.add(k, Bytes.toBytes(i));<a name="line.893"></a>
-<span class="sourceLineNo">894</span>        byte[] mobVal = makeDummyData(10 * (i + 1));<a name="line.894"></a>
-<span class="sourceLineNo">895</span>        Put put = new Put(key);<a name="line.895"></a>
-<span class="sourceLineNo">896</span>        put.setDurability(Durability.SKIP_WAL);<a name="line.896"></a>
-<span class="sourceLineNo">897</span>        put.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), mobVal);<a name="line.897"></a>
-<span class="sourceLineNo">898</span>        put.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf2), mobVal);<a name="line.898"></a>
-<span class="sourceLineNo">899</span>        put.addColumn(Bytes.toBytes(family2), Bytes.toBytes(qf1), mobVal);<a name="line.899"></a>
-<span class="sourceLineNo">900</span>        table.mutate(put);<a name="line.900"></a>
-<span class="sourceLineNo">901</span>      }<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      if ((i + 1) % rowNumPerFile == 0) {<a name="line.902"></a>
-<span class="sourceLineNo">903</span>        table.flush();<a name="line.903"></a>
-<span class="sourceLineNo">904</span>        admin.flush(tableName);<a name="line.904"></a>
-<span class="sourceLineNo">905</span>      }<a name="line.905"></a>
-<span class="sourceLineNo">906</span>    }<a name="line.906"></a>
-<span class="sourceLineNo">907</span>  }<a name="line.907"></a>
-<span class="sourceLineNo">908</span><a name="line.908"></a>
-<span class="sourceLineNo">909</span>  private void loadData(Admin admin, BufferedMutator table, TableName tableName, Put[] puts)<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    throws IOException {<a name="line.910"></a>
-<span class="sourceLineNo">911</span>    table.mutate(Arrays.asList(puts));<a name="line.911"></a>
-<span class="sourceLineNo">912</span>    table.flush();<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    admin.flush(tableName);<a name="line.913"></a>
-<span class="sourceLineNo">914</span>  }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>  private void loadDataForPartitionPolicy(Admin admin, BufferedMutator table, TableName tableName)<a name="line.916"></a>
-<span class="sourceLineNo">917</span>      throws IOException {<a name="line.917"></a>
-<span class="sourceLineNo">918</span><a name="line.918"></a>
-<span class="sourceLineNo">919</span>    Put[] pArray = new Put[1000];<a name="line.919"></a>
-<span class="sourceLineNo">920</span><a name="line.920"></a>
-<span class="sourceLineNo">921</span>    for (int i = 0; i &lt; 1000; i ++) {<a name="line.921"></a>
-<span class="sourceLineNo">922</span>      Put put0 = new Put(Bytes.toBytes("r0" + i));<a name="line.922"></a>
-<span class="sourceLineNo">923</span>      put0.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151130Monday, Bytes.toBytes(mobValue0));<a name="line.923"></a>
-<span class="sourceLineNo">924</span>      pArray[i] = put0;<a name="line.924"></a>
-<span class="sourceLineNo">925</span>    }<a name="line.925"></a>
-<span class="sourceLineNo">926</span>    loadData(admin, bufMut, tableName, pArray);<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>    Put put06 = new Put(mobKey06);<a name="line.928"></a>
-<span class="sourceLineNo">929</span>    put06.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151128Saturday, Bytes.toBytes(mobValue0));<a name="line.929"></a>
-<span class="sourceLineNo">930</span><a name="line.930"></a>
-<span class="sourceLineNo">931</span>    loadData(admin, bufMut, tableName, new Put[] { put06 });<a name="line.931"></a>
-<span class="sourceLineNo">932</span><a name="line.932"></a>
-<span class="sourceLineNo">933</span>    Put put1 = new Put(mobKey1);<a name="line.933"></a>
-<span class="sourceLineNo">934</span>    put1.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151201Tuesday,<a name="line.934"></a>
-<span class="sourceLineNo">935</span>        Bytes.toBytes(mobValue1));<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    loadData(admin, bufMut, tableName, new Put[] { put1 });<a name="line.936"></a>
-<span class="sourceLineNo">937</span><a name="line.937"></a>
-<span class="sourceLineNo">938</span>    Put put2 = new Put(mobKey2);<a name="line.938"></a>
-<span class="sourceLineNo">939</span>    put2.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151205Saturday,<a name="line.939"></a>
-<span class="sourceLineNo">940</span>        Bytes.toBytes(mobValue2));<a name="line.940"></a>
-<span class="sourceLineNo">941</span>    loadData(admin, bufMut, tableName, new Put[] { put2 });<a name="line.941"></a>
-<span class="sourceLineNo">942</span><a name="line.942"></a>
-<span class="sourceLineNo">943</span>    Put put3 = new Put(mobKey3);<a name="line.943"></a>
-<span class="sourceLineNo">944</span>    put3.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151228Monday,<a name="line.944"></a>
-<span class="sourceLineNo">945</span>        Bytes.toBytes(mobValue3));<a name="line.945"></a>
-<span class="sourceLineNo">946</span>    loadData(admin, bufMut, tableName, new Put[] { put3 });<a name="line.946"></a>
-<span class="sourceLineNo">947</span><a name="line.947"></a>
-<span class="sourceLineNo">948</span>    Put put4 = new Put(mobKey4);<a name="line.948"></a>
-<span class="sourceLineNo">949</span>    put4.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151231Thursday,<a name="line.949"></a>
-<span class="sourceLineNo">950</span>        Bytes.toBytes(mobValue4));<a name="line.950"></a>
-<span class="sourceLineNo">951</span>    loadData(admin, bufMut, tableName, new Put[] { put4 });<a name="line.951"></a>
-<span class="sourceLineNo">952</span><a name="line.952"></a>
-<span class="sourceLineNo">953</span>    Put put5 = new Put(mobKey5);<a name="line.953"></a>
-<span class="sourceLineNo">954</span>    put5.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20160101Friday,<a name="line.954"></a>
-<span class="sourceLineNo">955</span>        Bytes.toBytes(mobValue5));<a name="line.955"></a>
-<span class="sourceLineNo">956</span>    loadData(admin, bufMut, tableName, new Put[] { put5 });<a name="line.956"></a>
-<span class="sourceLineNo">957</span><a name="line.957"></a>
-<span class="sourceLineNo">958</span>    Put put6 = new Put(mobKey6);<a name="line.958"></a>
-<span class="sourceLineNo">959</span>    put6.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20160103Sunday,<a name="line.959"></a>
-<span class="sourceLineNo">960</span>        Bytes.toBytes(mobValue6));<a name="line.960"></a>
-<span class="sourceLineNo">961</span>    loadData(admin, bufMut, tableName, new Put[] { put6 });<a name="line.961"></a>
-<span class="sourceLineNo">962</span><a name="line.962"></a>
-<span class="sourceLineNo">963</span>    Put put7 = new Put(mobKey7);<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    put7.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20150907Monday,<a name="line.964"></a>
-<span class="sourceLineNo">965</span>        Bytes.toBytes(mobValue7));<a name="line.965"></a>
-<span class="sourceLineNo">966</span>    loadData(admin, bufMut, tableName, new Put[] { put7 });<a name="line.966"></a>
-<span class="sourceLineNo">967</span><a name="line.967"></a>
-<span class="sourceLineNo">968</span>    Put put8 = new Put(mobKey8);<a name="line.968"></a>
-<span class="sourceLineNo">969</span>    put8.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151120Sunday,<a name="line.969"></a>
-<span class="sourceLineNo">970</span>        Bytes.toBytes(mobValue8));<a name="line.970"></a>
-<span class="sourceLineNo">971</span>    loadData(admin, bufMut, tableName, new Put[] { put8 });<a name="line.971"></a>
-<span class="sourceLineNo">972</span>  }<a name="line.972"></a>
+<span class="sourceLineNo">744</span>      }<a name="line.744"></a>
+<span class="sourceLineNo">745</span>    }<a name="line.745"></a>
+<span class="sourceLineNo">746</span>  }<a name="line.746"></a>
+<span class="sourceLineNo">747</span><a name="line.747"></a>
+<span class="sourceLineNo">748</span>  private void waitUntilMobCompactionFinished(TableName tableName) throws IOException,<a name="line.748"></a>
+<span class="sourceLineNo">749</span>    InterruptedException {<a name="line.749"></a>
+<span class="sourceLineNo">750</span>    long finished = EnvironmentEdgeManager.currentTime() + 60000;<a name="line.750"></a>
+<span class="sourceLineNo">751</span>    CompactionState state = admin.getCompactionState(tableName, CompactType.MOB);<a name="line.751"></a>
+<span class="sourceLineNo">752</span>    while (EnvironmentEdgeManager.currentTime() &lt; finished) {<a name="line.752"></a>
+<span class="sourceLineNo">753</span>      if (state == CompactionState.NONE) {<a name="line.753"></a>
+<span class="sourceLineNo">754</span>        break;<a name="line.754"></a>
+<span class="sourceLineNo">755</span>      }<a name="line.755"></a>
+<span class="sourceLineNo">756</span>      state = admin.getCompactionState(tableName, CompactType.MOB);<a name="line.756"></a>
+<span class="sourceLineNo">757</span>      Thread.sleep(10);<a name="line.757"></a>
+<span class="sourceLineNo">758</span>    }<a name="line.758"></a>
+<span class="sourceLineNo">759</span>    assertEquals(CompactionState.NONE, state);<a name="line.759"></a>
+<span class="sourceLineNo">760</span>  }<a name="line.760"></a>
+<span class="sourceLineNo">761</span><a name="line.761"></a>
+<span class="sourceLineNo">762</span>  /**<a name="line.762"></a>
+<span class="sourceLineNo">763</span>   * Gets the number of rows in the given table.<a name="line.763"></a>
+<span class="sourceLineNo">764</span>   * @param table to get the  scanner<a name="line.764"></a>
+<span class="sourceLineNo">765</span>   * @return the number of rows<a name="line.765"></a>
+<span class="sourceLineNo">766</span>   */<a name="line.766"></a>
+<span class="sourceLineNo">767</span>  private int countMobRows(final Table table) throws IOException {<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    Scan scan = new Scan();<a name="line.768"></a>
+<span class="sourceLineNo">769</span>    // Do not retrieve the mob data when scanning<a name="line.769"></a>
+<span class="sourceLineNo">770</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.770"></a>
+<span class="sourceLineNo">771</span>    return TEST_UTIL.countRows(table, scan);<a name="line.771"></a>
+<span class="sourceLineNo">772</span>  }<a name="line.772"></a>
+<span class="sourceLineNo">773</span><a name="line.773"></a>
+<span class="sourceLineNo">774</span>  /**<a name="line.774"></a>
+<span class="sourceLineNo">775</span>   * Gets the number of cells in the given table.<a name="line.775"></a>
+<span class="sourceLineNo">776</span>   * @param table to get the  scanner<a name="line.776"></a>
+<span class="sourceLineNo">777</span>   * @return the number of cells<a name="line.777"></a>
+<span class="sourceLineNo">778</span>   */<a name="line.778"></a>
+<span class="sourceLineNo">779</span>  private int countMobCells(final Table table) throws IOException {<a name="line.779"></a>
+<span class="sourceLineNo">780</span>    Scan scan = new Scan();<a name="line.780"></a>
+<span class="sourceLineNo">781</span>    // Do not retrieve the mob data when scanning<a name="line.781"></a>
+<span class="sourceLineNo">782</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.782"></a>
+<span class="sourceLineNo">783</span>    ResultScanner results = table.getScanner(scan);<a name="line.783"></a>
+<span class="sourceLineNo">784</span>    int count = 0;<a name="line.784"></a>
+<span class="sourceLineNo">785</span>    for (Result res : results) {<a name="line.785"></a>
+<span class="sourceLineNo">786</span>      count += res.size();<a name="line.786"></a>
+<span class="sourceLineNo">787</span>    }<a name="line.787"></a>
+<span class="sourceLineNo">788</span>    results.close();<a name="line.788"></a>
+<span class="sourceLineNo">789</span>    return count;<a name="line.789"></a>
+<span class="sourceLineNo">790</span>  }<a name="line.790"></a>
+<span class="sourceLineNo">791</span><a name="line.791"></a>
+<span class="sourceLineNo">792</span>  /**<a name="line.792"></a>
+<span class="sourceLineNo">793</span>   * Gets the number of files in the mob path.<a name="line.793"></a>
+<span class="sourceLineNo">794</span>   * @param isMobFile gets number of the mob files or del files<a name="line.794"></a>
+<span class="sourceLineNo">795</span>   * @param familyName the family name<a name="line.795"></a>
+<span class="sourceLineNo">796</span>   * @return the number of the files<a name="line.796"></a>
+<span class="sourceLineNo">797</span>   */<a name="line.797"></a>
+<span class="sourceLineNo">798</span>  private int countFiles(TableName tableName, boolean isMobFile, String familyName)<a name="line.798"></a>
+<span class="sourceLineNo">799</span>    throws IOException {<a name="line.799"></a>
+<span class="sourceLineNo">800</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.800"></a>
+<span class="sourceLineNo">801</span>    int count = 0;<a name="line.801"></a>
+<span class="sourceLineNo">802</span>    if (fs.exists(mobDirPath)) {<a name="line.802"></a>
+<span class="sourceLineNo">803</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.803"></a>
+<span class="sourceLineNo">804</span>      for (FileStatus file : files) {<a name="line.804"></a>
+<span class="sourceLineNo">805</span>        if (isMobFile == true) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span>          if (!StoreFileInfo.isDelFile(file.getPath())) {<a name="line.806"></a>
+<span class="sourceLineNo">807</span>            count++;<a name="line.807"></a>
+<span class="sourceLineNo">808</span>          }<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        } else {<a name="line.809"></a>
+<span class="sourceLineNo">810</span>          if (StoreFileInfo.isDelFile(file.getPath())) {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>            count++;<a name="line.811"></a>
+<span class="sourceLineNo">812</span>          }<a name="line.812"></a>
+<span class="sourceLineNo">813</span>        }<a name="line.813"></a>
+<span class="sourceLineNo">814</span>      }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>    }<a name="line.815"></a>
+<span class="sourceLineNo">816</span>    return count;<a name="line.816"></a>
+<span class="sourceLineNo">817</span>  }<a name="line.817"></a>
+<span class="sourceLineNo">818</span><a name="line.818"></a>
+<span class="sourceLineNo">819</span>  private boolean verifyEncryption(TableName tableName, String familyName) throws IOException {<a name="line.819"></a>
+<span class="sourceLineNo">820</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.820"></a>
+<span class="sourceLineNo">821</span>    boolean hasFiles = false;<a name="line.821"></a>
+<span class="sourceLineNo">822</span>    if (fs.exists(mobDirPath)) {<a name="line.822"></a>
+<span class="sourceLineNo">823</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.823"></a>
+<span class="sourceLineNo">824</span>      hasFiles = files != null &amp;&amp; files.length &gt; 0;<a name="line.824"></a>
+<span class="sourceLineNo">825</span>      Assert.assertTrue(hasFiles);<a name="line.825"></a>
+<span class="sourceLineNo">826</span>      Path path = files[0].getPath();<a name="line.826"></a>
+<span class="sourceLineNo">827</span>      CacheConfig cacheConf = new CacheConfig(conf);<a name="line.827"></a>
+<span class="sourceLineNo">828</span>      HStoreFile sf = new HStoreFile(TEST_UTIL.getTestFileSystem(), path, conf, cacheConf,<a name="line.828"></a>
+<span class="sourceLineNo">829</span>        BloomType.NONE, true);<a name="line.829"></a>
+<span class="sourceLineNo">830</span>      sf.initReader();<a name="line.830"></a>
+<span class="sourceLineNo">831</span>      HFile.Reader reader = sf.getReader().getHFileReader();<a name="line.831"></a>
+<span class="sourceLineNo">832</span>      byte[] encryptionKey = reader.getTrailer().getEncryptionKey();<a name="line.832"></a>
+<span class="sourceLineNo">833</span>      Assert.assertTrue(null != encryptionKey);<a name="line.833"></a>
+<span class="sourceLineNo">834</span>      Assert.assertTrue(reader.getFileContext().getEncryptionContext().getCipher().getName()<a name="line.834"></a>
+<span class="sourceLineNo">835</span>        .equals(HConstants.CIPHER_AES));<a name="line.835"></a>
+<span class="sourceLineNo">836</span>    }<a name="line.836"></a>
+<span class="sourceLineNo">837</span>    return hasFiles;<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>  /**<a name="line.840"></a>
+<span class="sourceLineNo">841</span>   * Gets the number of HFileLink in the mob path.<a name="line.841"></a>
+<span class="sourceLineNo">842</span>   * @param familyName the family name<a name="line.842"></a>
+<span class="sourceLineNo">843</span>   * @return the number of the HFileLink<a name="line.843"></a>
+<span class="sourceLineNo">844</span>   */<a name="line.844"></a>
+<span class="sourceLineNo">845</span>  private int countHFileLinks(String familyName) throws IOException {<a name="line.845"></a>
+<span class="sourceLineNo">846</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.846"></a>
+<span class="sourceLineNo">847</span>    int count = 0;<a name="line.847"></a>
+<span class="sourceLineNo">848</span>    if (fs.exists(mobDirPath)) {<a name="line.848"></a>
+<span class="sourceLineNo">849</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      for (FileStatus file : files) {<a name="line.850"></a>
+<span class="sourceLineNo">851</span>        if (HFileLink.isHFileLink(file.getPath())) {<a name="line.851"></a>
+<span class="sourceLineNo">852</span>          count++;<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>    }<a name="line.855"></a>
+<span class="sourceLineNo">856</span>    return count;<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>  /**<a name="line.859"></a>
+<span class="sourceLineNo">860</span>   * Gets the number of files.<a name="line.860"></a>
+<span class="sourceLineNo">861</span>   * @param size the size of the file<a name="line.861"></a>
+<span class="sourceLineNo">862</span>   * @param tableName the current table name<a name="line.862"></a>
+<span class="sourceLineNo">863</span>   * @param familyName the family name<a name="line.863"></a>
+<span class="sourceLineNo">864</span>   * @return the number of files large than the size<a name="line.864"></a>
+<span class="sourceLineNo">865</span>   */<a name="line.865"></a>
+<span class="sourceLineNo">866</span>  private int countLargeFiles(int size, TableName tableName, String familyName) throws IOException {<a name="line.866"></a>
+<span class="sourceLineNo">867</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, familyName);<a name="line.867"></a>
+<span class="sourceLineNo">868</span>    int count = 0;<a name="line.868"></a>
+<span class="sourceLineNo">869</span>    if (fs.exists(mobDirPath)) {<a name="line.869"></a>
+<span class="sourceLineNo">870</span>      FileStatus[] files = fs.listStatus(mobDirPath);<a name="line.870"></a>
+<span class="sourceLineNo">871</span>      for (FileStatus file : files) {<a name="line.871"></a>
+<span class="sourceLineNo">872</span>        // ignore the del files in the mob path<a name="line.872"></a>
+<span class="sourceLineNo">873</span>        if ((!StoreFileInfo.isDelFile(file.getPath())) &amp;&amp; (file.getLen() &gt; size)) {<a name="line.873"></a>
+<span class="sourceLineNo">874</span>          count++;<a name="line.874"></a>
+<span class="sourceLineNo">875</span>        }<a name="line.875"></a>
+<span class="sourceLineNo">876</span>      }<a name="line.876"></a>
+<span class="sourceLineNo">877</span>    }<a name="line.877"></a>
+<span class="sourceLineNo">878</span>    return count;<a name="line.878"></a>
+<span class="sourceLineNo">879</span>  }<a name="line.879"></a>
+<span class="sourceLineNo">880</span><a name="line.880"></a>
+<span class="sourceLineNo">881</span>  /**<a name="line.881"></a>
+<span class="sourceLineNo">882</span>   * loads some data to the table.<a name="line.882"></a>
+<span class="sourceLineNo">883</span>   */<a name="line.883"></a>
+<span class="sourceLineNo">884</span>  private void loadData(Admin admin, BufferedMutator table, TableName tableName, int fileNum,<a name="line.884"></a>
+<span class="sourceLineNo">885</span>    int rowNumPerFile) throws IOException, InterruptedException {<a name="line.885"></a>
+<span class="sourceLineNo">886</span>    if (fileNum &lt;= 0) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span>      throw new IllegalArgumentException();<a name="line.887"></a>
+<span class="sourceLineNo">888</span>    }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>    for (int i = 0; i &lt; fileNum * rowNumPerFile; i++) {<a name="line.889"></a>
+<span class="sourceLineNo">890</span>      for (byte k0 : KEYS) {<a name="line.890"></a>
+<span class="sourceLineNo">891</span>        byte[] k = new byte[] { k0 };<a name="line.891"></a>
+<span class="sourceLineNo">892</span>        byte[] key = Bytes.add(k, Bytes.toBytes(i));<a name="line.892"></a>
+<span class="sourceLineNo">893</span>        byte[] mobVal = makeDummyData(10 * (i + 1));<a name="line.893"></a>
+<span class="sourceLineNo">894</span>        Put put = new Put(key);<a name="line.894"></a>
+<span class="sourceLineNo">895</span>        put.setDurability(Durability.SKIP_WAL);<a name="line.895"></a>
+<span class="sourceLineNo">896</span>        put.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), mobVal);<a name="line.896"></a>
+<span class="sourceLineNo">897</span>        put.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf2), mobVal);<a name="line.897"></a>
+<span class="sourceLineNo">898</span>        put.addColumn(Bytes.toBytes(family2), Bytes.toBytes(qf1), mobVal);<a name="line.898"></a>
+<span class="sourceLineNo">899</span>        table.mutate(put);<a name="line.899"></a>
+<span class="sourceLineNo">900</span>      }<a name="line.900"></a>
+<span class="sourceLineNo">901</span>      if ((i + 1) % rowNumPerFile == 0) {<a name="line.901"></a>
+<span class="sourceLineNo">902</span>        table.flush();<a name="line.902"></a>
+<span class="sourceLineNo">903</span>        admin.flush(tableName);<a name="line.903"></a>
+<span class="sourceLineNo">904</span>      }<a name="line.904"></a>
+<span class="sourceLineNo">905</span>    }<a name="line.905"></a>
+<span class="sourceLineNo">906</span>  }<a name="line.906"></a>
+<span class="sourceLineNo">907</span><a name="line.907"></a>
+<span class="sourceLineNo">908</span>  private void loadData(Admin admin, BufferedMutator table, TableName tableName, Put[] puts)<a name="line.908"></a>
+<span class="sourceLineNo">909</span>    throws IOException {<a name="line.909"></a>
+<span class="sourceLineNo">910</span>    table.mutate(Arrays.asList(puts));<a name="line.910"></a>
+<span class="sourceLineNo">911</span>    table.flush();<a name="line.911"></a>
+<span class="sourceLineNo">912</span>    admin.flush(tableName);<a name="line.912"></a>
+<span class="sourceLineNo">913</span>  }<a name="line.913"></a>
+<span class="sourceLineNo">914</span><a name="line.914"></a>
+<span class="sourceLineNo">915</span>  private void loadDataForPartitionPolicy(Admin admin, BufferedMutator table, TableName tableName)<a name="line.915"></a>
+<span class="sourceLineNo">916</span>      throws IOException {<a name="line.916"></a>
+<span class="sourceLineNo">917</span><a name="line.917"></a>
+<span class="sourceLineNo">918</span>    Put[] pArray = new Put[1000];<a name="line.918"></a>
+<span class="sourceLineNo">919</span><a name="line.919"></a>
+<span class="sourceLineNo">920</span>    for (int i = 0; i &lt; 1000; i ++) {<a name="line.920"></a>
+<span class="sourceLineNo">921</span>      Put put0 = new Put(Bytes.toBytes("r0" + i));<a name="line.921"></a>
+<span class="sourceLineNo">922</span>      put0.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151130Monday, Bytes.toBytes(mobValue0));<a name="line.922"></a>
+<span class="sourceLineNo">923</span>      pArray[i] = put0;<a name="line.923"></a>
+<span class="sourceLineNo">924</span>    }<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    loadData(admin, bufMut, tableName, pArray);<a name="line.925"></a>
+<span class="sourceLineNo">926</span><a name="line.926"></a>
+<span class="sourceLineNo">927</span>    Put put06 = new Put(mobKey06);<a name="line.927"></a>
+<span class="sourceLineNo">928</span>    put06.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151128Saturday, Bytes.toBytes(mobValue0));<a name="line.928"></a>
+<span class="sourceLineNo">929</span><a name="line.929"></a>
+<span class="sourceLineNo">930</span>    loadData(admin, bufMut, tableName, new Put[] { put06 });<a name="line.930"></a>
+<span class="sourceLineNo">931</span><a name="line.931"></a>
+<span class="sourceLineNo">932</span>    Put put1 = new Put(mobKey1);<a name="line.932"></a>
+<span class="sourceLineNo">933</span>    put1.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151201Tuesday,<a name="line.933"></a>
+<span class="sourceLineNo">934</span>        Bytes.toBytes(mobValue1));<a name="line.934"></a>
+<span class="sourceLineNo">935</span>    loadData(admin, bufMut, tableName, new Put[] { put1 });<a name="line.935"></a>
+<span class="sourceLineNo">936</span><a name="line.936"></a>
+<span class="sourceLineNo">937</span>    Put put2 = new Put(mobKey2);<a name="line.937"></a>
+<span class="sourceLineNo">938</span>    put2.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151205Saturday,<a name="line.938"></a>
+<span class="sourceLineNo">939</span>        Bytes.toBytes(mobValue2));<a name="line.939"></a>
+<span class="sourceLineNo">940</span>    loadData(admin, bufMut, tableName, new Put[] { put2 });<a name="line.940"></a>
+<span class="sourceLineNo">941</span><a name="line.941"></a>
+<span class="sourceLineNo">942</span>    Put put3 = new Put(mobKey3);<a name="line.942"></a>
+<span class="sourceLineNo">943</span>    put3.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151228Monday,<a name="line.943"></a>
+<span class="sourceLineNo">944</span>        Bytes.toBytes(mobValue3));<a name="line.944"></a>
+<span class="sourceLineNo">945</span>    loadData(admin, bufMut, tableName, new Put[] { put3 });<a name="line.945"></a>
+<span class="sourceLineNo">946</span><a name="line.946"></a>
+<span class="sourceLineNo">947</span>    Put put4 = new Put(mobKey4);<a name="line.947"></a>
+<span class="sourceLineNo">948</span>    put4.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151231Thursday,<a name="line.948"></a>
+<span class="sourceLineNo">949</span>        Bytes.toBytes(mobValue4));<a name="line.949"></a>
+<span class="sourceLineNo">950</span>    loadData(admin, bufMut, tableName, new Put[] { put4 });<a name="line.950"></a>
+<span class="sourceLineNo">951</span><a name="line.951"></a>
+<span class="sourceLineNo">952</span>    Put put5 = new Put(mobKey5);<a name="line.952"></a>
+<span class="sourceLineNo">953</span>    put5.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20160101Friday,<a name="line.953"></a>
+<span class="sourceLineNo">954</span>        Bytes.toBytes(mobValue5));<a name="line.954"></a>
+<span class="sourceLineNo">955</span>    loadData(admin, bufMut, tableName, new Put[] { put5 });<a name="line.955"></a>
+<span class="sourceLineNo">956</span><a name="line.956"></a>
+<span class="sourceLineNo">957</span>    Put put6 = new Put(mobKey6);<a name="line.957"></a>
+<span class="sourceLineNo">958</span>    put6.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20160103Sunday,<a name="line.958"></a>
+<span class="sourceLineNo">959</span>        Bytes.toBytes(mobValue6));<a name="line.959"></a>
+<span class="sourceLineNo">960</span>    loadData(admin, bufMut, tableName, new Put[] { put6 });<a name="line.960"></a>
+<span class="sourceLineNo">961</span><a name="line.961"></a>
+<span class="sourceLineNo">962</span>    Put put7 = new Put(mobKey7);<a name="line.962"></a>
+<span class="sourceLineNo">963</span>    put7.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20150907Monday,<a name="line.963"></a>
+<span class="sourceLineNo">964</span>        Bytes.toBytes(mobValue7));<a name="line.964"></a>
+<span class="sourceLineNo">965</span>    loadData(admin, bufMut, tableName, new Put[] { put7 });<a name="line.965"></a>
+<span class="sourceLineNo">966</span><a name="line.966"></a>
+<span class="sourceLineNo">967</span>    Put put8 = new Put(mobKey8);<a name="line.967"></a>
+<span class="sourceLineNo">968</span>    put8.addColumn(Bytes.toBytes(family1), Bytes.toBytes(qf1), tsFor20151120Sunday,<a name="line.968"></a>
+<span class="sourceLineNo">969</span>        Bytes.toBytes(mobValue8));<a name="line.969"></a>
+<span class="sourceLineNo">970</span>    loadData(admin, bufMut, tableName, new Put[] { put8 });<a name="line.970"></a>
+<span class="sourceLineNo">971</span>  }<a name="line.971"></a>
+<span class="sourceLineNo">972</span><a name="line.972"></a>
 <span class="sourceLineNo">973</span><a name="line.973"></a>
-<span class="sourceLineNo">974</span><a name="line.974"></a>
-<span class="sourceLineNo">975</span>  /**<a name="line.975"></a>
-<span class="sourceLineNo">976</span>   * delete the row, family and cell to create the del file<a name="line.976"></a>
-<span class="sourceLineNo">977</span>   */<a name="line.977"></a>
-<span class="sourceLineNo">978</span>  private void createDelFile(Table table, TableName tableName, byte[] family, byte[] qf)<a name="line.978"></a>
-<span class="sourceLineNo">979</span>    throws IOException, InterruptedException {<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    for (byte k0 : KEYS) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>      byte[] k = new byte[] { k0 };<a name="line.981"></a>
-<span class="sourceLineNo">982</span>      // delete a family<a name="line.982"></a>
-<span class="sourceLineNo">983</span>      byte[] key1 = Bytes.add(k, Bytes.toBytes(0));<a name="line.983"></a>
-<span class="sourceLineNo">984</span>      Delete delete1 = new Delete(key1);<a name="line.984"></a>
-<span class="sourceLineNo">985</span>      delete1.addFamily(family);<a name="line.985"></a>
-<span class="sourceLineNo">986</span>      table.delete(delete1);<a name="line.986"></a>
-<span class="sourceLineNo">987</span>      // delete one row<a name="line.987"></a>
-<span class="sourceLineNo">988</span>      byte[] key2 = Bytes.add(k, Bytes.toBytes(2));<a name="line.988"></a>
-<span class="sourceLineNo">989</span>      Delete delete2 = new Delete(key2);<a name="line.989"></a>
-<span class="sourceLineNo">990</span>      table.delete(delete2);<a name="line.990"></a>
-<span class="sourceLineNo">991</span>      // delete one cell<a name="line.991"></a>
-<span class="sourceLineNo">992</span>      byte[] key3 = Bytes.add(k, Bytes.toBytes(4));<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      Delete delete3 = new Delete(key3);<a name="line.993"></a>
-<span class="sourceLineNo">994</span>      delete3.addColumn(family, qf);<a name="line.994"></a>
-<span class="sourceLineNo">995</span>      table.delete(delete3);<a name="line.995"></a>
-<span class="sourceLineNo">996</span>    }<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    admin.flush(tableName);<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    List&lt;HRegion&gt; regions = TEST_UTIL.getHBaseCluster().getRegions(tableName);<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    for (HRegion region : regions) {<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>      region.waitForFlushesAndCompactions();<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      region.compact(true);<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    }<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>  }<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>  /**<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>   * Creates the dummy data with a specific size.<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>   * @param size the size of value<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>   * @return the dummy data<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>   */<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>  private byte[] makeDummyData(int size) {<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>    byte[] dummyData = new byte[size];<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>    new Random().nextBytes(dummyData);<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>    return dummyData;<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>  }<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span><a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>  /**<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>   * Gets the split keys<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>   */<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  private byte[][] getSplitKeys() {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>    byte[][] splitKeys = new byte[KEYS.length - 1][];<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    for (int i = 0; i &lt; splitKeys.length; ++i) {<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>      splitKeys[i] = new byte[] { KEYS[i + 1] };<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    }<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>    return splitKeys;<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>  }<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span><a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>  private static ExecutorService createThreadPool(Configuration conf) {<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>    int maxThreads = 10;<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>    long keepAliveTime = 60;<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>    final SynchronousQueue&lt;Runnable&gt; queue = new SynchronousQueue&lt;&gt;();<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads,<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>        keepAliveTime, TimeUnit.SECONDS, queue,<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>        Threads.newDaemonThreadFactory("MobFileCompactionChore"),<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>        new RejectedExecutionHandler() {<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>          @Override<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>          public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>            try {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>              // waiting for a thread to pick up instead of throwing exceptions.<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>              queue.put(r);<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>            } catch (InterruptedException e) {<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>              throw new RejectedExecutionException(e);<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>            }<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>          }<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>        });<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    ((ThreadPoolExecutor) pool).allowCoreThreadTimeOut(true);<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>    return pool;<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>  }<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span><a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>  private void assertRefFileNameEqual(String familyName) throws IOException {<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>    Scan scan = new Scan();<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>    scan.addFamily(Bytes.toBytes(familyName));<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>    // Do not retrieve the mob data when scanning<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>    ResultScanner results = table.getScanner(scan);<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>    Path mobFamilyPath = MobUtils.getMobFamilyPath(TEST_UTIL.getConfiguration(),<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>        tableName, familyName);<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>    List&lt;Path&gt; actualFilePaths = new ArrayList&lt;&gt;();<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>    List&lt;Path&gt; expectFilePaths = new ArrayList&lt;&gt;();<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    for (Result res : results) {<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>      for (Cell cell : res.listCells()) {<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>        byte[] referenceValue = CellUtil.cloneValue(cell);<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>        String fileName = Bytes.toString(referenceValue, Bytes.SIZEOF_INT,<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>            referenceValue.length - Bytes.SIZEOF_INT);<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>        Path targetPath = new Path(mobFamilyPath, fileName);<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>        if(!actualFilePaths.contains(targetPath)) {<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>          actualFilePaths.add(targetPath);<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>        }<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>      }<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>    }<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>    results.close();<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>    if (fs.exists(mobFamilyPath)) {<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>      FileStatus[] files = fs.listStatus(mobFamilyPath);<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>      for (FileStatus file : files) {<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>        if (!StoreFileInfo.isDelFile(file.getPath())) {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>          expectFilePaths.add(file.getPath());<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>        }<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>      }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    }<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    Collections.sort(actualFilePaths);<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>    Collections.sort(expectFilePaths);<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>    assertEquals(expectFilePaths, actualFilePaths);<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>  }<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span><a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>  /**<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>   * Resets the configuration.<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>   */<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span>  private void resetConf() {<a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>    conf.setLong(MobConstants.MOB_COMPACTION_MERGEABLE_THRESHOLD,<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>      MobConstants.DEFAULT_MOB_COMPACTION_MERGEABLE_THRESHOLD);<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>    conf.setInt(MobConstants.MOB_COMPACTION_BATCH_SIZE,<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>      MobConstants.DEFAULT_MOB_COMPACTION_BATCH_SIZE);<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>  }<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span><a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>  /**<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>   * Verify mob partition policy compaction values.<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span>   */<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>  private void verifyPolicyValues() throws Exception {<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>    Get get = new Get(mobKey01);<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>    Result result = table.get(get);<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>        Bytes.toBytes(mobValue0)));<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span><a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    get = new Get(mobKey02);<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>    result = table.get(get);<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>        Bytes.toBytes(mobValue0)));<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span><a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>    get = new Get(mobKey03);<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>    result = table.get(get);<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>        Bytes.toBytes(mobValue0)));<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span><a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>    get = new Get(mobKey04);<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>    result = table.get(get);<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>        Bytes.toBytes(mobValue0)));<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>    get = new Get(mobKey05);<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>    result = table.get(get);<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>        Bytes.toBytes(mobValue0)));<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span><a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    get = new Get(mobKey06);<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>    result = table.get(get);<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>        Bytes.toBytes(mobValue0)));<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span><a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    get = new Get(mobKey1);<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>    result = table.get(get);<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>        Bytes.toBytes(mobValue1)));<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span><a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>    get = new Get(mobKey2);<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    result = table.get(get);<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>        Bytes.toBytes(mobValue2)));<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span><a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>    get = new Get(mobKey3);<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>    result = table.get(get);<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>        Bytes.toBytes(mobValue3)));<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span><a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>    get = new Get(mobKey4);<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>    result = table.get(get);<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>        Bytes.toBytes(mobValue4)));<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span><a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>    get = new Get(mobKey5);<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>    result = table.get(get);<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>        Bytes.toBytes(mobValue5)));<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span><a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    get = new Get(mobKey6);<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>    result = table.get(get);<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>        Bytes.toBytes(mobValue6)));<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span><a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>    get = new Get(mobKey7);<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>    result = table.get(get);<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>        Bytes.toBytes(mobValue7)));<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span><a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>    get = new Get(mobKey8);<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>    result = table.get(get);<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>        Bytes.toBytes(mobValue8)));<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  }<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span><a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>  private void commonPolicyTestLogic (final String tableNameAsString,<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>      final MobCompactPartitionPolicy pType, final boolean majorCompact,<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>      final int expectedFileNumbers, final String[] expectedFileNames,<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>      final boolean setupAndLoadData<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>      ) throws Exception {<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>    if (setupAndLoadData) {<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>      setUpForPolicyTest(tableNameAsString, pType);<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span><a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>      loadDataForPartitionPolicy(admin, bufMut, tableName);<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>    } else {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>      alterForPolicyTest(pType);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>    }<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>    if (majorCompact) {<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>      admin.majorCompact(tableName, hcd1.getName(), CompactType.MOB);<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>    } else {<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>      admin.compact(tableName, hcd1.getName(), CompactType.MOB);<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>    }<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span><a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>    waitUntilMobCompactionFinished(tableName);<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span><a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>    // Run cleaner to make sure that files in archive directory are cleaned up<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>    TEST_UTIL.getMiniHBaseCluster().getMaster().getHFileCleaner().choreForTesting();<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span><a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>    //check the number of files<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>    Path mobDirPath = MobUtils.getMobFamilyPath(conf, tableName, family1);<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>    FileStatus[] fileList = fs.listStatus(mobDirPath);<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span><a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>    assertTrue(fileList.length == expectedFileNumbers);<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span><a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>    // the file names are expected<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>    ArrayList&lt;String&gt; fileNames = new ArrayList&lt;&gt;(expectedFileNumbers);<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>    for (FileStatus file : fileList) {<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>      fileNames.add(MobFileName.getDateFromName(file.getPath().getName()));<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>    }<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>    int index = 0;<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>    for (String fileName : expectedFileNames) {<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>      index = fileNames.indexOf(fileName);<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>      assertTrue(index &gt;= 0);<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>      fileNames.remove(index);<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>    }<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span><a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>    // Check daily mob files are removed from the mobdir, and only weekly mob files are there.<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>    // Also check that there is no data loss.<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span><a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>    verifyPolicyValues();<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>  }<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span> }<a name="line.1215"></a>
+<span class="sourceLineNo">974</span>  /**<a name="line.974"></a>
+<span class="sourceLineNo">975</span>   * delete the row, family and cell to create the del file<a name="line.975"></a>
+<span class="sourceLineNo">976</span>   */<a name="line.976"></a>
+<span class="sourceLineNo">977</span>  private void createDelFile(Table table, TableName tableName, byte[] family, byte[] qf)<a name="line.977"></a>
+<span class="sourceLineNo">978</span>    throws IOException, InterruptedException {<a name="line.978"></a>
+<span class="sourceLineNo">979</span>    for (byte k0 : KEYS) {<a name="line.979"></a>
+<span class="sourceLineNo">980</span>      byte[] k = new byte[] { k0 };<a name="line.980"></a>
+<span class="sourceLineNo">981</span>      // delete a family<a name="line.981"></a>
+<span class="sourceLineNo">982</span>      byte[] key1 = Bytes.add(k, Bytes.toBytes(0));<a name="line.982"></a>
+<span class="sourceLineNo">983</span>      Delete delete1 = new Delete(key1);<a name="line.983"></a>
+<span class="sourceLineNo">984</span>      delete1.addFamily(family);<a name="line.984"></a>
+<span class="sourceLineNo">985</span>      table.delete(delete1);<a name="line.985"></a>
+<span class="sourceLineNo">986</span>      // delete one row<a name="line.986"></a>
+<span class="sourceLineNo">987</span>      byte[] key2 = Bytes.add(k, Bytes.toBytes(2));<a name="line.987"></a>
+<span class="sourceLineNo">988</span>      Delete delete2 = new Delete(key2);<a name="line.988"></a>
+<span class="sourceLineNo">989</span>      table.delete(delete2);<a name="line.989"></a>
+<span class="sourceLineNo">990</span>      // delete one cell<a name="line.990"></a>
+<span class="sourceLineNo">991</span>      byte[] key3 = Bytes.add(k, Bytes.toBytes(4));<a name="line.991"></a>
+<span class="sourceLineNo">992</span>      Delete delete3 = new Delete(key3);<a name="line.992"></a>
+<span class="sourceLineNo">993</span>      delete3.addColumn(family, qf);<a name="line.993"></a>
+<span class="sourceLineNo">994</span>      table.delete(delete3);<a name="line.994"></a>
+<span class="sourceLineNo">995</span>    }<a name="line.995"></a>
+<span class="sourceLineNo">996</span>    admin.flush(tableName);<a name="line.996"></a>
+<span class="sourceLineNo">997</span>    List&lt;HRegion&gt; regions = TEST_UTIL.getHBaseCluster().getRegions(tableName);<a name="line.997"></a>
+<span class="sourceLineNo">998</span>    for (HRegion region : regions) {<a name="line.998"></a>
+<span class="sourceLineNo">999</span>      region.waitForFlushesAndCompactions();<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>      region.compact(true);<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>    }<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>  }<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span>  /**<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>   * Creates the dummy data with a specific size.<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>   * @param size the size of value<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>   * @return the dummy data<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>   */<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span>  private byte[] makeDummyData(int size) {<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>    byte[] dummyData = new byte[size];<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>    new Random().nextBytes(dummyData);<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>    return dummyData;<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>  }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span><a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>  /**<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>   * Gets the split keys<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>   */<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>  private byte[][] getSplitKeys() {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>    byte[][] splitKeys = new byte[KEYS.length - 1][];<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>    for (int i = 0; i &lt; splitKeys.length; ++i) {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>      splitKeys[i] = new byte[] { KEYS[i + 1] };<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>    }<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>    return splitKeys;<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>  }<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span><a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>  private static ExecutorService createThreadPool(Configuration conf) {<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>    int maxThreads = 10;<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>    long keepAliveTime = 60;<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>    final SynchronousQueue&lt;Runnable&gt; queue = new SynchronousQueue&lt;&gt;();<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>    ThreadPoolExecutor pool = new ThreadPoolExecutor(1, maxThreads,<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>        keepAliveTime, TimeUnit.SECONDS, queue,<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>        Threads.newDaemonThreadFactory("MobFileCompactionChore"),<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>        new RejectedExecutionHandler() {<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>          @Override<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>          public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>            try {<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>              // waiting for a thread to pick up instead of throwing exceptions.<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>              queue.put(r);<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>            } catch (InterruptedException e) {<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>              throw new RejectedExecutionException(e);<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>            }<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>          }<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>        });<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>    ((ThreadPoolExecutor) pool).allowCoreThreadTimeOut(true);<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>    return pool;<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>  }<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span><a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>  private void assertRefFileNameEqual(String familyName) throws IOException {<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>    Scan scan = new Scan();<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>    scan.addFamily(Bytes.toBytes(familyName));<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>    // Do not retrieve the mob data when scanning<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>    scan.setAttribute(MobConstants.MOB_SCAN_RAW, Bytes.toBytes(Boolean.TRUE));<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>    ResultScanner results = table.getScanner(scan);<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>    Path mobFamilyPath = MobUtils.getMobFamilyPath(TEST_UTIL.getConfiguration(),<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>        tableName, familyName);<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>    List&lt;Path&gt; actualFilePaths = new ArrayList&lt;&gt;();<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>    List&lt;Path&gt; expectFilePaths = new ArrayList&lt;&gt;();<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>    for (Result res : results) {<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>      for (Cell cell : res.listCells()) {<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>        byte[] referenceValue = CellUtil.cloneValue(cell);<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>        String fileName = Bytes.toString(referenceValue, Bytes.SIZEOF_INT,<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>            referenceValue.length - Bytes.SIZEOF_INT);<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>        Path targetPath = new Path(mobFamilyPath, fileName);<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>        if(!actualFilePaths.contains(targetPath)) {<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>          actualFilePaths.add(targetPath);<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>        }<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>      }<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>    }<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>    results.close();<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>    if (fs.exists(mobFamilyPath)) {<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>      FileStatus[] files = fs.listStatus(mobFamilyPath);<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>      for (FileStatus file : files) {<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>        if (!StoreFileInfo.isDelFile(file.getPath())) {<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>          expectFilePaths.add(file.getPath());<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>    }<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>    Collections.sort(actualFilePaths);<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>    Collections.sort(expectFilePaths);<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>    assertEquals(expectFilePaths, actualFilePaths);<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>  }<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span><a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>  /**<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>   * Resets the configuration.<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>   */<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>  private void resetConf() {<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>    conf.setLong(MobConstants.MOB_COMPACTION_MERGEABLE_THRESHOLD,<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>      MobConstants.DEFAULT_MOB_COMPACTION_MERGEABLE_THRESHOLD);<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span>    conf.setInt(MobConstants.MOB_COMPACTION_BATCH_SIZE,<a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>      MobConstants.DEFAULT_MOB_COMPACTION_BATCH_SIZE);<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>  }<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span><a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>  /**<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>   * Verify mob partition policy compaction values.<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>   */<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>  private void verifyPolicyValues() throws Exception {<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>    Get get = new Get(mobKey01);<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>    Result result = table.get(get);<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>        Bytes.toBytes(mobValue0)));<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span><a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>    get = new Get(mobKey02);<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>    result = table.get(get);<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>        Bytes.toBytes(mobValue0)));<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span><a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>    get = new Get(mobKey03);<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>    result = table.get(get);<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span>        Bytes.toBytes(mobValue0)));<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span><a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>    get = new Get(mobKey04);<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>    result = table.get(get);<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>        Bytes.toBytes(mobValue0)));<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span><a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>    get = new Get(mobKey05);<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>    result = table.get(get);<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>        Bytes.toBytes(mobValue0)));<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span><a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>    get = new Get(mobKey06);<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>    result = table.get(get);<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>        Bytes.toBytes(mobValue0)));<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span><a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>    get = new Get(mobKey1);<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>    result = table.get(get);<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>        Bytes.toBytes(mobValue1)));<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span><a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>    get = new Get(mobKey2);<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>    result = table.get(get);<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>        Bytes.toBytes(mobValue2)));<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span><a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>    get = new Get(mobKey3);<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>    result = table.get(get);<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>        Bytes.toBytes(mobValue3)));<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span><a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>    get = new Get(mobKey4);<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>    result = table.get(get);<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>        Bytes.toBytes(mobValue4)));<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span><a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>    get = new Get(mobKey5);<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>    result = table.get(get);<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>        Bytes.toBytes(mobValue5)));<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span><a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>    get = new Get(mobKey6);<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    result = table.get(get);<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>        Bytes.toBytes(mobValue6)));<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>    get = new Get(mobKey7);<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>    result = table.get(get);<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>        Bytes.toBytes(mobValue7)));<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span><a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>    get = new Get(mobKey8);<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>    result = table.get(get);<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>    assertTrue(Arrays.equals(result.getValue(Bytes.toBytes(family1), Bytes.toBytes(qf1)),<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>        Bytes.toBytes(mobValue8)));<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>  }<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span><a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>  private void commonPolicyTestLogic (final String tableNameAsString,<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>      final MobCompactPartitionPolicy pType, final boolean majorCompact,<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>      final int expectedFileNumbers, final String[] expectedFileNames,<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>      final boolean setupAndLoadData<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>      ) throws Exception {<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>    if (setupAndLoadData) {<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>      setUpForPolicyTest(tableNameAsString, pType);<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span><a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>      loadDataForPartitionPolicy(admin, bufMut, tableName);<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>    } else {<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>      alterForPolicyTest(pType);<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>    }<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span><a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>    if (majorCompact) {<a name="

<TRUNCATED>

[15/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html
index 47b727a..d615cc5 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html
@@ -1181,16 +1181,13 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Intern
 <ul class="blockList">
 <li class="blockList">
 <h4>preGetOp</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.322">preGetOp</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.319">preGetOp</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                       <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
                       <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;result)
                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before the client performs a Get
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>c</code> - the environment provided by the region server</dd>
@@ -1209,15 +1206,12 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Intern
 <ul class="blockList">
 <li class="blockList">
 <h4>postGetOp</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.337">postGetOp</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.331">postGetOp</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;result)
                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after the client performs a Get
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'result' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1236,16 +1230,13 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Intern
 <ul class="blockList">
 <li class="blockList">
 <h4>preExists</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.352">preExists</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.343">preExists</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                           <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
                           boolean&nbsp;exists)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before the client tests for existence using a Get.
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>c</code> - the environment provided by the region server</dd>
@@ -1264,14 +1255,11 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Intern
 <ul class="blockList">
 <li class="blockList">
 <h4>postExists</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.367">postExists</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.355">postExists</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                            <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
                            boolean&nbsp;exists)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Called after the client tests for existence using a Get.
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+<div class="block">Called after the client tests for existence using a Get.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>c</code> - the environment provided by the region server</dd>
@@ -1290,7 +1278,7 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Intern
 <ul class="blockList">
 <li class="blockList">
 <h4>prePut</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.387">prePut</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.372">prePut</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                     <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
                     <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edit,
                     <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)
@@ -1299,9 +1287,6 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Intern
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1321,16 +1306,13 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Intern
 <ul class="blockList">
 <li class="blockList">
 <h4>postPut</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.403">postPut</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.385">postPut</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                      <a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put,
                      <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edit,
                      <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after the client stores a value.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1350,7 +1332,7 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Intern
 <ul class="blockList">
 <li class="blockList">
 <h4>preDelete</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.421">preDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.400">preDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete,
                        <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edit,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)
@@ -1359,9 +1341,6 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Intern
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1382,7 +1361,7 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Intern
 <li class="blockList">
 <h4>prePrepareTimeStampForDeleteVersion</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.440">prePrepareTimeStampForDeleteVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.417">prePrepareTimeStampForDeleteVersion</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                                              <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                                              <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                                              byte[]&nbsp;byteNow,
@@ -1392,9 +1371,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
  with something that doesn't expose IntefaceAudience.Private classes.</span></div>
 <div class="block">Called before the server updates the timestamp for version delete with latest timestamp.
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>c</code> - the environment provided by the region server</dd>
@@ -1414,16 +1391,13 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postDelete</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.456">postDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.430">postDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                         <a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete,
                         <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;edit,
                         <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after the client deletes a value.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1443,7 +1417,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preBatchMutate</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.471">preBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.445">preBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                             <a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This will be called for every batch mutation operation happening at the server. This will be
@@ -1469,7 +1443,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postBatchMutate</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.488">postBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.462">postBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This will be called after applying a batch of Mutations on a region. The Mutations are added to
@@ -1496,7 +1470,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postStartRegionOperation</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.497">postStartRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.471">postStartRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                       <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;operation)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This will be called for region operations where read lock is acquired in
@@ -1516,7 +1490,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postCloseRegionOperation</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.505">postCloseRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.479">postCloseRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                       <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;operation)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after releasing read lock in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#closeRegionOperation--"><code>Region.closeRegionOperation()</code></a>.</div>
@@ -1535,7 +1509,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postBatchMutateIndispensably</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.518">postBatchMutateIndispensably</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.492">postBatchMutateIndispensably</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                           <a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                           boolean&nbsp;success)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1560,7 +1534,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preCheckAndPut</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.542">preCheckAndPut</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.513">preCheckAndPut</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                byte[]&nbsp;row,
                                byte[]&nbsp;family,
                                byte[]&nbsp;qualifier,
@@ -1573,9 +1547,6 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1602,7 +1573,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preCheckAndPutAfterRowLock</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.573">preCheckAndPutAfterRowLock</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.541">preCheckAndPutAfterRowLock</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                            byte[]&nbsp;row,
                                            byte[]&nbsp;family,
                                            byte[]&nbsp;qualifier,
@@ -1619,9 +1590,6 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1648,7 +1616,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postCheckAndPut</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.597">postCheckAndPut</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.562">postCheckAndPut</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                 byte[]&nbsp;row,
                                 byte[]&nbsp;family,
                                 byte[]&nbsp;qualifier,
@@ -1659,9 +1627,6 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after checkAndPut
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'put' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1687,7 +1652,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preCheckAndDelete</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.623">preCheckAndDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.585">preCheckAndDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                   byte[]&nbsp;row,
                                   byte[]&nbsp;family,
                                   byte[]&nbsp;qualifier,
@@ -1700,9 +1665,6 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1728,7 +1690,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preCheckAndDeleteAfterRowLock</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.653">preCheckAndDeleteAfterRowLock</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.612">preCheckAndDeleteAfterRowLock</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                               byte[]&nbsp;row,
                                               byte[]&nbsp;family,
                                               byte[]&nbsp;qualifier,
@@ -1745,9 +1707,6 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1773,7 +1732,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postCheckAndDelete</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.677">postCheckAndDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.633">postCheckAndDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                    byte[]&nbsp;row,
                                    byte[]&nbsp;family,
                                    byte[]&nbsp;qualifier,
@@ -1784,9 +1743,6 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after checkAndDelete
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'delete' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1812,16 +1768,13 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preAppend</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.697">preAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.650">preAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                          <a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)
                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before Append.
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1841,7 +1794,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preAppendAfterRowLock</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.720">preAppendAfterRowLock</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.670">preAppendAfterRowLock</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                      <a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)
                               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before Append but after acquiring rowlock.
@@ -1852,9 +1805,6 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1874,15 +1824,12 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postAppend</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.738">postAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.685">postAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                           <a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append,
                           <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result)
                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after Append
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'append' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1903,16 +1850,13 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preIncrement</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.757">preIncrement</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.701">preIncrement</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                             <a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before Increment.
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1932,7 +1876,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preIncrementAfterRowLock</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.783">preIncrementAfterRowLock</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.725">preIncrementAfterRowLock</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                         <a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)
                                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before Increment but after acquiring rowlock.
@@ -1943,8 +1887,6 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained coprocessors
- <p>
  Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1965,15 +1907,12 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postIncrement</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.801">postIncrement</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.740">postIncrement</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                              <a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment,
                              <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after increment
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells in 'increment' beyond the life of this invocation.
  If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -1994,14 +1933,11 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preScannerOpen</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.817">preScannerOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.753">preScannerOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                             <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before the client opens a new scanner.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -2019,15 +1955,12 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postScannerOpen</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.834">postScannerOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.767">postScannerOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                       <a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                       <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;s)
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after the client opens a new scanner.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -2048,7 +1981,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preScannerNext</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.858">preScannerNext</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.788">preScannerNext</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s,
                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;result,
                                int&nbsp;limit,
@@ -2058,9 +1991,6 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
  <p>
  Call CoprocessorEnvironment#bypass to skip default actions
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -2085,7 +2015,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postScannerNext</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.878">postScannerNext</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.805">postScannerNext</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s,
                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;result,
                                 int&nbsp;limit,
@@ -2093,9 +2023,6 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after the client asks for the next row on a scanner.
  <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors
- <p>
  Note: Do not retain references to any Cells returned by scanner, beyond the life of this
  invocation. If need a Cell reference for later use, copy the cell and use that.</div>
 <dl>
@@ -2118,7 +2045,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postScannerFilterRow</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.904">postScannerFilterRow</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.831">postScannerFilterRow</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s,
                                      <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;curRowCell,
                                      boolean&nbsp;hasMore)
@@ -2156,15 +2083,12 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preScannerClose</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.919">preScannerClose</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.843">preScannerClose</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;c,
                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s)
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before the client closes a scanner.
  <p>
- Call CoprocessorEnvironment#bypass to skip default actions
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+ Call CoprocessorEnvironment#bypass to skip default actions</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>c</code> - the environment provided by the region server</dd>
@@ -2180,13 +2104,10 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postScannerClose</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.930">postScannerClose</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.851">postScannerClose</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">InternalScanner</a>&nbsp;s)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Called after the client closes a scanner.
- <p>
- Call CoprocessorEnvironment#complete to skip any subsequent chained
- coprocessors</div>
+<div class="block">Called after the client closes a scanner.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>ctx</code> - the environment provided by the region server</dd>
@@ -2202,7 +2123,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preStoreScannerOpen</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.951">preStoreScannerOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.872">preStoreScannerOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                  <a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store,
                                  <a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a>&nbsp;options)
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2236,7 +2157,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preReplayWALs</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.963">preReplayWALs</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.884">preReplayWALs</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                            <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                            org.apache.hadoop.fs.Path&nbsp;edits)
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2259,7 +2180,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postReplayWALs</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.972">postReplayWALs</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.893">postReplayWALs</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                             <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                             org.apache.hadoop.fs.Path&nbsp;edits)
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2281,7 +2202,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <li class="blockList">
 <h4>preWALRestore</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.985">preWALRestore</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.906">preWALRestore</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                        <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                        <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                                        <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;logEdit)
@@ -2307,7 +2228,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <li class="blockList">
 <h4>postWALRestore</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.998">postWALRestore</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.919">postWALRestore</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                         <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                         <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;logKey,
                                         <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;logEdit)
@@ -2332,7 +2253,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preBulkLoadHFile</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.1009">preBulkLoadHFile</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.930">preBulkLoadHFile</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;familyPaths)
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called before bulkLoadHFile. Users can create a StoreFile instance to
@@ -2353,7 +2274,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>preCommitStoreFile</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.1020">preCommitStoreFile</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.941">preCommitStoreFile</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                 byte[]&nbsp;family,
                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path&gt;&gt;&nbsp;pairs)
                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -2375,7 +2296,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postCommitStoreFile</h4>
-<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.1031">postCommitStoreFile</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.952">postCommitStoreFile</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                  byte[]&nbsp;family,
                                  org.apache.hadoop.fs.Path&nbsp;srcPath,
                                  org.apache.hadoop.fs.Path&nbsp;dstPath)
@@ -2398,7 +2319,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>postBulkLoadHFile</h4>
-<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.1043">postBulkLoadHFile</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.964">postBulkLoadHFile</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;stagingFamilyPaths,
                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;finalPaths,
                                   boolean&nbsp;hasLoaded)
@@ -2424,7 +2345,7 @@ default&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <li class="blockList">
 <h4>preStoreFileReaderOpen</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileReader.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileReader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.1069">preStoreFileReaderOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileReader.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileReader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.990">preStoreFileReaderOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                                            org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                            org.apache.hadoop.fs.Path&nbsp;p,
                                                            <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html" title="class in org.apache.hadoop.hbase.io">FSDataInputStreamWrapper</a>&nbsp;in,
@@ -2462,7 +2383,7 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreF
 <li class="blockList">
 <h4>postStoreFileReaderOpen</h4>
 <pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileReader.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileReader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.1092">postStoreFileReaderOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileReader.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileReader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.1013">postStoreFileReaderOpen</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
                                                             org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                             org.apache.hadoop.fs.Path&nbsp;p,
                                                             <a href="../../../../../org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.html" title="class in org.apache.hadoop.hbase.io">FSDataInputStreamWrapper</a>&nbsp;in,
@@ -2496,7 +2417,7 @@ default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreF
 <ul class="blockList">
 <li class="blockList">
 <h4>postMutationBeforeWAL</h4>
-<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.1110">postMutationBeforeWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ObserverContext.html" title="interface in org.apache.hadoop.hbase.coprocessor">ObserverContext</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a>&gt;&nbsp;ctx,
+<pre>default&nbsp;<a href="../../../../../org/apache/hadoop/hb

<TRUNCATED>

[06/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/index.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/index.html
index dc115d0..4e482bd 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/index.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/integration.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/integration.html
index b3fa259..6632ba9 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/integration.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
index 2759c9b..a9230ae 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/license.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/license.html
index f60ec63..6a8dd25 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/license.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/mail-lists.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
index 98efba1..bb635cd 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugin-management.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
index adab0ff..478661e 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugins.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugins.html
index 4111abc..9690af2 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/plugins.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -226,7 +226,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-info.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-info.html
index e0c7e4a..a3487c0 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-reports.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-reports.html
index c03c4d4..99f1b1d 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-reports.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -128,7 +128,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-summary.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-summary.html
index c526f8b..14b4740 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/project-summary.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -166,7 +166,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/source-repository.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/source-repository.html
index 9d8382f..5c21143 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/source-repository.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/team-list.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/team-list.html
index 2ec9474..99bf677 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/team-list.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -547,7 +547,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/index.html b/hbase-build-configuration/hbase-archetypes/index.html
index 727fdd5..e205a42 100644
--- a/hbase-build-configuration/hbase-archetypes/index.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -135,7 +135,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/integration.html b/hbase-build-configuration/hbase-archetypes/integration.html
index 1f2191a..8770cd3 100644
--- a/hbase-build-configuration/hbase-archetypes/integration.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/issue-tracking.html b/hbase-build-configuration/hbase-archetypes/issue-tracking.html
index b03085c..8b246ae 100644
--- a/hbase-build-configuration/hbase-archetypes/issue-tracking.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/license.html b/hbase-build-configuration/hbase-archetypes/license.html
index e58ac7d..39234d8 100644
--- a/hbase-build-configuration/hbase-archetypes/license.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/mail-lists.html b/hbase-build-configuration/hbase-archetypes/mail-lists.html
index ac7cc1a..9db4b8f 100644
--- a/hbase-build-configuration/hbase-archetypes/mail-lists.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/plugin-management.html b/hbase-build-configuration/hbase-archetypes/plugin-management.html
index 3cbe90d..4893dee 100644
--- a/hbase-build-configuration/hbase-archetypes/plugin-management.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/plugins.html b/hbase-build-configuration/hbase-archetypes/plugins.html
index fe4b4fb..3bea3f3 100644
--- a/hbase-build-configuration/hbase-archetypes/plugins.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -214,7 +214,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/project-info.html b/hbase-build-configuration/hbase-archetypes/project-info.html
index 86c6f0a..028b8e6 100644
--- a/hbase-build-configuration/hbase-archetypes/project-info.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/project-summary.html b/hbase-build-configuration/hbase-archetypes/project-summary.html
index 7fed8e5..4c32070 100644
--- a/hbase-build-configuration/hbase-archetypes/project-summary.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -163,7 +163,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/source-repository.html b/hbase-build-configuration/hbase-archetypes/source-repository.html
index 0e28bfe..eba510f 100644
--- a/hbase-build-configuration/hbase-archetypes/source-repository.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/team-list.html b/hbase-build-configuration/hbase-archetypes/team-list.html
index 4b2f4af..cb3c2b1 100644
--- a/hbase-build-configuration/hbase-archetypes/team-list.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -547,7 +547,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/checkstyle.html b/hbase-build-configuration/hbase-spark/checkstyle.html
index 76df7a1..e79a512 100644
--- a/hbase-build-configuration/hbase-spark/checkstyle.html
+++ b/hbase-build-configuration/hbase-spark/checkstyle.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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -517,7 +517,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/dependencies.html b/hbase-build-configuration/hbase-spark/dependencies.html
index 599b657..47ce1dd 100644
--- a/hbase-build-configuration/hbase-spark/dependencies.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -5666,7 +5666,7 @@ file comparators, endian transformation classes, and much more.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/dependency-convergence.html b/hbase-build-configuration/hbase-spark/dependency-convergence.html
index 9342426..5b4f4a4 100644
--- a/hbase-build-configuration/hbase-spark/dependency-convergence.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -838,7 +838,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/dependency-info.html b/hbase-build-configuration/hbase-spark/dependency-info.html
index 160cf28..5093e1e 100644
--- a/hbase-build-configuration/hbase-spark/dependency-info.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -147,7 +147,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/dependency-management.html b/hbase-build-configuration/hbase-spark/dependency-management.html
index 54dd499..50679ce 100644
--- a/hbase-build-configuration/hbase-spark/dependency-management.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -804,7 +804,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/index.html b/hbase-build-configuration/hbase-spark/index.html
index 4c48969..f9c3564 100644
--- a/hbase-build-configuration/hbase-spark/index.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/integration.html b/hbase-build-configuration/hbase-spark/integration.html
index 9f0794f..4f7c920 100644
--- a/hbase-build-configuration/hbase-spark/integration.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/issue-tracking.html b/hbase-build-configuration/hbase-spark/issue-tracking.html
index 65d0928..abb4eee 100644
--- a/hbase-build-configuration/hbase-spark/issue-tracking.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/license.html b/hbase-build-configuration/hbase-spark/license.html
index a3af196..abc53f3 100644
--- a/hbase-build-configuration/hbase-spark/license.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/mail-lists.html b/hbase-build-configuration/hbase-spark/mail-lists.html
index de2883a..2630197 100644
--- a/hbase-build-configuration/hbase-spark/mail-lists.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/plugin-management.html b/hbase-build-configuration/hbase-spark/plugin-management.html
index dd73100..c51df27 100644
--- a/hbase-build-configuration/hbase-spark/plugin-management.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/plugins.html b/hbase-build-configuration/hbase-spark/plugins.html
index ab7835f..1f5b175 100644
--- a/hbase-build-configuration/hbase-spark/plugins.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -238,7 +238,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/project-info.html b/hbase-build-configuration/hbase-spark/project-info.html
index 018d6b7..25f760e 100644
--- a/hbase-build-configuration/hbase-spark/project-info.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/project-reports.html b/hbase-build-configuration/hbase-spark/project-reports.html
index cec70a5..681ef83 100644
--- a/hbase-build-configuration/hbase-spark/project-reports.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -131,7 +131,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/project-summary.html b/hbase-build-configuration/hbase-spark/project-summary.html
index 4492b43..a7e021c 100644
--- a/hbase-build-configuration/hbase-spark/project-summary.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -166,7 +166,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/source-repository.html b/hbase-build-configuration/hbase-spark/source-repository.html
index e43bb8b..09dfbe4 100644
--- a/hbase-build-configuration/hbase-spark/source-repository.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-spark/team-list.html b/hbase-build-configuration/hbase-spark/team-list.html
index 6f25ba4..b303166 100644
--- a/hbase-build-configuration/hbase-spark/team-list.html
+++ b/hbase-build-configuration/hbase-spark/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Spark &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -547,7 +547,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/index.html b/hbase-build-configuration/index.html
index 4a560c6..ac7ca1a 100644
--- a/hbase-build-configuration/index.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/integration.html b/hbase-build-configuration/integration.html
index 6f806b9..d6a87a1 100644
--- a/hbase-build-configuration/integration.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/issue-tracking.html b/hbase-build-configuration/issue-tracking.html
index d2e161d..4343085 100644
--- a/hbase-build-configuration/issue-tracking.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/license.html b/hbase-build-configuration/license.html
index c5100d8..78f6da2 100644
--- a/hbase-build-configuration/license.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/mail-lists.html b/hbase-build-configuration/mail-lists.html
index 03c4c3d..8297488 100644
--- a/hbase-build-configuration/mail-lists.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/plugin-management.html b/hbase-build-configuration/plugin-management.html
index 58f9225..c5f4b52 100644
--- a/hbase-build-configuration/plugin-management.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/plugins.html b/hbase-build-configuration/plugins.html
index a7a3bae..bfc1bf6 100644
--- a/hbase-build-configuration/plugins.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -214,7 +214,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/project-info.html b/hbase-build-configuration/project-info.html
index be546a3..9e5f5fe 100644
--- a/hbase-build-configuration/project-info.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/project-summary.html b/hbase-build-configuration/project-summary.html
index 2d625da..0d90759 100644
--- a/hbase-build-configuration/project-summary.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -163,7 +163,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/source-repository.html b/hbase-build-configuration/source-repository.html
index b961de0..99bd0a0 100644
--- a/hbase-build-configuration/source-repository.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/team-list.html b/hbase-build-configuration/team-list.html
index 35df667..09d259e 100644
--- a/hbase-build-configuration/team-list.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -547,7 +547,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/checkstyle.html b/hbase-shaded-check-invariants/checkstyle.html
index 7e6a5a6..c264e01 100644
--- a/hbase-shaded-check-invariants/checkstyle.html
+++ b/hbase-shaded-check-invariants/checkstyle.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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -150,7 +150,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/dependencies.html b/hbase-shaded-check-invariants/dependencies.html
index b90c4bb..fc12635 100644
--- a/hbase-shaded-check-invariants/dependencies.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -2883,7 +2883,7 @@ Jackson JSON processor's data binding functionality.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/dependency-convergence.html b/hbase-shaded-check-invariants/dependency-convergence.html
index b2717eb..7a2b58f 100644
--- a/hbase-shaded-check-invariants/dependency-convergence.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -838,7 +838,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/dependency-info.html b/hbase-shaded-check-invariants/dependency-info.html
index b3b330a..9bd156d 100644
--- a/hbase-shaded-check-invariants/dependency-info.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -148,7 +148,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/dependency-management.html b/hbase-shaded-check-invariants/dependency-management.html
index 2f79fcb..76dcf2d 100644
--- a/hbase-shaded-check-invariants/dependency-management.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -804,7 +804,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/index.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/index.html b/hbase-shaded-check-invariants/index.html
index 16118ba..bcc1e21c 100644
--- a/hbase-shaded-check-invariants/index.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -122,7 +122,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/integration.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/integration.html b/hbase-shaded-check-invariants/integration.html
index 779cabd..ebe7248 100644
--- a/hbase-shaded-check-invariants/integration.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/issue-tracking.html b/hbase-shaded-check-invariants/issue-tracking.html
index e811b0c..d82b12c 100644
--- a/hbase-shaded-check-invariants/issue-tracking.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/license.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/license.html b/hbase-shaded-check-invariants/license.html
index 6eddf51..8f6bf99 100644
--- a/hbase-shaded-check-invariants/license.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/mail-lists.html b/hbase-shaded-check-invariants/mail-lists.html
index b5793f9..a9023df 100644
--- a/hbase-shaded-check-invariants/mail-lists.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/plugin-management.html b/hbase-shaded-check-invariants/plugin-management.html
index ccc0a70..c67ec76 100644
--- a/hbase-shaded-check-invariants/plugin-management.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/plugins.html b/hbase-shaded-check-invariants/plugins.html
index 2da74ab..b17c27c 100644
--- a/hbase-shaded-check-invariants/plugins.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -218,7 +218,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/project-info.html b/hbase-shaded-check-invariants/project-info.html
index 6ab7a33..38e859c 100644
--- a/hbase-shaded-check-invariants/project-info.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -170,7 +170,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-shaded-check-invariants/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-shaded-check-invariants/project-reports.html b/hbase-shaded-check-invariants/project-reports.html
index da8ec0b..4fe0dbb 100644
--- a/hbase-shaded-check-invariants/project-reports.html
+++ b/hbase-shaded-check-invariants/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase Shaded Packaging Invariants &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -128,7 +128,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 


[07/19] hbase-site git commit: Published site at .

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index c31cd8f..7423cc4 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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -336,7 +336,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: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/checkstyle.html b/hbase-annotations/checkstyle.html
index ee070ed..92a0e9f 100644
--- a/hbase-annotations/checkstyle.html
+++ b/hbase-annotations/checkstyle.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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -178,7 +178,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index c647f30..7bea7b9 100644
--- a/hbase-annotations/dependencies.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -272,7 +272,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index 26213f0..f2c63ea 100644
--- a/hbase-annotations/dependency-convergence.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -838,7 +838,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index f92af1a..6c89619 100644
--- a/hbase-annotations/dependency-info.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -147,7 +147,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-management.html b/hbase-annotations/dependency-management.html
index d584ff2..068622d 100644
--- a/hbase-annotations/dependency-management.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -804,7 +804,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/index.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/index.html b/hbase-annotations/index.html
index 552941b..2f68fa1 100644
--- a/hbase-annotations/index.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/integration.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/integration.html b/hbase-annotations/integration.html
index ed39184..6a9fdd6 100644
--- a/hbase-annotations/integration.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/issue-tracking.html b/hbase-annotations/issue-tracking.html
index 5a2f1f1..3f56bfa 100644
--- a/hbase-annotations/issue-tracking.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/license.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/license.html b/hbase-annotations/license.html
index 81b8aca..6011cdd 100644
--- a/hbase-annotations/license.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/mail-lists.html b/hbase-annotations/mail-lists.html
index 349b0d4..fedbb7f 100644
--- a/hbase-annotations/mail-lists.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugin-management.html b/hbase-annotations/plugin-management.html
index 322950d..97536c0 100644
--- a/hbase-annotations/plugin-management.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugins.html b/hbase-annotations/plugins.html
index d351915..9240a7e 100644
--- a/hbase-annotations/plugins.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -222,7 +222,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-info.html b/hbase-annotations/project-info.html
index a2396c6..7d8202c 100644
--- a/hbase-annotations/project-info.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-reports.html b/hbase-annotations/project-reports.html
index 892d2f7..2de208b 100644
--- a/hbase-annotations/project-reports.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -128,7 +128,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-summary.html b/hbase-annotations/project-summary.html
index 6fd7b57..2798b61 100644
--- a/hbase-annotations/project-summary.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -166,7 +166,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/source-repository.html b/hbase-annotations/source-repository.html
index 239101b..a1b339c 100644
--- a/hbase-annotations/source-repository.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index 7c7bb56..dee5ba7 100644
--- a/hbase-annotations/team-list.html
+++ b/hbase-annotations/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Annotations &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -547,7 +547,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/dependencies.html b/hbase-build-configuration/dependencies.html
index 5ec0f19..00c9dc2 100644
--- a/hbase-build-configuration/dependencies.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -330,7 +330,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/dependency-convergence.html b/hbase-build-configuration/dependency-convergence.html
index b54606e..4811e1a 100644
--- a/hbase-build-configuration/dependency-convergence.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -838,7 +838,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/dependency-info.html b/hbase-build-configuration/dependency-info.html
index 80dea22..2d1efc0 100644
--- a/hbase-build-configuration/dependency-info.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -148,7 +148,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/dependency-management.html b/hbase-build-configuration/dependency-management.html
index b827844..5600085 100644
--- a/hbase-build-configuration/dependency-management.html
+++ b/hbase-build-configuration/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Build Configuration &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -804,7 +804,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/dependencies.html b/hbase-build-configuration/hbase-archetypes/dependencies.html
index fe310ee..3a96f60 100644
--- a/hbase-build-configuration/hbase-archetypes/dependencies.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -330,7 +330,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/dependency-convergence.html b/hbase-build-configuration/hbase-archetypes/dependency-convergence.html
index 5b954dc..88addc4 100644
--- a/hbase-build-configuration/hbase-archetypes/dependency-convergence.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -838,7 +838,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/dependency-info.html b/hbase-build-configuration/hbase-archetypes/dependency-info.html
index 55615ce..de1d75a 100644
--- a/hbase-build-configuration/hbase-archetypes/dependency-info.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -148,7 +148,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/dependency-management.html b/hbase-build-configuration/hbase-archetypes/dependency-management.html
index fae123c..43bbf19 100644
--- a/hbase-build-configuration/hbase-archetypes/dependency-management.html
+++ b/hbase-build-configuration/hbase-archetypes/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetypes &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -804,7 +804,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependencies.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependencies.html
index 0cf33ee..f681a8c 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependencies.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -330,7 +330,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
index 1138073..41bbe9e 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -838,7 +838,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-info.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-info.html
index 53af20d..e95f587 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -148,7 +148,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-management.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-management.html
index 290d5a6..89fcbcc 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/dependency-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -804,7 +804,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/index.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/index.html
index 48a05c8..452f72e 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/index.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/integration.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/integration.html
index ea665c8..fd113a9 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/integration.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/issue-tracking.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
index a4a2e16..8743e68 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/license.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/license.html
index a4e7445..ef9fc25 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/license.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html
index 913802c..c12ca3e 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html
index 6ae47eb..c947b8e 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html
index 18353f2..c1eee96 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -218,7 +218,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html
index fb395dc..891b5d7 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html
index d111391..f5af116 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -163,7 +163,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/source-repository.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/source-repository.html
index 31a4dfc..67c21d1 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/source-repository.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/team-list.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/team-list.html
index ead49e1..eab38c9 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/team-list.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Archetype builder &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -547,7 +547,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/checkstyle.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/checkstyle.html
index 0a39209..ead3d9b 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/checkstyle.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/checkstyle.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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -244,7 +244,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependencies.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependencies.html
index 6ef7a28..cef4926 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependencies.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -4144,7 +4144,7 @@ The following provides more details on the included cryptographic software:
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-convergence.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-convergence.html
index b71e6d8..0e5df17 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-convergence.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -838,7 +838,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-info.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-info.html
index c2f76ac..305b5cf 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -147,7 +147,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-management.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-management.html
index 26f6d74..d941ad0 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/dependency-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -804,7 +804,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/index.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/index.html
index 727a217..f8348c7 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/index.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; About</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -119,7 +119,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/integration.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/integration.html
index 2887a88..4e8a78f 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/integration.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -126,7 +126,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/issue-tracking.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/issue-tracking.html
index e437f66..fed234e 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/issue-tracking.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -123,7 +123,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/license.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/license.html
index cf29a35..d46bfab 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/license.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -326,7 +326,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/mail-lists.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/mail-lists.html
index 0d54696..3e33261 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/mail-lists.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -176,7 +176,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugin-management.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugin-management.html
index 45c6aec..c84c063 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugin-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -271,7 +271,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugins.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugins.html
index c14871b..54ce224 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/plugins.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -226,7 +226,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-info.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-info.html
index 92f4558..c355b8b 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -167,7 +167,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-reports.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-reports.html
index 8e9cd69..aaa89b5 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-reports.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -128,7 +128,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-summary.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-summary.html
index d4861fd..a3e0353 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/project-summary.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -166,7 +166,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/source-repository.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/source-repository.html
index 640d1f2..72384a6 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/source-repository.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -134,7 +134,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-client-project/team-list.html b/hbase-build-configuration/hbase-archetypes/hbase-client-project/team-list.html
index 1099dea..efba6f8 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-client-project/team-list.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-client archetype &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -547,7 +547,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/checkstyle.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
index a40135e..aef12ce 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/checkstyle.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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -244,7 +244,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependencies.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependencies.html
index a5c4bea..57a2a1e 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependencies.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -4169,7 +4169,7 @@ built on Jackson JSON processor</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
index 4730f9d..f8a0fe5 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -838,7 +838,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-info.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
index 368951a..5cc01ca 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -147,7 +147,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2424a45f/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-management.html b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
index 2b4580a..38ccff0 100644
--- a/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
+++ b/hbase-build-configuration/hbase-archetypes/hbase-shaded-client-project/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="20171118" />
+    <meta name="Date-Revision-yyyymmdd" content="20171119" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase - Exemplar for hbase-shaded-client archetype &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -804,7 +804,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-11-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-11-19</li>
             </p>
                 </div>