diff --git a/src/main/asciidoc/_chapters/architecture.adoc b/src/main/asciidoc/_chapters/architecture.adoc index e4473fc7736..80e20a9e19f 100644 --- a/src/main/asciidoc/_chapters/architecture.adoc +++ b/src/main/asciidoc/_chapters/architecture.adoc @@ -693,9 +693,12 @@ See <> for more information on the meta table. [[master.wal]] === MasterProcWAL +_MasterProcWAL is replaced in hbase-2.3.0 by an alternate Procedure Store implementation; see +<>. This section pertains to hbase-2.0.0 through hbase-2.2.x_ + HMaster records administrative operations and their running states, such as the handling of a crashed server, -table creation, and other DDLs, into its own WAL file. The WALs are stored under the MasterProcWALs -directory. The Master WALs are not like RegionServer WALs. Keeping up the Master WAL allows +table creation, and other DDLs, into a Procedure Store. The Procedure Store WALs are stored under the +MasterProcWALs directory. The Master WALs are not like RegionServer WALs. Keeping up the Master WAL allows us run a state machine that is resilient across Master failures. For example, if a HMaster was in the middle of creating a table encounters an issue and fails, the next active HMaster can take up where the previous left off and carry the operation to completion. Since hbase-2.0.0, a diff --git a/src/main/asciidoc/_chapters/upgrading.adoc b/src/main/asciidoc/_chapters/upgrading.adoc index 3c51a62ff68..15d56cc160c 100644 --- a/src/main/asciidoc/_chapters/upgrading.adoc +++ b/src/main/asciidoc/_chapters/upgrading.adoc @@ -319,6 +319,26 @@ Quitting... The RegionServer Grouping feature has been reimplemented. See section <> in <> for more details. +[[upgrade2.3]] +=== Upgrade from 2.0.x-2.2.x to 2.3+ +There is no special consideration upgrading to hbase-2.3.x from earlier versions. From 2.2.x, it should be +rolling upgradeable. From 2.1.x or 2.0.x, you will need to clear the <> hurdle first. + +[[in-master-procedure-store-region]] +==== New In-Master Procedure Store + +Of note, HBase 2.3.0 changes the in-Master Procedure Store implementation. It was a dedicated custom store +(see <>) to instead use a standard HBase Region (link:https://issues.apache.org/jira/browse/HBASE-23326). +The migration from the old to new format is automatic run by the new 2.3.0 Master on startup. The old _MasterProcWALs_ +dir which hosted the old custom implementation files in _${hbase.rootdir}_ is deleted on successful +migration. A new _MasterProc_ sub-directory replaces it to host the Store files and WALs for the new +Procedure Store in-Master Region. The in-Master Region is unusual in that it writes to an +alternate location at _${hbase.rootdir}/MasterProc_ rather than under _${hbase.rootdir}/data_ in the +filesystem and the special Procedure Store in-Master Region is hidden from all clients other than the active +Master itself. Otherwise, it is like any other with the Master process running flushes and compactions, +archiving WALs when over-flushed, and so on. Its files are readable by standard Region and Store file +tooling for triage and analysis as long as they are pointed to the appropriate location in the filesystem. + [[upgrade2.2]] === Upgrade from 2.0 or 2.1 to 2.2+