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