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