Dave Latham created HBASE-9888:
----------------------------------
Summary: HBase replicates edits written before the replication
peer is created
Key: HBASE-9888
URL: https://issues.apache.org/jira/browse/HBASE-9888
Project: HBase
Issue Type: Bug
Reporter: Dave Latham
When creating a new replication peer the ReplicationSourceManager enqueues the
currently open HLog to the ReplicationSource to ship to the destination
cluster. The ReplicationSource starts at the beginning of the HLog and ships
over any pre-existing writes.
A workaround is to roll all the HLogs before enabling replication.
A little background for how it affected us - we were migrating one cluster in a
master-master pair. I.e. transitioning from A <-> B to B <-> C. After
shutting down writes from A -> B we enabled writes from C -> B. However, this
replicated some earlier writes that were in C's HLogs that had originated in A.
Since we were running a version of HBase before HBASE-7709 those writes then
got caught in a infinite replication cycle and bringing down region servers OOM
because of HBASE-9865.
However, in general, if one wants to manage what data gets replicated, one
wouldn't expect that potentially very old writes would be included when setting
up a new replication link.
--
This message was sent by Atlassian JIRA
(v6.1#6144)