[ 
https://issues.apache.org/jira/browse/HBASE-4570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13127711#comment-13127711
 ] 

Jonathan Hsieh commented on HBASE-4570:
---------------------------------------

Current experiment seems to indicate that Bytes.equals, when it uses the 
UNSAFE_COMPARER class doesn't always tell the truth, and causes scan rows to 
get chopped up into two rows.  I've modified code to use the PureJavaComparer 
and the described problem hasn't appeared yet (runing for 30 mins or so).  
                
> Scan ACID problem with concurrent puts.
> ---------------------------------------
>
>                 Key: HBASE-4570
>                 URL: https://issues.apache.org/jira/browse/HBASE-4570
>             Project: HBase
>          Issue Type: Bug
>          Components: client, regionserver
>    Affects Versions: 0.90.1, 0.90.3
>            Reporter: Jonathan Hsieh
>         Attachments: hbase-4570.tgz
>
>
> When scanning a table sometimes rows that have multiple column families get 
> split into two rows if there are concurrent writes.  In this particular case 
> we are overwriting the contents of a Get directly back onto itself as a Put.
> For example, this is a two cf row (with "f1", "f2", .. "f9" cfs).  It is 
> actually returned as two rows (#55 and #56). Interestingly if the two were 
> merged we would have a single proper row.
> Row row0000024461 had time stamps: [55: 
> keyvalues={row0000024461/f0:data/1318200440867/Put/vlen=1000, 
> row0000024461/f0:qual/1318200440867/Put/vlen=10, 
> row0000024461/f1:data/1318200440867/Put/vlen=1000, 
> row0000024461/f1:qual/1318200440867/Put/vlen=10, 
> row0000024461/f2:data/1318200440867/Put/vlen=1000, 
> row0000024461/f2:qual/1318200440867/Put/vlen=10, 
> row0000024461/f3:data/1318200440867/Put/vlen=1000, 
> row0000024461/f3:qual/1318200440867/Put/vlen=10, 
> row0000024461/f4:data/1318200440867/Put/vlen=1000, 
> row0000024461/f4:qual/1318200440867/Put/vlen=10}, 
> 56: keyvalues={row0000024461/f5:data/1318200440867/Put/vlen=1000, 
> row0000024461/f5:qual/1318200440867/Put/vlen=10, 
> row0000024461/f6:data/1318200440867/Put/vlen=1000, 
> row0000024461/f6:qual/1318200440867/Put/vlen=10, 
> row0000024461/f7:data/1318200440867/Put/vlen=1000, 
> row0000024461/f7:qual/1318200440867/Put/vlen=10, 
> row0000024461/f8:data/1318200440867/Put/vlen=1000, 
> row0000024461/f8:qual/1318200440867/Put/vlen=10, 
> row0000024461/f9:data/1318200440867/Put/vlen=1000, 
> row0000024461/f9:qual/1318200440867/Put/vlen=10}]
> I've only tested this on 0.90.1+patches and 0.90.3+patches, but it is 
> consistent and duplicatable.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to