HBASE-18070 makes it so hbase:meta read replicas can run closer to the
primary, (< second lags rather than minutes). It adds Async WAL
Replication[1] on the hbase:meta table; i.e. edits are sprayed across
replicas as they arrive at the primary's WAL. Before this work, Async WAL
Replication was only available on user-space tables and the only option for
hbase:meta read replicas was reloading the primaries hfiles on a period
(minutes). HBASE-18070 also adds an optional client-side 'LoadBalance'
policy that favors read replicas ahead of primary reads falling back to the
primary on fault. Together, these additions allow distributing hbase:meta
read load across primary and replicas alleviating 'hotspotting'.

I would like to merge the feature to master branch Monday evening if there
is no objection (Soon after I'll merge to branch-2 so this feature can
hopefully be included in the upcoming 2.4.0RC).

 * For the design, see [2].
 * For an amalgamated PR of the 5 or 6 reviewed PRs that comprise this
feature, see [3].
 * For a PE report that compared performance before and after, see
HBASE-25127 (no regression).
 * A report on ITBLL runs is pending to be attached to HBASE-18070 but runs
so far show no regression with the feature enabled (ITBLL runs were done
against a backport of this feature to branch-2 as the ITBLL state of master
is currently an unknown).

Testing continues mainly looking for further improvement and to better
understand this feature in operation. Documentation is included but in need
of polish (working on it).

Dump any questions here and I'll be happy to respond. If you need more time
to review, just shout.

Thanks and thanks to all who contributed to this feature; the reviewers and
the testers in particular.

S

1. http://hbase.apache.org/book.html#_asnyc_wal_replication
2.
https://docs.google.com/document/d/1jJWVc-idHhhgL4KDRpjMsQJKCl_NRaCLGiH3Wqwd3O8/edit#
This patch is currently missing HBASE-25280, a bug found in testing.
3. https://github.com/apache/hbase/pull/2643

Reply via email to