HBASE-14053 Disable DLR in branch-1+

This commit is contained in:
stack 2015-07-09 16:38:04 -07:00
parent 22f0f3026f
commit 8da1214099
3 changed files with 22 additions and 73 deletions

View File

@ -875,11 +875,9 @@ public final class HConstants {
public static final String LOCALHOST_IP = "127.0.0.1";
/** Conf key that enables unflushed WAL edits directly being replayed to region servers */
public static final String DISTRIBUTED_LOG_REPLAY_KEY = "hbase.master.distributed.log.replay";
/**
* Default 'distributed log replay' as true since hbase 1.1 (HBASE-12577)
/** Conf key that enables unflushed WAL edits directly being replayed to region servers
*/
public static final String DISTRIBUTED_LOG_REPLAY_KEY = "hbase.master.distributed.log.replay";
public static final boolean DEFAULT_DISTRIBUTED_LOG_REPLAY_CONFIG = false;
public static final String DISALLOW_WRITES_IN_RECOVERING =
"hbase.regionserver.disallow.writes.when.recovering";

View File

@ -283,17 +283,6 @@ possible configurations would overwhelm and obscure the important.
<value>org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter</value>
<description>The WAL file writer implementation.</description>
</property>
<property>
<name>hbase.master.distributed.log.replay</name>
<value>true</value>
<description>Enable 'distributed log replay' as default engine splitting
WAL files on server crash. This default is new in hbase 1.0. To fall
back to the old mode 'distributed log splitter', set the value to
'false'. 'Disributed log replay' improves MTTR because it does not
write intermediate files. 'DLR' required that 'hfile.format.version'
be set to version 3 or higher.
</description>
</property>
<property>
<name>hbase.regionserver.global.memstore.size</name>
<value></value>

View File

@ -2690,13 +2690,6 @@ rs.close();
<section>
<title>Performance Improvements during Log Splitting</title>
<para>
WAL log splitting and recovery can be resource intensive and take a long time,
depending on the number of RegionServers involved in the crash and the size of the
regions. <xref linkend="distributed.log.splitting" /> and <xref
linkend="distributed.log.replay" /> were developed to improve
performance during log splitting.
</para>
<section xml:id="distributed.log.splitting">
<title>Distributed Log Splitting</title>
<para><firstterm>Distributed Log Splitting</firstterm> was added in HBase version 0.92
@ -2907,37 +2900,6 @@ ctime = Sat Jun 23 11:13:40 PDT 2012
</step>
</procedure>
</section>
<section xml:id="distributed.log.replay">
<title>Distributed Log Replay</title>
<para>After a RegionServer fails, its failed region is assigned to another
RegionServer, which is marked as "recovering" in ZooKeeper. A split log worker directly
replays edits from the WAL of the failed region server to the region at its new
location. When a region is in "recovering" state, it can accept writes but no reads
(including Append and Increment), region splits or merges. </para>
<para>Distributed Log Replay extends the <xref linkend="distributed.log.splitting" /> framework. It works by
directly replaying WAL edits to another RegionServer instead of creating
<filename>recovered.edits</filename> files. It provides the following advantages
over distributed log splitting alone:</para>
<itemizedlist>
<listitem><para>It eliminates the overhead of writing and reading a large number of
<filename>recovered.edits</filename> files. It is not unusual for thousands of
<filename>recovered.edits</filename> files to be created and written concurrently
during a RegionServer recovery. Many small random writes can degrade overall
system performance.</para></listitem>
<listitem><para>It allows writes even when a region is in recovering state. It only takes seconds for a recovering region to accept writes again.
</para></listitem>
</itemizedlist>
<formalpara>
<title>Enabling Distributed Log Replay</title>
<para>To enable distributed log replay, set <varname>hbase.master.distributed.log.replay</varname> to
true. This will be the default for HBase 0.99 (<link
xlink:href="https://issues.apache.org/jira/browse/HBASE-10888">HBASE-10888</link>).</para>
</formalpara>
<para>You must also enable HFile version 3 (which is the default HFile format starting
in HBase 0.99. See <link
xlink:href="https://issues.apache.org/jira/browse/HBASE-10855">HBASE-10855</link>).
Distributed log replay is unsafe for rolling upgrades.</para>
</section>
</section>
</section>
<section xml:id="wal.disable">