[
https://issues.apache.org/jira/browse/HBASE-14905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15035737#comment-15035737
]
Vishal Khandelwal commented on HBASE-14905:
-------------------------------------------
@[Heng Chen] Issue was coming because we are not setting for replicationScanner
but only for the source clusters. So if all number of versions are same on the
cluster but there is difference in the content then Verify replication fails
with number of keys are different then the value. For example
replication.VerifyReplication - java.lang.Exception: This row doesn't have the
same number of KVs:
keyvalues={r1/f1:/1449056015561/Put/vlen=1/mvcc=0,
r1/f1:/1449056013235/Put/vlen=1/mvcc=0, r1/f1:/1449056010793/Put/vlen=1/mvcc=0,
r1/f1:/1449056008280/Put/vlen=1/mvcc=0}
compared to keyvalues={r1/f1:/1449056015561/Put/vlen=1/mvcc=0}
In above both tables have same number of KVs but replication scanner picked
only one.
This also returns false alarm if all versions match because of length. Please
look at patch after which for the fix.
I looked in the log and found " replication.VerifyReplication - Setting number
of version inside map as: -1" when conf is not set.
But these functionality works fine in the mini cluster. May be it is running
inside same jvm. I tested this on actual cluster. I have also added a print for
exception which was getting mask. Let me know this should be done as part
separate Jira.
> VerifyReplication does not honour versions option
> -------------------------------------------------
>
> Key: HBASE-14905
> URL: https://issues.apache.org/jira/browse/HBASE-14905
> Project: HBase
> Issue Type: Bug
> Components: tooling
> Reporter: Vishal Khandelwal
> Assignee: Vishal Khandelwal
> Attachments: test.patch
>
>
> source:
> hbase(main):001:0> scan 't1', {RAW => true, VERSIONS => 100}
> ROW COLUMN+CELL
>
>
> r1 column=f1:, timestamp=1449030102091,
> value=value1112
>
> r1 column=f1:, timestamp=1449029774173,
> value=value1001
>
> r1 column=f1:, timestamp=1449029709974,
> value=value1002
>
> target:
> hbase(main):023:0> scan 't1', {RAW => true, VERSIONS => 100}
> ROW COLUMN+CELL
>
>
> r1 column=f1:, timestamp=1449030102091,
> value=value1112
>
> r1 column=f1:, timestamp=1449030090758,
> value=value1112
>
> r1 column=f1:, timestamp=1449029984282,
> value=value1111
>
> r1 column=f1:, timestamp=1449029774173,
> value=value1001
>
> r1 column=f1:, timestamp=1449029709974,
> value=value1002
> /bin/hbase org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication
> --versions=100 1 t1
> org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication$Verifier$Counters
> GOODROWS=1
> Does not show any mismatch. Ideally it should show. This is because in
> VerifyReplication Class maxVersion is not correctly set.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)