[ https://issues.apache.org/jira/browse/HBASE-3443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-3443: --------------------------------- Fix Version/s: 0.96.0 > ICV optimization to look in memstore first and then store files (HBASE-3082) > does not work when deletes are in the mix > ---------------------------------------------------------------------------------------------------------------------- > > Key: HBASE-3443 > URL: https://issues.apache.org/jira/browse/HBASE-3443 > Project: HBase > Issue Type: Bug > Components: regionserver > Affects Versions: 0.90.0, 0.90.1, 0.90.2, 0.90.3, 0.90.4, 0.90.5, 0.90.6, > 0.92.0, 0.92.1 > Reporter: Kannan Muthukkaruppan > Assignee: Lars Hofhansl > Priority: Critical > Labels: corruption > Fix For: 0.96.0 > > Attachments: 3443.txt > > > For incrementColumnValue() HBASE-3082 adds an optimization to check memstores > first, and only if not present in the memstore then check the store files. In > the presence of deletes, the above optimization is not reliable. > If the column is marked as deleted in the memstore, one should not look > further into the store files. But currently, the code does so. > Sample test code outline: > {code} > admin.createTable(desc) > table = HTable.new(conf, tableName) > table.incrementColumnValue(Bytes.toBytes("row"), cf1name, > Bytes.toBytes("column"), 5); > admin.flush(tableName) > sleep(2) > del = Delete.new(Bytes.toBytes("row")) > table.delete(del) > table.incrementColumnValue(Bytes.toBytes("row"), cf1name, > Bytes.toBytes("column"), 5); > get = Get.new(Bytes.toBytes("row")) > keyValues = table.get(get).raw() > keyValues.each do |keyValue| > puts "Expect 5; Got Value=#{Bytes.toLong(keyValue.getValue())}"; > end > {code} > The above prints: > {code} > Expect 5; Got Value=10 > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira