diff --git a/src/main/asciidoc/_chapters/architecture.adoc b/src/main/asciidoc/_chapters/architecture.adoc index ebb06775aed..2ded8136c83 100644 --- a/src/main/asciidoc/_chapters/architecture.adoc +++ b/src/main/asciidoc/_chapters/architecture.adoc @@ -1216,6 +1216,22 @@ This will be the default for HBase 0.99 (link:https://issues.apache.org/jira/bro You must also enable HFile version 3 (which is the default HFile format starting in HBase 0.99. See link:https://issues.apache.org/jira/browse/HBASE-10855[HBASE-10855]). Distributed log replay is unsafe for rolling upgrades. +[[wal.compression]] +==== WAL Compression ==== + +The content of the WAL can be compressed using LRU Dictionary compression. +This can be used to speed up WAL replication to different datanodes. +The dictionary can store up to 2^15^ elements; eviction starts after this number is exceeded. + +To enable WAL compression, set the `hbase.regionserver.wal.enablecompression` property to `true`. +The default value for this property is `false`. +By default, WAL tag compression is turned on when WAL compression is enabled. +You can turn off WAL tag compression by setting the `hbase.regionserver.wal.tags.enablecompression` property to 'false'. + +A possible downside to WAL compression is that we lose more data from the last block in the WAL if it ill-terminated +mid-write. If entries in this last block were added with new dictionary entries but we failed persist the amended +dictionary because of an abrupt termination, a read of this last block may not be able to resolve last-written entries. + [[wal.disable]] ==== Disabling the WAL