Repository: hbase-site
Updated Branches:
  refs/heads/asf-site c0d3a592d -> 92d12755f


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/92d12755/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 558ecaa..f799af7 100644
--- a/book.html
+++ b/book.html
@@ -6601,9 +6601,286 @@ Quitting...</code></pre>
 <h2 id="_upgrade_paths"><a class="anchor" href="#_upgrade_paths"></a>13. 
Upgrade Paths</h2>
 <div class="sectionbody">
 <div class="sect2">
-<h3 id="upgrade1.4"><a class="anchor" href="#upgrade1.4"></a>13.1. Upgrading 
to 1.4+</h3>
+<h3 id="upgrade2.0"><a class="anchor" href="#upgrade2.0"></a>13.1. Upgrading 
from 1.x to 2.x</h3>
+<div class="paragraph">
+<p>In this section we will first call out significant changes compared to the 
prior stable HBase release and then go over the upgrade process. Be sure to 
read the former with care so you avoid suprises.</p>
+</div>
+<div class="sect3">
+<h4 id="_changes_of_note"><a class="anchor" 
href="#_changes_of_note"></a>13.1.1. Changes of Note!</h4>
+<div class="paragraph">
+<p>First we&#8217;ll cover deployment / operational changes that you might hit 
when upgrading to HBase 2.0+. After that we&#8217;ll call out changes for 
downstream applications. Please note that Coprocessors are covered in the 
operational section. Also note that this section is not meant to convey 
information about new features that may be of interest to you. For a complete 
summary of changes, please see the CHANGES.txt file in the source release 
artifact for the version you are planning to upgrade to.</p>
+</div>
+<div id="upgrade2.0.basic.requirements" class="paragraph">
+<div class="title">Update to basic prerequisite minimums in HBase 2.0+</div>
+<p>As noted in the section <a id="basic.prerequisites"></a>, HBase 2.0+ 
requires a minimum of Java 8 and Hadoop 2.6. The HBase community recommends 
ensuring you have already completed any needed upgrades in prerequisites prior 
to upgrading your HBase version.</p>
+</div>
+<div id="upgrade2.0.hbck" class="paragraph">
+<div class="title">HBCK must match HBase server version</div>
+<p>You <strong>must not</strong> use an HBase 1.x version of HBCK against an 
HBase 2.0+ cluster. HBCK is strongly tied to the HBase server version. Using 
the HBCK tool from an earlier release against an HBase 2.0+ cluster will 
destructively alter said cluster in unrecoverable ways.</p>
+</div>
+<div class="paragraph">
+<p>As of HBase 2.0, HBCK is a read-only tool that can report the status of 
some non-public system internals. You should not rely on the format nor content 
of these internals to remain consistent across HBase releases.</p>
+</div>
+<div id="upgrade2.0.removed.configs" class="paragraph">
+<div class="title">Configuration settings no longer in HBase 2.0+</div>
+<p>The following configuration settings are no longer applicable or available. 
For details, please see the detailed release notes.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>hbase.config.read.zookeeper.config (see <a id="upgrade2.0.zkconfig"></a> 
for migration details)</p>
+</li>
+<li>
+<p>hbase.zookeeper.useMulti (HBase now always uses ZK&#8217;s multi 
functionality)</p>
+</li>
+<li>
+<p>hbase.rpc.client.threads.max</p>
+</li>
+<li>
+<p>hbase.rpc.client.nativetransport</p>
+</li>
+<li>
+<p>hbase.fs.tmp.dir</p>
+</li>
+<li>
+<p>hbase.bucketcache.combinedcache.enabled</p>
+</li>
+<li>
+<p>hbase.bucketcache.ioengine no longer supports the 'heap' value.</p>
+</li>
+<li>
+<p>hbase.bulkload.staging.dir</p>
+</li>
+<li>
+<p>hbase.balancer.tablesOnMaster wasn&#8217;t removed, strictly speaking, but 
its meaning has fundamentally changed and users should not set it. See the 
section <a id="upgrade2.0.regions.on.master"></a> for details.</p>
+</li>
+</ul>
+</div>
+<div id="upgrade2.0.changed.defaults" class="paragraph">
+<div class="title">Configuration settings with different defaults in HBase 
2.0+</div>
+<p>The following configuration settings changed their default value. Where 
applicable, the value to set to restore the behavior of HBase 1.2 is given.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>hbase.security.authorization now defaults to false. set to true to restore 
same behavior as previous default.</p>
+</li>
+<li>
+<p>hbase.client.retries.number is now set to 10. Previously it was 35. 
Downstream users are advised to use client timeouts as described in section <a 
id="config_timeouts"></a> instead.</p>
+</li>
+<li>
+<p>hbase.client.serverside.retries.multiplier is now set to 3. Previously it 
was 10. Downstream users are advised to use client timesout as describe in 
section <a id="config_timeouts"></a> instead.</p>
+</li>
+<li>
+<p>hbase.master.fileSplitTimeout is now set to 10 minutes. Previously it was 
30 seconds.</p>
+</li>
+<li>
+<p>hbase.regionserver.logroll.multiplier is now set to 0.5. Previously it was 
0.95.</p>
+</li>
+<li>
+<p>hbase.regionserver.hlog.blocksize defaults to 2x the HDFS default block 
size for the WAL dir. Previously it was equal to the HDFS default block size 
for the WAL dir.</p>
+</li>
+<li>
+<p>hbase.client.start.log.errors.counter changed to 5. Previously it was 9.</p>
+</li>
+<li>
+<p>hbase.ipc.server.callqueue.type changed to 'fifo'. In HBase versions 1.0 - 
1.2 it was 'deadline'. In prior and later 1.x versions it already defaults to 
'fifo'.</p>
+</li>
+<li>
+<p>hbase.hregion.memstore.chunkpool.maxsize is 1.0 by default. Previously it 
was 0.0. Effectively, this means previously we would not use a chunk pool when 
our memstore is onheap and now we will. See the section <a id="gcpause"></a> 
for more infromation about the MSLAB chunk pool.</p>
+</li>
+</ul>
+</div>
+<div id="upgrade2.0.regions.on.master" class="paragraph">
+<div class="title">"Master hosting regions" feature broken and 
unsupported</div>
+<p>The feature "Master acts as region server" and associated follow-on work 
available in HBase 1.y is non-functional in HBase 2.y and should not be used in 
a production setting due to deadlock on Master initialization. Downstream users 
are advised to treat related configuration settings as experimental and the 
feature as inappropriate for production settings.</p>
+</div>
+<div class="paragraph">
+<p>A brief summary of related changes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Master no longer carries regions by default</p>
+</li>
+<li>
+<p>hbase.balancer.tablesOnMaster is a boolean, default false (if it holds an 
HBase 1.x list of tables, will default to false)</p>
+</li>
+<li>
+<p>hbase.balancer.tablesOnMaster.systemTablesOnly is boolean to keep user 
tables off master. default false</p>
+</li>
+<li>
+<p>those wishing to replicate old list-of-servers config should deploy a 
stand-alone RegionServer process and then rely on Region Server Groups</p>
+</li>
+</ul>
+</div>
+<div id="upgrade2.0.metrics" class="paragraph">
+<div class="title">Changed metrics</div>
+<p>The following metrics have changed names:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Metrics previously published under the name "AssignmentManger" [sic] are 
now published under the name "AssignmentManager"</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The following metrics have changed their meaning:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The metric 'blockCacheEvictionCount' published on a per-region server basis 
no longer includes blocks removed from the cache due to the invalidation of the 
hfiles they are from (e.g. via compaction).</p>
+</li>
+</ul>
+</div>
+<div id="upgrade2.0.zkconfig" class="paragraph">
+<div class="title">ZooKeeper configs no longer read from zoo.cfg</div>
+<p>HBase no longer optionally reads the 'zoo.cfg' file for ZooKeeper related 
configuration settings. If you previously relied on the 
'hbase.config.read.zookeeper.config' config for this functionality, you should 
migrate any needed settings to the hbase-site.xml file while adding the prefix 
'hbase.zookeeper.property.' to each property name.</p>
+</div>
+<div id="upgrade2.0.permissions" class="paragraph">
+<div class="title">Changes in permissions</div>
+<p>The following permission related changes either altered semantics or 
defaults:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Permissions granted to a user now merge with existing permissions for that 
user, rather than over-writing them. (see <a 
href="https://issues.apache.org/jira/browse/HBASE-17472";>the release note on 
HBASE-17472</a> for details)</p>
+</li>
+<li>
+<p>Region Server Group commands (added in 1.4.0) now require admin 
privileges.</p>
+</li>
+</ul>
+</div>
+<div id="upgrade2.0.admin.commands" class="paragraph">
+<div class="title">Most Admin APIs don&#8217;t work against an HBase 2.0+ 
cluster from pre-HBase 2.0 clients</div>
+<p>A number of admin commands are known to not work when used from a pre-HBase 
2.0 client. This includes an HBase Shell that has the library jars from 
pre-HBase 2.0. You will need to plan for an outage of use of admin APIs and 
commands until you can also update to the needed client version.</p>
+</div>
+<div class="paragraph">
+<div class="title">Deprecated in 1.0 admin commands have been removed.</div>
+<p>The following commands that were deprecated in 1.0 have been removed. Where 
applicable the replacement command is listed.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The 'hlog' command has been removed. Downstream users should rely on the 
'wal' command instead.</p>
+</li>
+</ul>
+</div>
+<div id="upgrade2.0.memory" class="paragraph">
+<div class="title">Region Server memory consumption changes.</div>
+<p>Users upgrading from versions prior to HBase 1.4 should read the 
instructions in section <a id="upgrade1.4.memory"></a>.</p>
+</div>
+<div class="paragraph">
+<p>Additionally, HBase 2.0 has changed how memstore memory is tracked for 
flushing decisions. Previously, both the data size and overhead for storage 
were used to calculate utilization against the flush threashold. Now, only data 
size is used to make these per-region decisions. Globally the addition of the 
storage overhead is used to make decisions about forced flushes.</p>
+</div>
+<div id="upgrade2.0.ui.splitmerge.by.row" class="paragraph">
+<div class="title">Web UI for splitting and merging operate on row 
prefixes</div>
+<p>Previously, the Web UI included functionality on table status pages to 
merge or split based on an encoded region name. In HBase 2.0, instead this 
functionality works by taking a row prefix.</p>
+</div>
+<div id="upgrade2.0.replication" class="paragraph">
+<div class="title">Special upgrading for Replication users from pre-HBase 
1.4</div>
+<p>User running versions of HBase prior to the 1.4.0 release that make use of 
replication should be sure to read the instructions in the section <a 
id="upgrade1.4.replication"></a>.</p>
+</div>
+<div id="upgrade2.0.jruby" class="paragraph">
+<div class="title">HBase shell now based on JRuby 9.1.10.0</div>
+<p>The bundled JRuby 1.6.8 has been updated to version 9.1.10.0. The 
represents a change from Ruby 1.8 to Ruby 2.3.3, which introduces 
non-compatible language changes for user scripts.</p>
+</div>
+<div id="upgrade2.0.coprocessors" class="paragraph">
+<div class="title">Coprocessor APIs have changed in HBase 2.0+</div>
+<p>All Coprocessor APIs have been refactored to improve supportability around 
binary API compatibility for future versions of HBase. If you or applications 
you rely on have custom HBase coprocessors, you should read <a 
href="https://issues.apache.org/jira/browse/HBASE-18169";>the release notes for 
HBASE-18169</a> for details of changes you will need to make prior to upgrading 
to HBase 2.0+.</p>
+</div>
+<div class="paragraph">
+<p>For example, if you had a BaseRegionObserver in HBase 1.2 then at a minimum 
you will need to update it to implement both RegionObserver and 
RegionCoprocessor and add the method</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java">...
+  <span class="annotation">@Override</span>
+  <span class="directive">public</span> Optional&lt;RegionObserver&gt; 
getRegionObserver() {
+    <span class="keyword">return</span> Optional.of(<span 
class="local-variable">this</span>);
+  }
+...</code></pre>
+</div>
+</div>
+<div id="upgrade2.0.hfile3.only" class="paragraph">
+<div class="title">HBase 2.0+ can no longer write HFile v2 files.</div>
+<p>HBase has simplified our internal HFile handling. As a result, we can no 
longer write HFile versions earlier than the default of version 3. Upgrading 
users should ensure that hfile.format.version is not set to 2 in hbase-site.xml 
before upgrading. Failing to do so will cause Region Server failure. HBase can 
still read HFiles written in the older version 2 format.</p>
+</div>
+<div id="upgrade2.0.pb.wal.only" class="paragraph">
+<div class="title">HBase 2.0+ can no longer read Sequence File based WAL 
file.</div>
+<p>HBase can no longer read the deprecated WAL files written in the Apache 
Hadoop Sequence File format. The hbase.regionserver.hlog.reader.impl and 
hbase.regionserver.hlog.reader.impl configuration entries should be set to use 
the Protobuf based WAL reader / writer classes. This implementation has been 
the default since HBase 0.96, so legacy WAL files should not be a concern for 
most downstream users.</p>
+</div>
+<div class="paragraph">
+<p>A clean cluster shutdown should ensure there are no WAL files. If you are 
unsure of a given WAL file&#8217;s format you can use the <code>hbase 
wal</code> command to parse files while the HBase cluster is offline. In HBase 
2.0+, this command will not be able to read a Sequence File based WAL. For more 
information on the tool see the section <a id="hlog_tool.prettyprint"></a>.</p>
+</div>
+<div id="upgrade2.0.filters" class="paragraph">
+<div class="title">Change in behavior for filters</div>
+<p>The Filter ReturnCode NEXT_ROW has been redefined as skipping to next row 
in current family, not to next row in all family. it’s more reasonable, 
because ReturnCode is a concept in store level, not in region level.</p>
+</div>
+<div id="upgrade2.0.shaded.client.preferred" class="paragraph">
+<div class="title">Downstream HBase 2.0+ users should use the shaded 
client</div>
+<p>Downstream users are strongly urged to rely on the Maven coordinates 
org.apache.hbase:hbase-shaded-client for their runtime use. This artifact 
contains all the needed implementation details for talking to an HBase cluster 
while minimizing the number of third party dependencies exposed.</p>
+</div>
+<div class="paragraph">
+<p>Note that this artifact exposes some classes in the org.apache.hadoop 
package space (e.g. o.a.h.configuration.Configuration) so that we can maintain 
source compatibility with our public API. Those classes are included so that 
they can be altered to use the same relocated third party dependencies as the 
rest of the HBase client code. In the event that you need to 
<strong>also</strong> use Hadoop in your code, you should ensure all Hadoop 
related jars precede the HBase client jar in your classpath.</p>
+</div>
+<div id="upgrade2.0.mapreduce.module" class="paragraph">
+<div class="title">Downstream HBase 2.0+ users of MapReduce must switch to new 
artifact</div>
+<p>Downstream users of HBase&#8217;s integration for Apache Hadoop MapReduce 
must switch to relying on the org.apache.hbase:hbase-shaded-mapreduce module 
for their runtime use. Historically, downstream users relied on either the 
org.apache.hbase:hbase-server or org.apache.hbase:hbase-shaded-server artifacts 
for these classes. Both uses are no longer supported and in the vast majority 
of cases will fail at runtime.</p>
+</div>
+<div class="paragraph">
+<p>Note that this artifact exposes some classes in the org.apache.hadoop 
package space (e.g. o.a.h.configuration.Configuration) so that we can maintain 
source compatibility with our public API. Those classes are included so that 
they can be altered to use the same relocated third party dependencies as the 
rest of the HBase client code. In the event that you need to 
<strong>also</strong> use Hadoop in your code, you should ensure all Hadoop 
related jars precede the HBase client jar in your classpath.</p>
+</div>
+<div id="upgrade2.0.dependencies" class="paragraph">
+<div class="title">Significant changes to runtime classpath</div>
+<p>A number of internal dependencies for HBase were updated or removed from 
the runtime classpath. Downstream client users who do not follow the guidance 
in <a id="upgrade2.0.shaded.client.preferred"></a> will have to examine the set 
of dependencies Maven pulls in for impact. Downstream users of LimitedPrivate 
Coprocessor APIs will need to examine the runtime environment for impact. For 
details on our new handling of third party libraries that have historically 
been a problem with respect to harmonizing compatible runtime versions, see the 
reference guide section <a id="thirdparty"></a>.</p>
+</div>
+<div id="upgrade2.0.public.api" class="paragraph">
+<div class="title">Multiple breaking changes to source and binary 
compatibility for client API</div>
+<p>The Java client API for HBase has a number of changes that break both 
source and binary compatibility for details see the Compatibility Check Report 
for the release you&#8217;ll be upgrading to.</p>
+</div>
+</div>
 <div class="sect3">
-<h4 id="_replication_peer_s_tablecfs_config"><a class="anchor" 
href="#_replication_peer_s_tablecfs_config"></a>13.1.1. Replication 
peer&#8217;s TableCFs config</h4>
+<h4 id="upgrade2.0.rolling.upgrades"><a class="anchor" 
href="#upgrade2.0.rolling.upgrades"></a>13.1.2. Rolling Upgrade from 1.x to 
2.x</h4>
+<div class="paragraph">
+<p>There is no rolling upgrade from HBase 1.x+ to HBase 2.x+. In order to 
perform a zero downtime upgrade, you will need to run an additional cluster in 
parallel and handle failover in application logic.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="upgrade2.0.process"><a class="anchor" 
href="#upgrade2.0.process"></a>13.1.3. Upgrade process from 1.x to 2.x</h4>
+<div class="paragraph">
+<p>To upgrade an existing HBase 1.x cluster, you should:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Clean shutdown of existing 1.x cluster</p>
+</li>
+<li>
+<p>Upgrade Master roles first</p>
+</li>
+<li>
+<p>Upgrade RegionServers</p>
+</li>
+<li>
+<p>(Eventually) Upgrade Clients</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="upgrade1.4"><a class="anchor" href="#upgrade1.4"></a>13.2. Upgrading 
from pre-1.4 to 1.4+</h3>
+<div class="sect3">
+<h4 id="upgrade1.4.memory"><a class="anchor" 
href="#upgrade1.4.memory"></a>13.2.1. Region Server memory consumption 
changes.</h4>
+<div class="paragraph">
+<p>Users upgrading from versions prior to HBase 1.4 should be aware that the 
estimates of heap usage by the memstore objects (KeyValue, object and array 
header sizes, etc) have been made more accurate for heap sizes up to 32G (using 
CompressedOops), resulting in them dropping by 10-50% in practice. This also 
results in less number of flushes and compactions due to "fatter" flushes. 
YMMV. As a result, the actual heap usage of the memstore before being flushed 
may increase by up to 100%. If configured memory limits for the region server 
had been tuned based on observed usage, this change could result in worse GC 
behavior or even OutOfMemory errors. Set the environment property (not 
hbase-site.xml) "hbase.memorylayout.use.unsafe" to false to disable.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="upgrade1.4.replication"><a class="anchor" 
href="#upgrade1.4.replication"></a>13.2.2. Replication peer&#8217;s TableCFs 
config</h4>
 <div class="paragraph">
 <p>Before 1.4, the table name can&#8217;t include namespace for replication 
peer&#8217;s TableCFs config. It was fixed by add TableCFs to 
ReplicationPeerConfig which was stored on Zookeeper. So when upgrade to 1.4, 
you have to update the original ReplicationPeerConfig data on Zookeeper 
firstly. There are four steps to upgrade when your cluster have a replication 
peer with TableCFs config.</p>
 </div>
@@ -6643,14 +6920,20 @@ Quitting...</code></pre>
 </ul>
 </div>
 </div>
+<div class="sect3">
+<h4 id="upgrade1.4.rawscan"><a class="anchor" 
href="#upgrade1.4.rawscan"></a>13.2.3. Raw scan now ignores TTL</h4>
+<div class="paragraph">
+<p>Doing a raw scan will now return results that have expired according to TTL 
settings.</p>
+</div>
+</div>
 </div>
 <div class="sect2">
-<h3 id="upgrade1.0"><a class="anchor" href="#upgrade1.0"></a>13.2. Upgrading 
from 0.98.x to 1.x</h3>
+<h3 id="upgrade1.0"><a class="anchor" href="#upgrade1.0"></a>13.3. Upgrading 
from 0.98.x to 1.x</h3>
 <div class="paragraph">
 <p>In this section we first note the significant changes that come in with 
1.0.0+ HBase and then we go over the upgrade process. Be sure to read the 
significant changes section with care so you avoid surprises.</p>
 </div>
 <div class="sect3">
-<h4 id="_changes_of_note"><a class="anchor" 
href="#_changes_of_note"></a>13.2.1. Changes of Note!</h4>
+<h4 id="_changes_of_note_2"><a class="anchor" 
href="#_changes_of_note_2"></a>13.3.1. Changes of Note!</h4>
 <div class="paragraph">
 <p>In here we list important changes that are in 1.0.0+ since 0.98.x., changes 
you should be aware that will go into effect once you upgrade.</p>
 </div>
@@ -6692,7 +6975,7 @@ using 0.98.11 servers with any other client version.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="upgrade1.0.rolling.upgrade"><a class="anchor" 
href="#upgrade1.0.rolling.upgrade"></a>13.2.2. Rolling upgrade from 0.98.x to 
HBase 1.0.0</h4>
+<h4 id="upgrade1.0.rolling.upgrade"><a class="anchor" 
href="#upgrade1.0.rolling.upgrade"></a>13.3.2. Rolling upgrade from 0.98.x to 
HBase 1.0.0</h4>
 <div class="admonitionblock note">
 <table>
 <tr>
@@ -6711,7 +6994,7 @@ You cannot do a <a href="#hbase.rolling.upgrade">rolling 
upgrade</a> from 0.96.x
 </div>
 </div>
 <div class="sect3">
-<h4 id="upgrade1.0.scanner.caching"><a class="anchor" 
href="#upgrade1.0.scanner.caching"></a>13.2.3. Scanner Caching has Changed</h4>
+<h4 id="upgrade1.0.scanner.caching"><a class="anchor" 
href="#upgrade1.0.scanner.caching"></a>13.3.3. Scanner Caching has Changed</h4>
 <div class="paragraph">
 <div class="title">From 0.98.x to 1.x</div>
 <p>In hbase-1.x, the default Scan caching 'number of rows' changed.
@@ -6724,14 +7007,14 @@ for further discussion.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="upgrade1.0.from.0.94"><a class="anchor" 
href="#upgrade1.0.from.0.94"></a>13.2.4. Upgrading to 1.0 from 0.94</h4>
+<h4 id="upgrade1.0.from.0.94"><a class="anchor" 
href="#upgrade1.0.from.0.94"></a>13.3.4. Upgrading to 1.0 from 0.94</h4>
 <div class="paragraph">
 <p>You cannot rolling upgrade from 0.94.x to 1.x.x.  You must stop your 
cluster, install the 1.x.x software, run the migration described at <a 
href="#executing.the.0.96.upgrade">Executing the 0.96 Upgrade</a> (substituting 
1.x.x. wherever we make mention of 0.96.x in the section below), and then 
restart. Be sure to upgrade your ZooKeeper if it is a version less than the 
required 3.4.x.</p>
 </div>
 </div>
 </div>
 <div class="sect2">
-<h3 id="upgrade0.98"><a class="anchor" href="#upgrade0.98"></a>13.3. Upgrading 
from 0.96.x to 0.98.x</h3>
+<h3 id="upgrade0.98"><a class="anchor" href="#upgrade0.98"></a>13.4. Upgrading 
from 0.96.x to 0.98.x</h3>
 <div class="paragraph">
 <p>A rolling upgrade from 0.96.x to 0.98.x works. The two versions are not 
binary compatible.</p>
 </div>
@@ -6743,15 +7026,15 @@ for further discussion.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_upgrading_from_0_94_x_to_0_98_x"><a class="anchor" 
href="#_upgrading_from_0_94_x_to_0_98_x"></a>13.4. Upgrading from 0.94.x to 
0.98.x</h3>
+<h3 id="_upgrading_from_0_94_x_to_0_98_x"><a class="anchor" 
href="#_upgrading_from_0_94_x_to_0_98_x"></a>13.5. Upgrading from 0.94.x to 
0.98.x</h3>
 <div class="paragraph">
 <p>A rolling upgrade from 0.94.x directly to 0.98.x does not work. The upgrade 
path follows the same procedures as <a href="#upgrade0.96">Upgrading from 
0.94.x to 0.96.x</a>. Additional steps are required to use some of the new 
features of 0.98.x. See <a href="#upgrade0.98">Upgrading from 0.96.x to 
0.98.x</a> for an abbreviated list of these features.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="upgrade0.96"><a class="anchor" href="#upgrade0.96"></a>13.5. Upgrading 
from 0.94.x to 0.96.x</h3>
+<h3 id="upgrade0.96"><a class="anchor" href="#upgrade0.96"></a>13.6. Upgrading 
from 0.94.x to 0.96.x</h3>
 <div class="sect3">
-<h4 id="_the_singularity"><a class="anchor" 
href="#_the_singularity"></a>13.5.1. The "Singularity"</h4>
+<h4 id="_the_singularity"><a class="anchor" 
href="#_the_singularity"></a>13.6.1. The "Singularity"</h4>
 <div class="paragraph">
 <p>You will have to stop your old 0.94.x cluster completely to upgrade. If you 
are replicating between clusters, both clusters will have to go down to 
upgrade. Make sure it is a clean shutdown. The less WAL files around, the 
faster the upgrade will run (the upgrade will split any log files it finds in 
the filesystem as part of the upgrade process). All clients must be upgraded to 
0.96 too.</p>
 </div>
@@ -6760,7 +7043,7 @@ for further discussion.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="executing.the.0.96.upgrade"><a class="anchor" 
href="#executing.the.0.96.upgrade"></a>13.5.2. Executing the 0.96 Upgrade</h4>
+<h4 id="executing.the.0.96.upgrade"><a class="anchor" 
href="#executing.the.0.96.upgrade"></a>13.6.2. Executing the 0.96 Upgrade</h4>
 <div class="admonitionblock note">
 <table>
 <tr>
@@ -6925,7 +7208,7 @@ Successfully completed Log splitting</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="s096.migration.troubleshooting"><a class="anchor" 
href="#s096.migration.troubleshooting"></a>13.6. Troubleshooting</h3>
+<h3 id="s096.migration.troubleshooting"><a class="anchor" 
href="#s096.migration.troubleshooting"></a>13.7. Troubleshooting</h3>
 <div id="s096.migration.troubleshooting.old.client" class="paragraph">
 <div class="title">Old Client connecting to 0.96 cluster</div>
 <p>It will fail with an exception like the below. Upgrade.</p>
@@ -6947,7 +7230,7 @@ Successfully completed Log splitting</pre>
 </div>
 </div>
 <div class="sect3">
-<h4 id="_upgrading_code_meta_code_to_use_protocol_buffers_protobuf"><a 
class="anchor" 
href="#_upgrading_code_meta_code_to_use_protocol_buffers_protobuf"></a>13.6.1. 
Upgrading <code>META</code> to use Protocol Buffers (Protobuf)</h4>
+<h4 id="_upgrading_code_meta_code_to_use_protocol_buffers_protobuf"><a 
class="anchor" 
href="#_upgrading_code_meta_code_to_use_protocol_buffers_protobuf"></a>13.7.1. 
Upgrading <code>META</code> to use Protocol Buffers (Protobuf)</h4>
 <div class="paragraph">
 <p>When you upgrade from versions prior to 0.96, <code>META</code> needs to be 
converted to use protocol buffers. This is controlled by the configuration 
option <code>hbase.MetaMigrationConvertingToPB</code>, which is set to 
<code>true</code> by default. Therefore, by default, no action is required on 
your part.</p>
 </div>
@@ -6957,15 +7240,15 @@ Successfully completed Log splitting</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="upgrade0.94"><a class="anchor" href="#upgrade0.94"></a>13.7. Upgrading 
from 0.92.x to 0.94.x</h3>
+<h3 id="upgrade0.94"><a class="anchor" href="#upgrade0.94"></a>13.8. Upgrading 
from 0.92.x to 0.94.x</h3>
 <div class="paragraph">
 <p>We used to think that 0.92 and 0.94 were interface compatible and that you 
can do a rolling upgrade between these versions but then we figured that <a 
href="https://issues.apache.org/jira/browse/HBASE-5357";>HBASE-5357 Use builder 
pattern in HColumnDescriptor</a> changed method signatures so rather than 
return <code>void</code> they instead return <code>HColumnDescriptor</code>. 
This will throw <code>java.lang.NoSuchMethodError: 
org.apache.hadoop.hbase.HColumnDescriptor.setMaxVersions(I)V</code> so 0.92 and 
0.94 are NOT compatible. You cannot do a rolling upgrade between them.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="upgrade0.92"><a class="anchor" href="#upgrade0.92"></a>13.8. Upgrading 
from 0.90.x to 0.92.x</h3>
+<h3 id="upgrade0.92"><a class="anchor" href="#upgrade0.92"></a>13.9. Upgrading 
from 0.90.x to 0.92.x</h3>
 <div class="sect3">
-<h4 id="_upgrade_guide"><a class="anchor" href="#_upgrade_guide"></a>13.8.1. 
Upgrade Guide</h4>
+<h4 id="_upgrade_guide"><a class="anchor" href="#_upgrade_guide"></a>13.9.1. 
Upgrade Guide</h4>
 <div class="paragraph">
 <p>You will find that 0.92.0 runs a little differently to 0.90.x releases. 
Here are a few things to watch out for upgrading from 0.90.x to 0.92.0.</p>
 </div>
@@ -7055,7 +7338,7 @@ Successfully completed Log splitting</pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="upgrade0.90"><a class="anchor" href="#upgrade0.90"></a>13.9. Upgrading 
to HBase 0.90.x from 0.20.x or 0.89.x</h3>
+<h3 id="upgrade0.90"><a class="anchor" href="#upgrade0.90"></a>13.10. 
Upgrading to HBase 0.90.x from 0.20.x or 0.89.x</h3>
 <div class="paragraph">
 <p>This version of 0.90.x HBase can be started on data written by HBase 0.20.x 
or HBase 0.89.x. There is no need of a migration step. HBase 0.89.x and 0.90.x 
does write out the name of region directories 
differently&#8201;&#8212;&#8201;it names them with a md5 hash of the region 
name rather than a jenkins hash&#8201;&#8212;&#8201;so this means that once 
started, there is no going back to HBase 0.20.x.</p>
 </div>
@@ -37325,7 +37608,7 @@ The server will return cellblocks compressed using this 
same compressor as long
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2018-03-24 14:53:18 UTC
+Last updated 2018-03-24 19:20:03 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/92d12755/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 8a3e7f5..630ddc5 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3740,14 +3740,14 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a></code></td>
 <td><code><a 
href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Sat Mar 24 15:05:23 UTC 2018"</code></td>
+<td class="colLast"><code>"Sat Mar 24 19:31:54 UTC 2018"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a 
href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true";
 title="class or interface in java.lang">String</a></code></td>
 <td><code><a 
href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td 
class="colLast"><code>"e468b4022f76688851b3e0c34722f01a56bd624f"</code></td>
+<td 
class="colLast"><code>"ce702df41ba32a466887aee10949bdc963e9c404"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/92d12755/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html 
b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index 8febec4..12eecfe 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,9 +16,9 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a 
name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a 
name="line.9"></a>
 <span class="sourceLineNo">010</span>  public static final String version = 
"3.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = 
"e468b4022f76688851b3e0c34722f01a56bd624f";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = 
"ce702df41ba32a466887aee10949bdc963e9c404";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = 
"jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Sat 
Mar 24 15:05:23 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Sat 
Mar 24 19:31:54 UTC 2018";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = 
"git://jenkins-websites1.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a
 name="line.14"></a>
 <span class="sourceLineNo">015</span>  public static final String srcChecksum 
= "4bb21c67df33e6603cf92eaba9fe870f";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/92d12755/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 0cd121a..994f1b4 100644
--- a/index.html
+++ b/index.html
@@ -371,6 +371,8 @@ Apache HBase is an open-source, distributed, versioned, 
non-relational database
 <div class="section">
 <h2><a name="News"></a>News</h2>
        
+<p>June 18th, 2018 <a class="externalLink" 
href="https://hbase.apache.org/hbasecon-2018";>HBaseCon 2018</a> @ San Jose 
Convention Center, San Jose, CA, USA</p>
+       
 <p>August 4th, 2017 <a class="externalLink" 
href="https://easychair.org/cfp/HBaseConAsia2017";>HBaseCon Asia 2017</a> @ the 
Huawei Campus in Shenzhen, China</p>
        
 <p>June 12th, 2017 <a class="externalLink" 
href="https://easychair.org/cfp/hbasecon2017";>HBaseCon2017</a> at the 
Crittenden Buildings on the Google Mountain View Campus</p>

Reply via email to