-Re: HBase replication: "in order semantics"
Jan Van Besien 2012-11-12, 09:15
On 11/09/2012 07:01 PM, Himanshu Vashishtha wrote:
>> First of all, I assume that it is required for replication to work correct
>> that all edits are replayed on the replica HBase cluster in the same order
>> as they were executed on the source HBase cluster. Correct?
> Not really.... as it just tails the WAL at each regionserver in the
> source cluster and sends the edits to the destination cluster. The
> keyvalues are not altered while sending to the slave, so even if they
> reach out of order, they settle down there with the same effect. They
> are in order from a source cluster regionserver's perspective, not
> from a Table instance perspective.
Thanks. I overlooked the way HBase deals with versions of key value pairs.
It does however still mean that it is possible to see rows on the
replica in a state that never occurred on the original HBase cluster, in
case put (or even delete) operations are not replicated in original
order and a client is reading the "latest" state.
So it is "eventually consistent", but when it is "not yet consistent"
(replication out of order and ongoing), there is no way on the replica
to know this..
ps: sorry for the email duplicates of my original question.