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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html
index fcd2c2c..98653f0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HStore.StoreFlusherImpl.html
@@ -2613,127 +2613,132 @@
 <span class="sourceLineNo">2605</span>            filesToRemove.add(file);<a name="line.2605"></a>
 <span class="sourceLineNo">2606</span>            // Only add the length if we successfully added the file to `filesToRemove`<a name="line.2606"></a>
 <span class="sourceLineNo">2607</span>            storeFileSizes.add(length);<a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>          }<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>        } catch (Exception e) {<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span>          LOG.error("Exception while trying to close the compacted store file {}",<a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>            file.getPath(), e);<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>        }<a name="line.2612"></a>
-<span class="sourceLineNo">2613</span>      }<a name="line.2613"></a>
-<span class="sourceLineNo">2614</span>    }<a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>    if (this.isPrimaryReplicaStore()) {<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span>      // Only the primary region is allowed to move the file to archive.<a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>      // The secondary region does not move the files to archive. Any active reads from<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>      // the secondary region will still work because the file as such has active readers on it.<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span>      if (!filesToRemove.isEmpty()) {<a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>        LOG.debug("Moving the files {} to archive", filesToRemove);<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>        // Only if this is successful it has to be removed<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>        try {<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>          this.fs.removeStoreFiles(this.getColumnFamilyDescriptor().getNameAsString(), filesToRemove);<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span>        } catch (FailedArchiveException fae) {<a name="line.2624"></a>
-<span class="sourceLineNo">2625</span>          // Even if archiving some files failed, we still need to clear out any of the<a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>          // files which were successfully archived.  Otherwise we will receive a<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>          // FileNotFoundException when we attempt to re-archive them in the next go around.<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>          Collection&lt;Path&gt; failedFiles = fae.getFailedFiles();<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span>          Iterator&lt;HStoreFile&gt; iter = filesToRemove.iterator();<a name="line.2629"></a>
-<span class="sourceLineNo">2630</span>          Iterator&lt;Long&gt; sizeIter = storeFileSizes.iterator();<a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>          while (iter.hasNext()) {<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>            sizeIter.next();<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>            if (failedFiles.contains(iter.next().getPath())) {<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span>              iter.remove();<a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>              sizeIter.remove();<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>            }<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>          }<a name="line.2637"></a>
-<span class="sourceLineNo">2638</span>          if (!filesToRemove.isEmpty()) {<a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>            clearCompactedfiles(filesToRemove);<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>          }<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>          throw fae;<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>        }<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>      }<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span>    }<a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>    if (!filesToRemove.isEmpty()) {<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>      // Clear the compactedfiles from the store file manager<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>      clearCompactedfiles(filesToRemove);<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>      // Try to send report of this archival to the Master for updating quota usage faster<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>      reportArchivedFilesForQuota(filesToRemove, storeFileSizes);<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span>    }<a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>  }<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span><a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>  /**<a name="line.2653"></a>
-<span class="sourceLineNo">2654</span>   * Computes the length of a store file without succumbing to any errors along the way. If an<a name="line.2654"></a>
-<span class="sourceLineNo">2655</span>   * error is encountered, the implementation returns {@code 0} instead of the actual size.<a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>   *<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>   * @param file The file to compute the size of.<a name="line.2657"></a>
-<span class="sourceLineNo">2658</span>   * @return The size in bytes of the provided {@code file}.<a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>   */<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>  long getStoreFileSize(HStoreFile file) {<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>    long length = 0;<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span>    try {<a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>      file.initReader();<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>      length = file.getReader().length();<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>    } catch (IOException e) {<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>      LOG.trace("Failed to open reader when trying to compute store file size, ignoring", e);<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span>    } finally {<a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>      try {<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>        file.closeStoreFile(<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>            file.getCacheConf() != null ? file.getCacheConf().shouldEvictOnClose() : true);<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>      } catch (IOException e) {<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span>        LOG.trace("Failed to close reader after computing store file size, ignoring", e);<a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>      }<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>    }<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>    return length;<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span>  }<a name="line.2676"></a>
-<span class="sourceLineNo">2677</span><a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>  public Long preFlushSeqIDEstimation() {<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>    return memstore.preFlushSeqIDEstimation();<a name="line.2679"></a>
-<span class="sourceLineNo">2680</span>  }<a name="line.2680"></a>
-<span class="sourceLineNo">2681</span><a name="line.2681"></a>
-<span class="sourceLineNo">2682</span>  @Override<a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>  public boolean isSloppyMemStore() {<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>    return this.memstore.isSloppy();<a name="line.2684"></a>
+<span class="sourceLineNo">2608</span>          } else {<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span>            LOG.info("Can't archive compacted file " + file.getPath()<a name="line.2609"></a>
+<span class="sourceLineNo">2610</span>                + " because of either isCompactedAway = " + file.isCompactedAway()<a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>                + " or file has reference, isReferencedInReads = " + file.isReferencedInReads()<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>                + ", skipping for now.");<a name="line.2612"></a>
+<span class="sourceLineNo">2613</span>          }<a name="line.2613"></a>
+<span class="sourceLineNo">2614</span>        } catch (Exception e) {<a name="line.2614"></a>
+<span class="sourceLineNo">2615</span>          LOG.error("Exception while trying to close the compacted store file {}",<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>            file.getPath(), e);<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>        }<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span>      }<a name="line.2618"></a>
+<span class="sourceLineNo">2619</span>    }<a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>    if (this.isPrimaryReplicaStore()) {<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>      // Only the primary region is allowed to move the file to archive.<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>      // The secondary region does not move the files to archive. Any active reads from<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span>      // the secondary region will still work because the file as such has active readers on it.<a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>      if (!filesToRemove.isEmpty()) {<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>        LOG.debug("Moving the files {} to archive", filesToRemove);<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>        // Only if this is successful it has to be removed<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>        try {<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span>          this.fs.removeStoreFiles(this.getColumnFamilyDescriptor().getNameAsString(), filesToRemove);<a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>        } catch (FailedArchiveException fae) {<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>          // Even if archiving some files failed, we still need to clear out any of the<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>          // files which were successfully archived.  Otherwise we will receive a<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>          // FileNotFoundException when we attempt to re-archive them in the next go around.<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span>          Collection&lt;Path&gt; failedFiles = fae.getFailedFiles();<a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>          Iterator&lt;HStoreFile&gt; iter = filesToRemove.iterator();<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>          Iterator&lt;Long&gt; sizeIter = storeFileSizes.iterator();<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>          while (iter.hasNext()) {<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>            sizeIter.next();<a name="line.2637"></a>
+<span class="sourceLineNo">2638</span>            if (failedFiles.contains(iter.next().getPath())) {<a name="line.2638"></a>
+<span class="sourceLineNo">2639</span>              iter.remove();<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>              sizeIter.remove();<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span>            }<a name="line.2641"></a>
+<span class="sourceLineNo">2642</span>          }<a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>          if (!filesToRemove.isEmpty()) {<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>            clearCompactedfiles(filesToRemove);<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>          }<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>          throw fae;<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>        }<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span>      }<a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>    }<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>    if (!filesToRemove.isEmpty()) {<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>      // Clear the compactedfiles from the store file manager<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>      clearCompactedfiles(filesToRemove);<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>      // Try to send report of this archival to the Master for updating quota usage faster<a name="line.2653"></a>
+<span class="sourceLineNo">2654</span>      reportArchivedFilesForQuota(filesToRemove, storeFileSizes);<a name="line.2654"></a>
+<span class="sourceLineNo">2655</span>    }<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>  }<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span><a name="line.2657"></a>
+<span class="sourceLineNo">2658</span>  /**<a name="line.2658"></a>
+<span class="sourceLineNo">2659</span>   * Computes the length of a store file without succumbing to any errors along the way. If an<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>   * error is encountered, the implementation returns {@code 0} instead of the actual size.<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>   *<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span>   * @param file The file to compute the size of.<a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>   * @return The size in bytes of the provided {@code file}.<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>   */<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span>  long getStoreFileSize(HStoreFile file) {<a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>    long length = 0;<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>    try {<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>      file.initReader();<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>      length = file.getReader().length();<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span>    } catch (IOException e) {<a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>      LOG.trace("Failed to open reader when trying to compute store file size, ignoring", e);<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>    } finally {<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>      try {<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>        file.closeStoreFile(<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span>            file.getCacheConf() != null ? file.getCacheConf().shouldEvictOnClose() : true);<a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>      } catch (IOException e) {<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>        LOG.trace("Failed to close reader after computing store file size, ignoring", e);<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>      }<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>    }<a name="line.2679"></a>
+<span class="sourceLineNo">2680</span>    return length;<a name="line.2680"></a>
+<span class="sourceLineNo">2681</span>  }<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span><a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>  public Long preFlushSeqIDEstimation() {<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span>    return memstore.preFlushSeqIDEstimation();<a name="line.2684"></a>
 <span class="sourceLineNo">2685</span>  }<a name="line.2685"></a>
 <span class="sourceLineNo">2686</span><a name="line.2686"></a>
-<span class="sourceLineNo">2687</span>  private void clearCompactedfiles(List&lt;HStoreFile&gt; filesToRemove) throws IOException {<a name="line.2687"></a>
-<span class="sourceLineNo">2688</span>    LOG.trace("Clearing the compacted file {} from this store", filesToRemove);<a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>    try {<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>      lock.writeLock().lock();<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>      this.getStoreEngine().getStoreFileManager().removeCompactedFiles(filesToRemove);<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span>    } finally {<a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>      lock.writeLock().unlock();<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>    }<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span>  }<a name="line.2695"></a>
-<span class="sourceLineNo">2696</span><a name="line.2696"></a>
-<span class="sourceLineNo">2697</span>  void reportArchivedFilesForQuota(List&lt;? extends StoreFile&gt; archivedFiles, List&lt;Long&gt; fileSizes) {<a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>    // Sanity check from the caller<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>    if (archivedFiles.size() != fileSizes.size()) {<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>      throw new RuntimeException("Coding error: should never see lists of varying size");<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span>    }<a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>    RegionServerServices rss = this.region.getRegionServerServices();<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>    if (rss == null) {<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>      return;<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>    }<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>    List&lt;Entry&lt;String,Long&gt;&gt; filesWithSizes = new ArrayList&lt;&gt;(archivedFiles.size());<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>    Iterator&lt;Long&gt; fileSizeIter = fileSizes.iterator();<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>    for (StoreFile storeFile : archivedFiles) {<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>      final long fileSize = fileSizeIter.next();<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>      if (storeFile.isHFile() &amp;&amp; fileSize != 0) {<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>        filesWithSizes.add(Maps.immutableEntry(storeFile.getPath().getName(), fileSize));<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>      }<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    }<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>    if (LOG.isTraceEnabled()) {<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span>      LOG.trace("Files archived: " + archivedFiles + ", reporting the following to the Master: "<a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>          + filesWithSizes);<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>    }<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>    boolean success = rss.reportFileArchivalForQuotas(getTableName(), filesWithSizes);<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>    if (!success) {<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>      LOG.warn("Failed to report archival of files: " + filesWithSizes);<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>    }<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>  }<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span><a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>  public int getCurrentParallelPutCount() {<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span>    return currentParallelPutCount.get();<a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>  }<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span><a name="line.2727"></a>
-<span class="sourceLineNo">2728</span>}<a name="line.2728"></a>
+<span class="sourceLineNo">2687</span>  @Override<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>  public boolean isSloppyMemStore() {<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>    return this.memstore.isSloppy();<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span>  }<a name="line.2690"></a>
+<span class="sourceLineNo">2691</span><a name="line.2691"></a>
+<span class="sourceLineNo">2692</span>  private void clearCompactedfiles(List&lt;HStoreFile&gt; filesToRemove) throws IOException {<a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    LOG.trace("Clearing the compacted file {} from this store", filesToRemove);<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>    try {<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span>      lock.writeLock().lock();<a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>      this.getStoreEngine().getStoreFileManager().removeCompactedFiles(filesToRemove);<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>    } finally {<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>      lock.writeLock().unlock();<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span>    }<a name="line.2699"></a>
+<span class="sourceLineNo">2700</span>  }<a name="line.2700"></a>
+<span class="sourceLineNo">2701</span><a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>  void reportArchivedFilesForQuota(List&lt;? extends StoreFile&gt; archivedFiles, List&lt;Long&gt; fileSizes) {<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>    // Sanity check from the caller<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span>    if (archivedFiles.size() != fileSizes.size()) {<a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>      throw new RuntimeException("Coding error: should never see lists of varying size");<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>    }<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>    RegionServerServices rss = this.region.getRegionServerServices();<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>    if (rss == null) {<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>      return;<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    }<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>    List&lt;Entry&lt;String,Long&gt;&gt; filesWithSizes = new ArrayList&lt;&gt;(archivedFiles.size());<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>    Iterator&lt;Long&gt; fileSizeIter = fileSizes.iterator();<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>    for (StoreFile storeFile : archivedFiles) {<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>      final long fileSize = fileSizeIter.next();<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>      if (storeFile.isHFile() &amp;&amp; fileSize != 0) {<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>        filesWithSizes.add(Maps.immutableEntry(storeFile.getPath().getName(), fileSize));<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>      }<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>    }<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span>    if (LOG.isTraceEnabled()) {<a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>      LOG.trace("Files archived: " + archivedFiles + ", reporting the following to the Master: "<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>          + filesWithSizes);<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>    }<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>    boolean success = rss.reportFileArchivalForQuotas(getTableName(), filesWithSizes);<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>    if (!success) {<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>      LOG.warn("Failed to report archival of files: " + filesWithSizes);<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    }<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>  }<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span><a name="line.2728"></a>
+<span class="sourceLineNo">2729</span>  public int getCurrentParallelPutCount() {<a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>    return currentParallelPutCount.get();<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>  }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span><a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>}<a name="line.2733"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HStore.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HStore.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HStore.html
index fcd2c2c..98653f0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HStore.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HStore.html
@@ -2613,127 +2613,132 @@
 <span class="sourceLineNo">2605</span>            filesToRemove.add(file);<a name="line.2605"></a>
 <span class="sourceLineNo">2606</span>            // Only add the length if we successfully added the file to `filesToRemove`<a name="line.2606"></a>
 <span class="sourceLineNo">2607</span>            storeFileSizes.add(length);<a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>          }<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>        } catch (Exception e) {<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span>          LOG.error("Exception while trying to close the compacted store file {}",<a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>            file.getPath(), e);<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>        }<a name="line.2612"></a>
-<span class="sourceLineNo">2613</span>      }<a name="line.2613"></a>
-<span class="sourceLineNo">2614</span>    }<a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>    if (this.isPrimaryReplicaStore()) {<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span>      // Only the primary region is allowed to move the file to archive.<a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>      // The secondary region does not move the files to archive. Any active reads from<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>      // the secondary region will still work because the file as such has active readers on it.<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span>      if (!filesToRemove.isEmpty()) {<a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>        LOG.debug("Moving the files {} to archive", filesToRemove);<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>        // Only if this is successful it has to be removed<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>        try {<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>          this.fs.removeStoreFiles(this.getColumnFamilyDescriptor().getNameAsString(), filesToRemove);<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span>        } catch (FailedArchiveException fae) {<a name="line.2624"></a>
-<span class="sourceLineNo">2625</span>          // Even if archiving some files failed, we still need to clear out any of the<a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>          // files which were successfully archived.  Otherwise we will receive a<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>          // FileNotFoundException when we attempt to re-archive them in the next go around.<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>          Collection&lt;Path&gt; failedFiles = fae.getFailedFiles();<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span>          Iterator&lt;HStoreFile&gt; iter = filesToRemove.iterator();<a name="line.2629"></a>
-<span class="sourceLineNo">2630</span>          Iterator&lt;Long&gt; sizeIter = storeFileSizes.iterator();<a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>          while (iter.hasNext()) {<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>            sizeIter.next();<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>            if (failedFiles.contains(iter.next().getPath())) {<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span>              iter.remove();<a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>              sizeIter.remove();<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>            }<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>          }<a name="line.2637"></a>
-<span class="sourceLineNo">2638</span>          if (!filesToRemove.isEmpty()) {<a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>            clearCompactedfiles(filesToRemove);<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>          }<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>          throw fae;<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>        }<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>      }<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span>    }<a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>    if (!filesToRemove.isEmpty()) {<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>      // Clear the compactedfiles from the store file manager<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>      clearCompactedfiles(filesToRemove);<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>      // Try to send report of this archival to the Master for updating quota usage faster<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>      reportArchivedFilesForQuota(filesToRemove, storeFileSizes);<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span>    }<a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>  }<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span><a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>  /**<a name="line.2653"></a>
-<span class="sourceLineNo">2654</span>   * Computes the length of a store file without succumbing to any errors along the way. If an<a name="line.2654"></a>
-<span class="sourceLineNo">2655</span>   * error is encountered, the implementation returns {@code 0} instead of the actual size.<a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>   *<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>   * @param file The file to compute the size of.<a name="line.2657"></a>
-<span class="sourceLineNo">2658</span>   * @return The size in bytes of the provided {@code file}.<a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>   */<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>  long getStoreFileSize(HStoreFile file) {<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>    long length = 0;<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span>    try {<a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>      file.initReader();<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>      length = file.getReader().length();<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>    } catch (IOException e) {<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>      LOG.trace("Failed to open reader when trying to compute store file size, ignoring", e);<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span>    } finally {<a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>      try {<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>        file.closeStoreFile(<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>            file.getCacheConf() != null ? file.getCacheConf().shouldEvictOnClose() : true);<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>      } catch (IOException e) {<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span>        LOG.trace("Failed to close reader after computing store file size, ignoring", e);<a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>      }<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>    }<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>    return length;<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span>  }<a name="line.2676"></a>
-<span class="sourceLineNo">2677</span><a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>  public Long preFlushSeqIDEstimation() {<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>    return memstore.preFlushSeqIDEstimation();<a name="line.2679"></a>
-<span class="sourceLineNo">2680</span>  }<a name="line.2680"></a>
-<span class="sourceLineNo">2681</span><a name="line.2681"></a>
-<span class="sourceLineNo">2682</span>  @Override<a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>  public boolean isSloppyMemStore() {<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>    return this.memstore.isSloppy();<a name="line.2684"></a>
+<span class="sourceLineNo">2608</span>          } else {<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span>            LOG.info("Can't archive compacted file " + file.getPath()<a name="line.2609"></a>
+<span class="sourceLineNo">2610</span>                + " because of either isCompactedAway = " + file.isCompactedAway()<a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>                + " or file has reference, isReferencedInReads = " + file.isReferencedInReads()<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>                + ", skipping for now.");<a name="line.2612"></a>
+<span class="sourceLineNo">2613</span>          }<a name="line.2613"></a>
+<span class="sourceLineNo">2614</span>        } catch (Exception e) {<a name="line.2614"></a>
+<span class="sourceLineNo">2615</span>          LOG.error("Exception while trying to close the compacted store file {}",<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>            file.getPath(), e);<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>        }<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span>      }<a name="line.2618"></a>
+<span class="sourceLineNo">2619</span>    }<a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>    if (this.isPrimaryReplicaStore()) {<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>      // Only the primary region is allowed to move the file to archive.<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>      // The secondary region does not move the files to archive. Any active reads from<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span>      // the secondary region will still work because the file as such has active readers on it.<a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>      if (!filesToRemove.isEmpty()) {<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>        LOG.debug("Moving the files {} to archive", filesToRemove);<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>        // Only if this is successful it has to be removed<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>        try {<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span>          this.fs.removeStoreFiles(this.getColumnFamilyDescriptor().getNameAsString(), filesToRemove);<a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>        } catch (FailedArchiveException fae) {<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>          // Even if archiving some files failed, we still need to clear out any of the<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>          // files which were successfully archived.  Otherwise we will receive a<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>          // FileNotFoundException when we attempt to re-archive them in the next go around.<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span>          Collection&lt;Path&gt; failedFiles = fae.getFailedFiles();<a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>          Iterator&lt;HStoreFile&gt; iter = filesToRemove.iterator();<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>          Iterator&lt;Long&gt; sizeIter = storeFileSizes.iterator();<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>          while (iter.hasNext()) {<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>            sizeIter.next();<a name="line.2637"></a>
+<span class="sourceLineNo">2638</span>            if (failedFiles.contains(iter.next().getPath())) {<a name="line.2638"></a>
+<span class="sourceLineNo">2639</span>              iter.remove();<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>              sizeIter.remove();<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span>            }<a name="line.2641"></a>
+<span class="sourceLineNo">2642</span>          }<a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>          if (!filesToRemove.isEmpty()) {<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>            clearCompactedfiles(filesToRemove);<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>          }<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>          throw fae;<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>        }<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span>      }<a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>    }<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>    if (!filesToRemove.isEmpty()) {<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>      // Clear the compactedfiles from the store file manager<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>      clearCompactedfiles(filesToRemove);<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>      // Try to send report of this archival to the Master for updating quota usage faster<a name="line.2653"></a>
+<span class="sourceLineNo">2654</span>      reportArchivedFilesForQuota(filesToRemove, storeFileSizes);<a name="line.2654"></a>
+<span class="sourceLineNo">2655</span>    }<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>  }<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span><a name="line.2657"></a>
+<span class="sourceLineNo">2658</span>  /**<a name="line.2658"></a>
+<span class="sourceLineNo">2659</span>   * Computes the length of a store file without succumbing to any errors along the way. If an<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>   * error is encountered, the implementation returns {@code 0} instead of the actual size.<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>   *<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span>   * @param file The file to compute the size of.<a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>   * @return The size in bytes of the provided {@code file}.<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>   */<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span>  long getStoreFileSize(HStoreFile file) {<a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>    long length = 0;<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>    try {<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>      file.initReader();<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>      length = file.getReader().length();<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span>    } catch (IOException e) {<a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>      LOG.trace("Failed to open reader when trying to compute store file size, ignoring", e);<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>    } finally {<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>      try {<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>        file.closeStoreFile(<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span>            file.getCacheConf() != null ? file.getCacheConf().shouldEvictOnClose() : true);<a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>      } catch (IOException e) {<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>        LOG.trace("Failed to close reader after computing store file size, ignoring", e);<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>      }<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>    }<a name="line.2679"></a>
+<span class="sourceLineNo">2680</span>    return length;<a name="line.2680"></a>
+<span class="sourceLineNo">2681</span>  }<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span><a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>  public Long preFlushSeqIDEstimation() {<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span>    return memstore.preFlushSeqIDEstimation();<a name="line.2684"></a>
 <span class="sourceLineNo">2685</span>  }<a name="line.2685"></a>
 <span class="sourceLineNo">2686</span><a name="line.2686"></a>
-<span class="sourceLineNo">2687</span>  private void clearCompactedfiles(List&lt;HStoreFile&gt; filesToRemove) throws IOException {<a name="line.2687"></a>
-<span class="sourceLineNo">2688</span>    LOG.trace("Clearing the compacted file {} from this store", filesToRemove);<a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>    try {<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>      lock.writeLock().lock();<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>      this.getStoreEngine().getStoreFileManager().removeCompactedFiles(filesToRemove);<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span>    } finally {<a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>      lock.writeLock().unlock();<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>    }<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span>  }<a name="line.2695"></a>
-<span class="sourceLineNo">2696</span><a name="line.2696"></a>
-<span class="sourceLineNo">2697</span>  void reportArchivedFilesForQuota(List&lt;? extends StoreFile&gt; archivedFiles, List&lt;Long&gt; fileSizes) {<a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>    // Sanity check from the caller<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>    if (archivedFiles.size() != fileSizes.size()) {<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>      throw new RuntimeException("Coding error: should never see lists of varying size");<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span>    }<a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>    RegionServerServices rss = this.region.getRegionServerServices();<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>    if (rss == null) {<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>      return;<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>    }<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>    List&lt;Entry&lt;String,Long&gt;&gt; filesWithSizes = new ArrayList&lt;&gt;(archivedFiles.size());<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>    Iterator&lt;Long&gt; fileSizeIter = fileSizes.iterator();<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>    for (StoreFile storeFile : archivedFiles) {<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>      final long fileSize = fileSizeIter.next();<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>      if (storeFile.isHFile() &amp;&amp; fileSize != 0) {<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>        filesWithSizes.add(Maps.immutableEntry(storeFile.getPath().getName(), fileSize));<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>      }<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    }<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>    if (LOG.isTraceEnabled()) {<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span>      LOG.trace("Files archived: " + archivedFiles + ", reporting the following to the Master: "<a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>          + filesWithSizes);<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>    }<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>    boolean success = rss.reportFileArchivalForQuotas(getTableName(), filesWithSizes);<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>    if (!success) {<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>      LOG.warn("Failed to report archival of files: " + filesWithSizes);<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>    }<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>  }<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span><a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>  public int getCurrentParallelPutCount() {<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span>    return currentParallelPutCount.get();<a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>  }<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span><a name="line.2727"></a>
-<span class="sourceLineNo">2728</span>}<a name="line.2728"></a>
+<span class="sourceLineNo">2687</span>  @Override<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>  public boolean isSloppyMemStore() {<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>    return this.memstore.isSloppy();<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span>  }<a name="line.2690"></a>
+<span class="sourceLineNo">2691</span><a name="line.2691"></a>
+<span class="sourceLineNo">2692</span>  private void clearCompactedfiles(List&lt;HStoreFile&gt; filesToRemove) throws IOException {<a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    LOG.trace("Clearing the compacted file {} from this store", filesToRemove);<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>    try {<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span>      lock.writeLock().lock();<a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>      this.getStoreEngine().getStoreFileManager().removeCompactedFiles(filesToRemove);<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>    } finally {<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>      lock.writeLock().unlock();<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span>    }<a name="line.2699"></a>
+<span class="sourceLineNo">2700</span>  }<a name="line.2700"></a>
+<span class="sourceLineNo">2701</span><a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>  void reportArchivedFilesForQuota(List&lt;? extends StoreFile&gt; archivedFiles, List&lt;Long&gt; fileSizes) {<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>    // Sanity check from the caller<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span>    if (archivedFiles.size() != fileSizes.size()) {<a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>      throw new RuntimeException("Coding error: should never see lists of varying size");<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>    }<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>    RegionServerServices rss = this.region.getRegionServerServices();<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>    if (rss == null) {<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>      return;<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    }<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>    List&lt;Entry&lt;String,Long&gt;&gt; filesWithSizes = new ArrayList&lt;&gt;(archivedFiles.size());<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>    Iterator&lt;Long&gt; fileSizeIter = fileSizes.iterator();<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>    for (StoreFile storeFile : archivedFiles) {<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>      final long fileSize = fileSizeIter.next();<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>      if (storeFile.isHFile() &amp;&amp; fileSize != 0) {<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>        filesWithSizes.add(Maps.immutableEntry(storeFile.getPath().getName(), fileSize));<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>      }<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>    }<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span>    if (LOG.isTraceEnabled()) {<a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>      LOG.trace("Files archived: " + archivedFiles + ", reporting the following to the Master: "<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>          + filesWithSizes);<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>    }<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>    boolean success = rss.reportFileArchivalForQuotas(getTableName(), filesWithSizes);<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>    if (!success) {<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>      LOG.warn("Failed to report archival of files: " + filesWithSizes);<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    }<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>  }<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span><a name="line.2728"></a>
+<span class="sourceLineNo">2729</span>  public int getCurrentParallelPutCount() {<a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>    return currentParallelPutCount.get();<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>  }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span><a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>}<a name="line.2733"></a>
 
 
 

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index 7461e7d..b77cbb9 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -331,7 +331,7 @@ for more details.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 00eaa36..e942efd 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <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" />
@@ -411,7 +411,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 148dd15..f4412be 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -291,7 +291,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index 06e9f10..0138919 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -288,7 +288,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index a82cc1c..fb4e2fd 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -491,7 +491,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index e48ed5d..6bdba55 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -341,7 +341,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 776d355..8015deb 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -459,7 +459,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 4a3a73e..c1b892e 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -440,7 +440,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index 4240ac9..4662d17 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -440,7 +440,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index da43535..133655d 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -375,7 +375,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 7346e8e..a8bae52 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Powered By Apache HBase™</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -769,7 +769,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index 918ff1c..95c4bbe 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -335,7 +335,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index 99e561b..ed5b94c 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -305,7 +305,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index 71d41fd..d2d95c0 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -331,7 +331,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 01b6429..8263a90 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -308,7 +308,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index 0f36b75..cca75ea 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -303,7 +303,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index 3ef8923..2efa30f 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Other Apache HBase (TM) Resources</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -331,7 +331,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index 63eef81..52eb611 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Source Code Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -299,7 +299,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index 21d7b07..9e2a89b 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase™ Sponsors</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -333,7 +333,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index 78898db..996b1fe 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Supporting Projects</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -520,7 +520,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 77581b1..77a3b89 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="20180731" />
+    <meta name="Date-Revision-yyyymmdd" content="20180801" />
     <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" />
@@ -742,7 +742,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-07-31</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-01</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 6a4ce09..8c8b1c3 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -35948,12 +35948,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HBaseTestingUtility.html#setHBaseFsTmpDir--">setHBaseFsTmpDir()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html#setHdfsSecuredConfiguration-org.apache.hadoop.conf.Configuration-">setHdfsSecuredConfiguration(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/TestSaslFanOutOneBlockAsyncDFSOutput.html" title="class in org.apache.hadoop.hbase.io.asyncfs">TestSaslFanOutOneBlockAsyncDFSOutput</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/token/SecureTestCluster.html#setHdfsSecuredConfiguration-org.apache.hadoop.conf.Configuration-">setHdfsSecuredConfiguration(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.security.token.<a href="org/apache/hadoop/hbase/security/token/SecureTestCluster.html" title="class in org.apache.hadoop.hbase.security.token">SecureTestCluster</a></dt>
-<dd>
-<div class="block">Setup the security configuration for hdfs.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/MultiThreadedUpdater.html#setIgnoreNonceConflicts-boolean-">setIgnoreNonceConflicts(boolean)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/MultiThreadedUpdater.html" title="class in org.apache.hadoop.hbase.util">MultiThreadedUpdater</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#setInMemoryCF-boolean-">setInMemoryCF(boolean)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a></dt>
@@ -36156,12 +36150,22 @@
 <dd>
 <div class="block">Set the scan attribute</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseKerberosUtils.html#setSecuredConfiguration-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-">setSecuredConfiguration(Configuration, String, String)</a></span> - Static method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security">HBaseKerberosUtils</a></dt>
+<dd>
+<div class="block">Set up configuration for a secure HDFS+HBase cluster.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseKerberosUtils.html#setSecuredConfiguration-org.apache.hadoop.conf.Configuration-">setSecuredConfiguration(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security">HBaseKerberosUtils</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseKerberosUtils.html#setSecuredHadoopConfiguration-org.apache.hadoop.conf.Configuration-java.lang.String-">setSecuredHadoopConfiguration(Configuration, String)</a></span> - Static method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security">HBaseKerberosUtils</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#setSize-float-">setSize(float)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#setSplitPolicy-java.lang.String-">setSplitPolicy(String)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseKerberosUtils.html#setSSLConfiguration-org.apache.hadoop.hbase.HBaseTestingUtility-java.lang.Class-">setSSLConfiguration(HBaseTestingUtility, Class)</a></span> - Static method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security">HBaseKerberosUtils</a></dt>
+<dd>
+<div class="block">Set up SSL configuration for HDFS NameNode and DataNode.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#setStartRow-int-">setStartRow(int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.HBaseUpdaterThreadWithACL.MutateAccessAction.html#setStartTime-long-">setStartTime(long)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.HBaseUpdaterThreadWithACL.MutateAccessAction.html" title="class in org.apache.hadoop.hbase.util">MultiThreadedUpdaterWithACL.HBaseUpdaterThreadWithACL.MutateAccessAction</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index 2d9b60f..6af42fe 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -146,8 +146,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.Failure.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">TestBackupDeleteWithFailures.Failure</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/TestIncrementalBackupMergeWithFailures.FailurePhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">TestIncrementalBackupMergeWithFailures.FailurePhase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/TestBackupDeleteWithFailures.Failure.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">TestBackupDeleteWithFailures.Failure</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e71c0987/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
index 1165b4f..7c00323 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
@@ -3694,6 +3694,22 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/hadoop/hbase/security/package-summary.html">org.apache.hadoop.hbase.security</a> with parameters of type <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">HBaseKerberosUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseKerberosUtils.html#setSSLConfiguration-org.apache.hadoop.hbase.HBaseTestingUtility-java.lang.Class-">setSSLConfiguration</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a>&nbsp;utility,
+                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;clazz)</code>
+<div class="block">Set up SSL configuration for HDFS NameNode and DataNode.</div>
+</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.security.access">
 <!--   -->