upsert doesn't matchFamily() before removing key
------------------------------------------------

                 Key: HBASE-3399
                 URL: https://issues.apache.org/jira/browse/HBASE-3399
             Project: HBase
          Issue Type: Bug
    Affects Versions: 0.90.0
            Reporter: Prakash Khemani
            Assignee: Jonathan Gray


org.apache.hadoop.hbase.regionserver.MemStore.upsert(KeyValue) doesn't match 
family before deciding to remove a kv in the memstore

      // if the qualifier matches and it's a put, remove it
      if (kv.matchingQualifier(cur)) {

        // to be extra safe we only remove Puts that have a memstoreTS==0
        if (kv.getType() == KeyValue.Type.Put.getCode() &&
            kv.getMemstoreTS() == 0) {
          // false means there was a change, so give us the size.
          addedSize -= heapSizeChange(kv, true);
          it.remove();
        }

shouldn't it be "if the family and qualifier match and it's a Put, remove it"?



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