[ https://issues.apache.org/jira/browse/HBASE-12948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14325336#comment-14325336 ]
Hudson commented on HBASE-12948: -------------------------------- FAILURE: Integrated in HBase-0.98-on-Hadoop-1.1 #815 (See [https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/815/]) HBASE-12948 Calling Increment#addColumn on the same column multiple times produces wrong result (hongyu bi) (tedyu: rev e34ee5838ecac5281bbf0c1053302b4aa1fb5e72) * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java * hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java > Calling Increment#addColumn on the same column multiple times produces wrong > result > ------------------------------------------------------------------------------------ > > Key: HBASE-12948 > URL: https://issues.apache.org/jira/browse/HBASE-12948 > Project: HBase > Issue Type: Bug > Components: Client, regionserver > Reporter: hongyu bi > Assignee: hongyu bi > Priority: Critical > Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.11 > > Attachments: 12948-0.98.txt, 12948-v2.patch, 12948-v2.patch, > HBASE-12948-0.99.2-v1.patch, HBASE-12948-v0.patch, HBASE-12948.patch > > > Case: > Initially get('row1'): > rowkey=row1 value=1 > run: > Increment increment = new Increment(Bytes.toBytes("row1")); > for (int i = 0; i < N; i++) { > increment.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("c"), 1) > } > hobi.increment(increment); > get('row1'): > if N=1 then result is 2 else if N>1 the result will always be 1 > Cause: > https://issues.apache.org/jira/browse/HBASE-7114 let increment extent > mutation which change familyMap from NavigableMap to List, so from client > side, we can buffer many edits on the same column; > However, HRegion#increment use idx to iterate the get's results, here > results.size<family.value().size if N>1,so the latter edits on the same > column won't match the condition {idx < results.size() && > CellUtil.matchingQualifier(results.get(idx), kv) }, meantime the edits share > the same mvccVersion ,so this case happen. > Fix: > according to the put/delete#add on the same column behaviour , > fix from server side: process "last edit wins on the same column" inside > HRegion#increment to maintenance HBASE-7114's extension and keep the same > result from 0.94. -- This message was sent by Atlassian JIRA (v6.3.4#6332)