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/07/28 14:49:07 UTC

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/devapidocs/src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html
index c6bfdca..cae3d07 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/CommonFSUtils.html
@@ -829,90 +829,217 @@
 <span class="sourceLineNo">821</span>    conf.setIfUnset(dfsKey, Integer.toString(hbaseSize));<a name="line.821"></a>
 <span class="sourceLineNo">822</span>  }<a name="line.822"></a>
 <span class="sourceLineNo">823</span><a name="line.823"></a>
-<span class="sourceLineNo">824</span>  // Holder singleton idiom. JVM spec ensures this will be run at most once per Classloader, and<a name="line.824"></a>
-<span class="sourceLineNo">825</span>  // not until we attempt to reference it.<a name="line.825"></a>
-<span class="sourceLineNo">826</span>  private static class StreamCapabilities {<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    public static final boolean PRESENT;<a name="line.827"></a>
-<span class="sourceLineNo">828</span>    public static final Class&lt;?&gt; CLASS;<a name="line.828"></a>
-<span class="sourceLineNo">829</span>    public static final Method METHOD;<a name="line.829"></a>
-<span class="sourceLineNo">830</span>    static {<a name="line.830"></a>
-<span class="sourceLineNo">831</span>      boolean tmp = false;<a name="line.831"></a>
-<span class="sourceLineNo">832</span>      Class&lt;?&gt; clazz = null;<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      Method method = null;<a name="line.833"></a>
-<span class="sourceLineNo">834</span>      try {<a name="line.834"></a>
-<span class="sourceLineNo">835</span>        clazz = Class.forName("org.apache.hadoop.fs.StreamCapabilities");<a name="line.835"></a>
-<span class="sourceLineNo">836</span>        method = clazz.getMethod("hasCapability", String.class);<a name="line.836"></a>
-<span class="sourceLineNo">837</span>        tmp = true;<a name="line.837"></a>
-<span class="sourceLineNo">838</span>      } catch(ClassNotFoundException|NoSuchMethodException|SecurityException exception) {<a name="line.838"></a>
-<span class="sourceLineNo">839</span>        LOG.warn("Your Hadoop installation does not include the StreamCapabilities class from " +<a name="line.839"></a>
-<span class="sourceLineNo">840</span>                 "HDFS-11644, so we will skip checking if any FSDataOutputStreams actually " +<a name="line.840"></a>
-<span class="sourceLineNo">841</span>                 "support hflush/hsync. If you are running on top of HDFS this probably just " +<a name="line.841"></a>
-<span class="sourceLineNo">842</span>                 "means you have an older version and this can be ignored. If you are running on " +<a name="line.842"></a>
-<span class="sourceLineNo">843</span>                 "top of an alternate FileSystem implementation you should manually verify that " +<a name="line.843"></a>
-<span class="sourceLineNo">844</span>                 "hflush and hsync are implemented; otherwise you risk data loss and hard to " +<a name="line.844"></a>
-<span class="sourceLineNo">845</span>                 "diagnose errors when our assumptions are violated.");<a name="line.845"></a>
-<span class="sourceLineNo">846</span>        LOG.debug("The first request to check for StreamCapabilities came from this stacktrace.",<a name="line.846"></a>
-<span class="sourceLineNo">847</span>            exception);<a name="line.847"></a>
-<span class="sourceLineNo">848</span>      } finally {<a name="line.848"></a>
-<span class="sourceLineNo">849</span>        PRESENT = tmp;<a name="line.849"></a>
-<span class="sourceLineNo">850</span>        CLASS = clazz;<a name="line.850"></a>
-<span class="sourceLineNo">851</span>        METHOD = method;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>      }<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>  /**<a name="line.856"></a>
-<span class="sourceLineNo">857</span>   * If our FileSystem version includes the StreamCapabilities class, check if<a name="line.857"></a>
-<span class="sourceLineNo">858</span>   * the given stream has a particular capability.<a name="line.858"></a>
-<span class="sourceLineNo">859</span>   * @param stream capabilities are per-stream instance, so check this one specifically. must not be<a name="line.859"></a>
-<span class="sourceLineNo">860</span>   *        null<a name="line.860"></a>
-<span class="sourceLineNo">861</span>   * @param capability what to look for, per Hadoop Common's FileSystem docs<a name="line.861"></a>
-<span class="sourceLineNo">862</span>   * @return true if there are no StreamCapabilities. false if there are, but this stream doesn't<a name="line.862"></a>
-<span class="sourceLineNo">863</span>   *         implement it. return result of asking the stream otherwise.<a name="line.863"></a>
-<span class="sourceLineNo">864</span>   */<a name="line.864"></a>
-<span class="sourceLineNo">865</span>  public static boolean hasCapability(FSDataOutputStream stream, String capability) {<a name="line.865"></a>
-<span class="sourceLineNo">866</span>    // be consistent whether or not StreamCapabilities is present<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    if (stream == null) {<a name="line.867"></a>
-<span class="sourceLineNo">868</span>      throw new NullPointerException("stream parameter must not be null.");<a name="line.868"></a>
-<span class="sourceLineNo">869</span>    }<a name="line.869"></a>
-<span class="sourceLineNo">870</span>    // If o.a.h.fs.StreamCapabilities doesn't exist, assume everyone does everything<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    // otherwise old versions of Hadoop will break.<a name="line.871"></a>
-<span class="sourceLineNo">872</span>    boolean result = true;<a name="line.872"></a>
-<span class="sourceLineNo">873</span>    if (StreamCapabilities.PRESENT) {<a name="line.873"></a>
-<span class="sourceLineNo">874</span>      // if StreamCapabilities is present, but the stream doesn't implement it<a name="line.874"></a>
-<span class="sourceLineNo">875</span>      // or we run into a problem invoking the method,<a name="line.875"></a>
-<span class="sourceLineNo">876</span>      // we treat that as equivalent to not declaring anything<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      result = false;<a name="line.877"></a>
-<span class="sourceLineNo">878</span>      if (StreamCapabilities.CLASS.isAssignableFrom(stream.getClass())) {<a name="line.878"></a>
+<span class="sourceLineNo">824</span>  private static class DfsBuilderUtility {<a name="line.824"></a>
+<span class="sourceLineNo">825</span>    static Class&lt;?&gt; dfsClass = null;<a name="line.825"></a>
+<span class="sourceLineNo">826</span>    static Method createMethod;<a name="line.826"></a>
+<span class="sourceLineNo">827</span>    static Method overwriteMethod;<a name="line.827"></a>
+<span class="sourceLineNo">828</span>    static Method bufferSizeMethod;<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    static Method blockSizeMethod;<a name="line.829"></a>
+<span class="sourceLineNo">830</span>    static Method recursiveMethod;<a name="line.830"></a>
+<span class="sourceLineNo">831</span>    static Method replicateMethod;<a name="line.831"></a>
+<span class="sourceLineNo">832</span>    static Method replicationMethod;<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    static Method buildMethod;<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    static boolean allMethodsPresent = false;<a name="line.834"></a>
+<span class="sourceLineNo">835</span><a name="line.835"></a>
+<span class="sourceLineNo">836</span>    static {<a name="line.836"></a>
+<span class="sourceLineNo">837</span>      String dfsName = "org.apache.hadoop.hdfs.DistributedFileSystem";<a name="line.837"></a>
+<span class="sourceLineNo">838</span>      String builderName = dfsName + "$HdfsDataOutputStreamBuilder";<a name="line.838"></a>
+<span class="sourceLineNo">839</span>      Class&lt;?&gt; builderClass = null;<a name="line.839"></a>
+<span class="sourceLineNo">840</span><a name="line.840"></a>
+<span class="sourceLineNo">841</span>      try {<a name="line.841"></a>
+<span class="sourceLineNo">842</span>        dfsClass = Class.forName(dfsName);<a name="line.842"></a>
+<span class="sourceLineNo">843</span>      } catch (ClassNotFoundException e) {<a name="line.843"></a>
+<span class="sourceLineNo">844</span>        LOG.debug("{} not available, will not use builder API for file creation.", dfsName);<a name="line.844"></a>
+<span class="sourceLineNo">845</span>      }<a name="line.845"></a>
+<span class="sourceLineNo">846</span>      try {<a name="line.846"></a>
+<span class="sourceLineNo">847</span>        builderClass = Class.forName(builderName);<a name="line.847"></a>
+<span class="sourceLineNo">848</span>      } catch (ClassNotFoundException e) {<a name="line.848"></a>
+<span class="sourceLineNo">849</span>        LOG.debug("{} not available, will not use builder API for file creation.", builderName);<a name="line.849"></a>
+<span class="sourceLineNo">850</span>      }<a name="line.850"></a>
+<span class="sourceLineNo">851</span><a name="line.851"></a>
+<span class="sourceLineNo">852</span>      if (dfsClass != null &amp;&amp; builderClass != null) {<a name="line.852"></a>
+<span class="sourceLineNo">853</span>        try {<a name="line.853"></a>
+<span class="sourceLineNo">854</span>          createMethod = dfsClass.getMethod("createFile", Path.class);<a name="line.854"></a>
+<span class="sourceLineNo">855</span>          overwriteMethod = builderClass.getMethod("overwrite", boolean.class);<a name="line.855"></a>
+<span class="sourceLineNo">856</span>          bufferSizeMethod = builderClass.getMethod("bufferSize", int.class);<a name="line.856"></a>
+<span class="sourceLineNo">857</span>          blockSizeMethod = builderClass.getMethod("blockSize", long.class);<a name="line.857"></a>
+<span class="sourceLineNo">858</span>          recursiveMethod = builderClass.getMethod("recursive");<a name="line.858"></a>
+<span class="sourceLineNo">859</span>          replicateMethod = builderClass.getMethod("replicate");<a name="line.859"></a>
+<span class="sourceLineNo">860</span>          replicationMethod = builderClass.getMethod("replication", short.class);<a name="line.860"></a>
+<span class="sourceLineNo">861</span>          buildMethod = builderClass.getMethod("build");<a name="line.861"></a>
+<span class="sourceLineNo">862</span><a name="line.862"></a>
+<span class="sourceLineNo">863</span>          allMethodsPresent = true;<a name="line.863"></a>
+<span class="sourceLineNo">864</span>          LOG.debug("Using builder API via reflection for DFS file creation.");<a name="line.864"></a>
+<span class="sourceLineNo">865</span>        } catch (NoSuchMethodException e) {<a name="line.865"></a>
+<span class="sourceLineNo">866</span>          LOG.debug("Could not find method on builder; will use old DFS API for file creation {}",<a name="line.866"></a>
+<span class="sourceLineNo">867</span>              e.getMessage());<a name="line.867"></a>
+<span class="sourceLineNo">868</span>        }<a name="line.868"></a>
+<span class="sourceLineNo">869</span>      }<a name="line.869"></a>
+<span class="sourceLineNo">870</span>    }<a name="line.870"></a>
+<span class="sourceLineNo">871</span><a name="line.871"></a>
+<span class="sourceLineNo">872</span>    /**<a name="line.872"></a>
+<span class="sourceLineNo">873</span>     * Attempt to use builder API via reflection to create a file with the given parameters and<a name="line.873"></a>
+<span class="sourceLineNo">874</span>     * replication enabled.<a name="line.874"></a>
+<span class="sourceLineNo">875</span>     */<a name="line.875"></a>
+<span class="sourceLineNo">876</span>    static FSDataOutputStream createHelper(FileSystem fs, Path path, boolean overwritable,<a name="line.876"></a>
+<span class="sourceLineNo">877</span>        int bufferSize, short replication, long blockSize, boolean isRecursive) throws IOException {<a name="line.877"></a>
+<span class="sourceLineNo">878</span>      if (allMethodsPresent &amp;&amp; dfsClass.isInstance(fs)) {<a name="line.878"></a>
 <span class="sourceLineNo">879</span>        try {<a name="line.879"></a>
-<span class="sourceLineNo">880</span>          result = ((Boolean)StreamCapabilities.METHOD.invoke(stream, capability)).booleanValue();<a name="line.880"></a>
-<span class="sourceLineNo">881</span>        } catch (IllegalAccessException|IllegalArgumentException|InvocationTargetException<a name="line.881"></a>
-<span class="sourceLineNo">882</span>            exception) {<a name="line.882"></a>
-<span class="sourceLineNo">883</span>          LOG.warn("Your Hadoop installation's StreamCapabilities implementation doesn't match " +<a name="line.883"></a>
-<span class="sourceLineNo">884</span>              "our understanding of how it's supposed to work. Please file a JIRA and include " +<a name="line.884"></a>
-<span class="sourceLineNo">885</span>              "the following stack trace. In the mean time we're interpreting this behavior " +<a name="line.885"></a>
-<span class="sourceLineNo">886</span>              "difference as a lack of capability support, which will probably cause a failure.",<a name="line.886"></a>
-<span class="sourceLineNo">887</span>              exception);<a name="line.887"></a>
-<span class="sourceLineNo">888</span>        }<a name="line.888"></a>
-<span class="sourceLineNo">889</span>      }<a name="line.889"></a>
-<span class="sourceLineNo">890</span>    }<a name="line.890"></a>
-<span class="sourceLineNo">891</span>    return result;<a name="line.891"></a>
-<span class="sourceLineNo">892</span>  }<a name="line.892"></a>
-<span class="sourceLineNo">893</span><a name="line.893"></a>
-<span class="sourceLineNo">894</span>  /**<a name="line.894"></a>
-<span class="sourceLineNo">895</span>   * Helper exception for those cases where the place where we need to check a stream capability<a name="line.895"></a>
-<span class="sourceLineNo">896</span>   * is not where we have the needed context to explain the impact and mitigation for a lack.<a name="line.896"></a>
-<span class="sourceLineNo">897</span>   */<a name="line.897"></a>
-<span class="sourceLineNo">898</span>  public static class StreamLacksCapabilityException extends Exception {<a name="line.898"></a>
-<span class="sourceLineNo">899</span>    public StreamLacksCapabilityException(String message, Throwable cause) {<a name="line.899"></a>
-<span class="sourceLineNo">900</span>      super(message, cause);<a name="line.900"></a>
-<span class="sourceLineNo">901</span>    }<a name="line.901"></a>
-<span class="sourceLineNo">902</span>    public StreamLacksCapabilityException(String message) {<a name="line.902"></a>
-<span class="sourceLineNo">903</span>      super(message);<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">880</span>          Object builder;<a name="line.880"></a>
+<span class="sourceLineNo">881</span><a name="line.881"></a>
+<span class="sourceLineNo">882</span>          builder = createMethod.invoke(fs, path);<a name="line.882"></a>
+<span class="sourceLineNo">883</span>          builder = overwriteMethod.invoke(builder, overwritable);<a name="line.883"></a>
+<span class="sourceLineNo">884</span>          builder = bufferSizeMethod.invoke(builder, bufferSize);<a name="line.884"></a>
+<span class="sourceLineNo">885</span>          builder = blockSizeMethod.invoke(builder, blockSize);<a name="line.885"></a>
+<span class="sourceLineNo">886</span>          if (isRecursive) {<a name="line.886"></a>
+<span class="sourceLineNo">887</span>            builder = recursiveMethod.invoke(builder);<a name="line.887"></a>
+<span class="sourceLineNo">888</span>          }<a name="line.888"></a>
+<span class="sourceLineNo">889</span>          builder = replicateMethod.invoke(builder);<a name="line.889"></a>
+<span class="sourceLineNo">890</span>          builder = replicationMethod.invoke(builder, replication);<a name="line.890"></a>
+<span class="sourceLineNo">891</span>          return (FSDataOutputStream) buildMethod.invoke(builder);<a name="line.891"></a>
+<span class="sourceLineNo">892</span>        } catch (IllegalAccessException | InvocationTargetException e) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>          // Should have caught this failure during initialization, so log full trace here<a name="line.893"></a>
+<span class="sourceLineNo">894</span>          LOG.warn("Couldn't use reflection with builder API", e);<a name="line.894"></a>
+<span class="sourceLineNo">895</span>        }<a name="line.895"></a>
+<span class="sourceLineNo">896</span>      }<a name="line.896"></a>
+<span class="sourceLineNo">897</span><a name="line.897"></a>
+<span class="sourceLineNo">898</span>      if (isRecursive) {<a name="line.898"></a>
+<span class="sourceLineNo">899</span>        return fs.create(path, overwritable, bufferSize, replication, blockSize, null);<a name="line.899"></a>
+<span class="sourceLineNo">900</span>      }<a name="line.900"></a>
+<span class="sourceLineNo">901</span>      return fs.createNonRecursive(path, overwritable, bufferSize, replication, blockSize, null);<a name="line.901"></a>
+<span class="sourceLineNo">902</span>    }<a name="line.902"></a>
+<span class="sourceLineNo">903</span><a name="line.903"></a>
+<span class="sourceLineNo">904</span>    /**<a name="line.904"></a>
+<span class="sourceLineNo">905</span>     * Attempt to use builder API via reflection to create a file with the given parameters and<a name="line.905"></a>
+<span class="sourceLineNo">906</span>     * replication enabled.<a name="line.906"></a>
+<span class="sourceLineNo">907</span>     */<a name="line.907"></a>
+<span class="sourceLineNo">908</span>    static FSDataOutputStream createHelper(FileSystem fs, Path path, boolean overwritable)<a name="line.908"></a>
+<span class="sourceLineNo">909</span>        throws IOException {<a name="line.909"></a>
+<span class="sourceLineNo">910</span>      if (allMethodsPresent &amp;&amp; dfsClass.isInstance(fs)) {<a name="line.910"></a>
+<span class="sourceLineNo">911</span>        try {<a name="line.911"></a>
+<span class="sourceLineNo">912</span>          Object builder;<a name="line.912"></a>
+<span class="sourceLineNo">913</span><a name="line.913"></a>
+<span class="sourceLineNo">914</span>          builder = createMethod.invoke(fs, path);<a name="line.914"></a>
+<span class="sourceLineNo">915</span>          builder = overwriteMethod.invoke(builder, overwritable);<a name="line.915"></a>
+<span class="sourceLineNo">916</span>          builder = replicateMethod.invoke(builder);<a name="line.916"></a>
+<span class="sourceLineNo">917</span>          return (FSDataOutputStream) buildMethod.invoke(builder);<a name="line.917"></a>
+<span class="sourceLineNo">918</span>        } catch (IllegalAccessException | InvocationTargetException e) {<a name="line.918"></a>
+<span class="sourceLineNo">919</span>          // Should have caught this failure during initialization, so log full trace here<a name="line.919"></a>
+<span class="sourceLineNo">920</span>          LOG.warn("Couldn't use reflection with builder API", e);<a name="line.920"></a>
+<span class="sourceLineNo">921</span>        }<a name="line.921"></a>
+<span class="sourceLineNo">922</span>      }<a name="line.922"></a>
+<span class="sourceLineNo">923</span><a name="line.923"></a>
+<span class="sourceLineNo">924</span>      return fs.create(path, overwritable);<a name="line.924"></a>
+<span class="sourceLineNo">925</span>    }<a name="line.925"></a>
+<span class="sourceLineNo">926</span>  }<a name="line.926"></a>
+<span class="sourceLineNo">927</span><a name="line.927"></a>
+<span class="sourceLineNo">928</span>  /**<a name="line.928"></a>
+<span class="sourceLineNo">929</span>   * Attempt to use builder API via reflection to create a file with the given parameters and<a name="line.929"></a>
+<span class="sourceLineNo">930</span>   * replication enabled.<a name="line.930"></a>
+<span class="sourceLineNo">931</span>   * &lt;p&gt;<a name="line.931"></a>
+<span class="sourceLineNo">932</span>   * Will not attempt to enable replication when passed an HFileSystem.<a name="line.932"></a>
+<span class="sourceLineNo">933</span>   */<a name="line.933"></a>
+<span class="sourceLineNo">934</span>  public static FSDataOutputStream createForWal(FileSystem fs, Path path, boolean overwritable)<a name="line.934"></a>
+<span class="sourceLineNo">935</span>      throws IOException {<a name="line.935"></a>
+<span class="sourceLineNo">936</span>    return DfsBuilderUtility.createHelper(fs, path, overwritable);<a name="line.936"></a>
+<span class="sourceLineNo">937</span>  }<a name="line.937"></a>
+<span class="sourceLineNo">938</span><a name="line.938"></a>
+<span class="sourceLineNo">939</span>  /**<a name="line.939"></a>
+<span class="sourceLineNo">940</span>   * Attempt to use builder API via reflection to create a file with the given parameters and<a name="line.940"></a>
+<span class="sourceLineNo">941</span>   * replication enabled.<a name="line.941"></a>
+<span class="sourceLineNo">942</span>   * &lt;p&gt;<a name="line.942"></a>
+<span class="sourceLineNo">943</span>   * Will not attempt to enable replication when passed an HFileSystem.<a name="line.943"></a>
+<span class="sourceLineNo">944</span>   */<a name="line.944"></a>
+<span class="sourceLineNo">945</span>  public static FSDataOutputStream createForWal(FileSystem fs, Path path, boolean overwritable,<a name="line.945"></a>
+<span class="sourceLineNo">946</span>      int bufferSize, short replication, long blockSize, boolean isRecursive) throws IOException {<a name="line.946"></a>
+<span class="sourceLineNo">947</span>    return DfsBuilderUtility.createHelper(fs, path, overwritable, bufferSize, replication,<a name="line.947"></a>
+<span class="sourceLineNo">948</span>        blockSize, isRecursive);<a name="line.948"></a>
+<span class="sourceLineNo">949</span>  }<a name="line.949"></a>
+<span class="sourceLineNo">950</span><a name="line.950"></a>
+<span class="sourceLineNo">951</span>  // Holder singleton idiom. JVM spec ensures this will be run at most once per Classloader, and<a name="line.951"></a>
+<span class="sourceLineNo">952</span>  // not until we attempt to reference it.<a name="line.952"></a>
+<span class="sourceLineNo">953</span>  private static class StreamCapabilities {<a name="line.953"></a>
+<span class="sourceLineNo">954</span>    public static final boolean PRESENT;<a name="line.954"></a>
+<span class="sourceLineNo">955</span>    public static final Class&lt;?&gt; CLASS;<a name="line.955"></a>
+<span class="sourceLineNo">956</span>    public static final Method METHOD;<a name="line.956"></a>
+<span class="sourceLineNo">957</span>    static {<a name="line.957"></a>
+<span class="sourceLineNo">958</span>      boolean tmp = false;<a name="line.958"></a>
+<span class="sourceLineNo">959</span>      Class&lt;?&gt; clazz = null;<a name="line.959"></a>
+<span class="sourceLineNo">960</span>      Method method = null;<a name="line.960"></a>
+<span class="sourceLineNo">961</span>      try {<a name="line.961"></a>
+<span class="sourceLineNo">962</span>        clazz = Class.forName("org.apache.hadoop.fs.StreamCapabilities");<a name="line.962"></a>
+<span class="sourceLineNo">963</span>        method = clazz.getMethod("hasCapability", String.class);<a name="line.963"></a>
+<span class="sourceLineNo">964</span>        tmp = true;<a name="line.964"></a>
+<span class="sourceLineNo">965</span>      } catch(ClassNotFoundException|NoSuchMethodException|SecurityException exception) {<a name="line.965"></a>
+<span class="sourceLineNo">966</span>        LOG.warn("Your Hadoop installation does not include the StreamCapabilities class from " +<a name="line.966"></a>
+<span class="sourceLineNo">967</span>                 "HDFS-11644, so we will skip checking if any FSDataOutputStreams actually " +<a name="line.967"></a>
+<span class="sourceLineNo">968</span>                 "support hflush/hsync. If you are running on top of HDFS this probably just " +<a name="line.968"></a>
+<span class="sourceLineNo">969</span>                 "means you have an older version and this can be ignored. If you are running on " +<a name="line.969"></a>
+<span class="sourceLineNo">970</span>                 "top of an alternate FileSystem implementation you should manually verify that " +<a name="line.970"></a>
+<span class="sourceLineNo">971</span>                 "hflush and hsync are implemented; otherwise you risk data loss and hard to " +<a name="line.971"></a>
+<span class="sourceLineNo">972</span>                 "diagnose errors when our assumptions are violated.");<a name="line.972"></a>
+<span class="sourceLineNo">973</span>        LOG.debug("The first request to check for StreamCapabilities came from this stacktrace.",<a name="line.973"></a>
+<span class="sourceLineNo">974</span>            exception);<a name="line.974"></a>
+<span class="sourceLineNo">975</span>      } finally {<a name="line.975"></a>
+<span class="sourceLineNo">976</span>        PRESENT = tmp;<a name="line.976"></a>
+<span class="sourceLineNo">977</span>        CLASS = clazz;<a name="line.977"></a>
+<span class="sourceLineNo">978</span>        METHOD = method;<a name="line.978"></a>
+<span class="sourceLineNo">979</span>      }<a name="line.979"></a>
+<span class="sourceLineNo">980</span>    }<a name="line.980"></a>
+<span class="sourceLineNo">981</span>  }<a name="line.981"></a>
+<span class="sourceLineNo">982</span><a name="line.982"></a>
+<span class="sourceLineNo">983</span>  /**<a name="line.983"></a>
+<span class="sourceLineNo">984</span>   * If our FileSystem version includes the StreamCapabilities class, check if<a name="line.984"></a>
+<span class="sourceLineNo">985</span>   * the given stream has a particular capability.<a name="line.985"></a>
+<span class="sourceLineNo">986</span>   * @param stream capabilities are per-stream instance, so check this one specifically. must not be<a name="line.986"></a>
+<span class="sourceLineNo">987</span>   *        null<a name="line.987"></a>
+<span class="sourceLineNo">988</span>   * @param capability what to look for, per Hadoop Common's FileSystem docs<a name="line.988"></a>
+<span class="sourceLineNo">989</span>   * @return true if there are no StreamCapabilities. false if there are, but this stream doesn't<a name="line.989"></a>
+<span class="sourceLineNo">990</span>   *         implement it. return result of asking the stream otherwise.<a name="line.990"></a>
+<span class="sourceLineNo">991</span>   */<a name="line.991"></a>
+<span class="sourceLineNo">992</span>  public static boolean hasCapability(FSDataOutputStream stream, String capability) {<a name="line.992"></a>
+<span class="sourceLineNo">993</span>    // be consistent whether or not StreamCapabilities is present<a name="line.993"></a>
+<span class="sourceLineNo">994</span>    if (stream == null) {<a name="line.994"></a>
+<span class="sourceLineNo">995</span>      throw new NullPointerException("stream parameter must not be null.");<a name="line.995"></a>
+<span class="sourceLineNo">996</span>    }<a name="line.996"></a>
+<span class="sourceLineNo">997</span>    // If o.a.h.fs.StreamCapabilities doesn't exist, assume everyone does everything<a name="line.997"></a>
+<span class="sourceLineNo">998</span>    // otherwise old versions of Hadoop will break.<a name="line.998"></a>
+<span class="sourceLineNo">999</span>    boolean result = true;<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>    if (StreamCapabilities.PRESENT) {<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>      // if StreamCapabilities is present, but the stream doesn't implement it<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>      // or we run into a problem invoking the method,<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span>      // we treat that as equivalent to not declaring anything<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>      result = false;<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>      if (StreamCapabilities.CLASS.isAssignableFrom(stream.getClass())) {<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>        try {<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>          result = ((Boolean)StreamCapabilities.METHOD.invoke(stream, capability)).booleanValue();<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span>        } catch (IllegalAccessException|IllegalArgumentException|InvocationTargetException<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>            exception) {<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>          LOG.warn("Your Hadoop installation's StreamCapabilities implementation doesn't match " +<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>              "our understanding of how it's supposed to work. Please file a JIRA and include " +<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>              "the following stack trace. In the mean time we're interpreting this behavior " +<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span>              "difference as a lack of capability support, which will probably cause a failure.",<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>              exception);<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>        }<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>      }<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>    }<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>    return result;<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>  }<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span><a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>  /**<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>   * Helper exception for those cases where the place where we need to check a stream capability<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>   * is not where we have the needed context to explain the impact and mitigation for a lack.<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>   */<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>  public static class StreamLacksCapabilityException extends Exception {<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>    public StreamLacksCapabilityException(String message, Throwable cause) {<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>      super(message, cause);<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>    }<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>    public StreamLacksCapabilityException(String message) {<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>      super(message);<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>    }<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>  }<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span><a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>}<a name="line.1034"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/downloads.html
----------------------------------------------------------------------
diff --git a/downloads.html b/downloads.html
index 5d23c3f..d426f70 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index 2e7fed0..4323bfb 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 0274fc4..c0de669 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 8f2d8af..5de7bc0 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index b70f200..668e39a 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 4c53c7c..d223ba6 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index b290e7b..8942fc8 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 0d6fe09..432483c 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index b1945d7..570c5f4 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index 3162676..8517538 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index 3a2264d..f239d38 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index d643c1e..66c64f5 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index 38610e6..f4e8d21 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index a0d21e0..e035920 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index 1323dd7..02ee533 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index da9666b..d01773f 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index 99534af..f7ac326 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index 4916a26..fdafade 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index cf93289..2dba735 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index ac58d4b..a1497ed 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index 1f84384..14fe614 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 7b9cd24..1d90658 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="20180727" />
+    <meta name="Date-Revision-yyyymmdd" content="20180728" />
     <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-27</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-07-28</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index 452a48f..1b24e50 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -1173,6 +1173,7 @@
 <li><a href="org/apache/hadoop/hbase/security/TestHBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">TestHBaseSaslRpcClient</a></li>
 <li><a href="org/apache/hadoop/hbase/TestHBaseTestingUtility.html" title="class in org.apache.hadoop.hbase" target="classFrame">TestHBaseTestingUtility</a></li>
 <li><a href="org/apache/hadoop/hbase/TestHBaseTestingUtilSpinup.html" title="class in org.apache.hadoop.hbase" target="classFrame">TestHBaseTestingUtilSpinup</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal" target="classFrame">TestHBaseWalOnEC</a></li>
 <li><a href="org/apache/hadoop/hbase/TestHColumnDescriptor.html" title="class in org.apache.hadoop.hbase" target="classFrame">TestHColumnDescriptor</a></li>
 <li><a href="org/apache/hadoop/hbase/TestHColumnDescriptorDefaultVersions.html" title="class in org.apache.hadoop.hbase" target="classFrame">TestHColumnDescriptorDefaultVersions</a></li>
 <li><a href="org/apache/hadoop/hbase/TestHDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase" target="classFrame">TestHDFSBlocksDistribution</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index 9fd26d1..7b96d5d 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -1173,6 +1173,7 @@
 <li><a href="org/apache/hadoop/hbase/security/TestHBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security">TestHBaseSaslRpcClient</a></li>
 <li><a href="org/apache/hadoop/hbase/TestHBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">TestHBaseTestingUtility</a></li>
 <li><a href="org/apache/hadoop/hbase/TestHBaseTestingUtilSpinup.html" title="class in org.apache.hadoop.hbase">TestHBaseTestingUtilSpinup</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestHBaseWalOnEC</a></li>
 <li><a href="org/apache/hadoop/hbase/TestHColumnDescriptor.html" title="class in org.apache.hadoop.hbase">TestHColumnDescriptor</a></li>
 <li><a href="org/apache/hadoop/hbase/TestHColumnDescriptorDefaultVersions.html" title="class in org.apache.hadoop.hbase">TestHColumnDescriptorDefaultVersions</a></li>
 <li><a href="org/apache/hadoop/hbase/TestHDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">TestHDFSBlocksDistribution</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/testdevapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/constant-values.html b/testdevapidocs/constant-values.html
index 1c4c394..ef295bc 100644
--- a/testdevapidocs/constant-values.html
+++ b/testdevapidocs/constant-values.html
@@ -10685,6 +10685,25 @@
 </li>
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestHBaseWalOnEC</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.wal.TestHBaseWalOnEC.HFLUSH">
+<!--   -->
+</a><code>private&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html#HFLUSH">HFLUSH</a></code></td>
+<td class="colLast"><code>"hflush"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestLogRollingNoCluster</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index f294719..c43cdd1 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -5761,6 +5761,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestFSWALEntry.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestFSWALEntry.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestFSWALEntry</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestHBaseWalOnEC</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestLogRollAbort</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.html#CLASS_RULE">CLASS_RULE</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestLogRolling</a></dt>
@@ -19837,6 +19839,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/TestForceCacheImportantBlocks.html#hfileVersion">hfileVersion</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/TestForceCacheImportantBlocks.html" title="class in org.apache.hadoop.hbase.io.hfile">TestForceCacheImportantBlocks</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html#HFLUSH">HFLUSH</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestHBaseWalOnEC</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/TestChecksum.html#hfs">hfs</a></span> - Variable in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/TestChecksum.html" title="class in org.apache.hadoop.hbase.io.hfile">TestChecksum</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MockRegionServerServices.html#hfs">hfs</a></span> - Variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MockRegionServerServices.html" title="class in org.apache.hadoop.hbase">MockRegionServerServices</a></dt>
@@ -36918,6 +36922,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestDurability.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestDurability.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestDurability</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html#setup--">setup()</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestHBaseWalOnEC</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestLogRollAbort</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestWALActionsListener</a></dt>
@@ -41978,6 +41984,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestDurability.html#tearDown--">tearDown()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestDurability.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestDurability</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html#tearDown--">tearDown()</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestHBaseWalOnEC</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.html#tearDown--">tearDown()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestLogRollAbort</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.html#tearDown--">tearDown()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestWALActionsListener</a></dt>
@@ -49996,6 +50004,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.html#testFlush--">testFlush()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">TestMetricsRegionServer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html#testFlush--">testFlush()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestHBaseWalOnEC</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/TestAccessController.html#testFlush--">testFlush()</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/TestAccessController.html" title="class in org.apache.hadoop.hbase.security.access">TestAccessController</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionReplicas.html#testFlushAndCompactionsInPrimary--">testFlushAndCompactionsInPrimary()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionReplicas.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionReplicas</a></dt>
@@ -51357,6 +51367,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestHBaseTestingUtilSpinup.html#TestHBaseTestingUtilSpinup--">TestHBaseTestingUtilSpinup()</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestHBaseTestingUtilSpinup.html" title="class in org.apache.hadoop.hbase">TestHBaseTestingUtilSpinup</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">TestHBaseWalOnEC</span></a> - Class in <a href="org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html#TestHBaseWalOnEC--">TestHBaseWalOnEC()</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestHBaseWalOnEC</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/TestHColumnDescriptor.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">TestHColumnDescriptor</span></a> - Class in <a href="org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -62111,6 +62125,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestHStore.html#testStoreUsesSearchEngineOverride--">testStoreUsesSearchEngineOverride()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestHStore.html" title="class in org.apache.hadoop.hbase.regionserver">TestHStore</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html#testStreamCreate--">testStreamCreate()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestHBaseWalOnEC</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/TestTableScan.html#testStreamingJSON--">testStreamingJSON()</a></span> - Method in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/TestTableScan.html" title="class in org.apache.hadoop.hbase.rest">TestTableScan</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.html#testStressFlushAndWALinIndexCompaction--">testStressFlushAndWALinIndexCompaction()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestWalAndCompactingMemStoreFlush.html" title="class in org.apache.hadoop.hbase.regionserver">TestWalAndCompactingMemStoreFlush</a></dt>
@@ -66269,6 +66285,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestCombinedAsyncWriter.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestCombinedAsyncWriter.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestCombinedAsyncWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html#util">util</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestHBaseWalOnEC</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/master/TestRecoverStandbyProcedure.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.replication.master.<a href="org/apache/hadoop/hbase/replication/master/TestRecoverStandbyProcedure.html" title="class in org.apache.hadoop.hbase.replication.master">TestRecoverStandbyProcedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/TestRaceWhenCreatingReplicationSource.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/TestRaceWhenCreatingReplicationSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver">TestRaceWhenCreatingReplicationSource</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e10887fe/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
index 763d3d9..73ad808 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseClassTestRule.html
@@ -5055,78 +5055,82 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestFSHLog.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestFSHLog.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestHBaseWalOnEC.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestHBaseWalOnEC.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestSecureWALReplay.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestSecureWALReplay.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestFSHLog.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestFSHLog.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestLogRolling.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestSecureWALReplay.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestSecureWALReplay.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestWALDurability.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALDurability.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestLogRolling.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestWALReplayBoundedLogWriterCreation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALReplayBoundedLogWriterCreation.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestWALDurability.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALDurability.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestAsyncLogRollPeriod.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestAsyncLogRollPeriod.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestWALReplayBoundedLogWriterCreation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALReplayBoundedLogWriterCreation.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestWALReplayCompressed.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALReplayCompressed.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestAsyncLogRollPeriod.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestAsyncLogRollPeriod.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestWALConfiguration.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALConfiguration.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestWALReplayCompressed.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALReplayCompressed.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestSequenceIdAccounting.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestSequenceIdAccounting.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestWALConfiguration.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALConfiguration.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestAsyncWALReplayCompressed.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestAsyncWALReplayCompressed.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestSequenceIdAccounting.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestSequenceIdAccounting.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestWALCellCodecWithCompression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALCellCodecWithCompression.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestAsyncWALReplayCompressed.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestAsyncWALReplayCompressed.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestLogRollPeriod.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestLogRollPeriod.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestWALCellCodecWithCompression.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALCellCodecWithCompression.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestWALReplay.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestLogRollPeriod.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestLogRollPeriod.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestMetricsWAL.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestWALReplay.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestLogRollingNoCluster.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestMetricsWAL.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestMetricsWAL.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestLogRollAbort.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestLogRollingNoCluster.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestWALActionsListener.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestLogRollAbort.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TestCompressor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestCompressor.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestWALActionsListener.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TestCompressor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestCompressor.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a></code></td>
 <td class="colLast"><span class="typeNameLabel">TestDurability.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/TestDurability.html#CLASS_RULE">CLASS_RULE</a></span></code>&nbsp;</td>
 </tr>
 </tbody>