[ 
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)

Reply via email to