Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions src/main/asciidoc/_chapters/upgrading.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,13 @@ Previously, we tried to maintain dependency compatibility for the underly Hadoop
|Operational Compatibility | N |N |Y
|===

[IMPORTANT]
======
HBase 1.7.0 release violated client-server wire compatibility guarantees and was subsequently
withdrawn after the incompatibilities were reported and fixed in 1.7.1. If you are considering an
upgrade to 1.7.x line, see <<upgrade1.7.x>>.
======

[[hbase.client.api.surface]]
==== HBase API Surface

Expand Down Expand Up @@ -799,6 +806,21 @@ To upgrade an existing HBase 1.x cluster, you should:
* Upgrade RegionServers
* (Eventually) Upgrade Clients

[[upgrade1.7.x]]
=== Upgrading to 1.7.1+
HBase release 1.7.0 introduced an incompatible table metadata serialization format that broke the
minor release compatibility guarantees. The issue was reported in https://issues.apache.org/jira/browse/HBASE-26021[HBASE-26021] and the problematic serialization patch was reverted in
HBase 1.7.1. Some important notes about 1.7.x upgrades below.

* If you are considering an upgrade to 1.7.x version, skip 1.7.0 completely and upgrade to 1.7.1+
version. 1.7.0 was withdrawn and removed from the Apache sites.
* If you already installed a 1.7.0 cluster from scratch and are looking to migrate to 1.7.1+, you
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if I upgraded from 1.6 to 1.7.0 and am now running 1.7.0?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You cannot, the bug doesn't let you upgrade. During the upgrade, 1.7.0 binaries try to parse the table descriptors and it blows up (META to begin with).

cannot follow the regular rolling upgrade procedures due to broken compatibility contracts.
Instead shutdown the cluster and reboot with 1.7.1+ binaries. Newer versions detect any existing
tables with incompatible serialization and rewrite them using the correct format at bootstrap.
* If you are already on 1.7.1+ version, everything is good and no additional steps need to be
performed.

[[upgrade1.4]]
=== Upgrading from pre-1.4 to 1.4+

Expand Down