[ 
https://issues.apache.org/jira/browse/HBASE-3398?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prakash Khemani resolved HBASE-3398.
------------------------------------

      Resolution: Not A Problem
    Release Note: maxversion is set to 1

> increment(Increment, Integer, boolean) might fail
> -------------------------------------------------
>
>                 Key: HBASE-3398
>                 URL: https://issues.apache.org/jira/browse/HBASE-3398
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.0
>            Reporter: Prakash Khemani
>            Assignee: Jonathan Gray
>
> In org.apache.hadoop.hbase.regionserver.HRegion.increment(Increment, Integer, 
> boolean) the following loop assumes that the result from geLastIncrement() 
> has a single entry for a given <family, qualifier>. But that is not 
> necessarily true. getLastIncrement() does a union of all entries found in 
> each of the store files ... and multiple versions of the same key are quite 
> possible.
>           List<KeyValue> results = getLastIncrement(get);
>           // Iterate the input columns and update existing values if they were
>           // found, otherwise add new column initialized to the increment 
> amount
>           int idx = 0;
>           for (Map.Entry<byte [], Long> column : 
> family.getValue().entrySet()) {
>             long amount = column.getValue();
>             if (idx < results.size() &&
>                 results.get(idx).matchingQualifier(column.getKey())) {
>               amount += Bytes.toLong(results.get(idx).getValue());
>               idx++;
>             }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to