hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-5523) Fix Delete Timerange logic for KEEP_DELETED_CELLS
Date Mon, 05 Mar 2012 22:43:57 GMT
Fix Delete Timerange logic for KEEP_DELETED_CELLS
-------------------------------------------------

                 Key: HBASE-5523
                 URL: https://issues.apache.org/jira/browse/HBASE-5523
             Project: HBase
          Issue Type: Sub-task
            Reporter: Lars Hofhansl
            Assignee: Lars Hofhansl
            Priority: Minor
             Fix For: 0.94.0, 0.96.0


A Delete at time T marks a Put at time T as deleted.
In parent I invented special logic that insert a virtual millisecond into the tr if the encountered
KV is a delete marker.
This was so that there is a way to specify a timerange that would allow to see the put but
not the delete:
{code}
if (kv.isDelete()) {
  if (!keepDeletedCells) {
    // first ignore delete markers if the scanner can do so, and the
    // range does not include the marker
    boolean includeDeleteMarker = seePastDeleteMarkers ?
    // +1, to allow a range between a delete and put of same TS
    tr.withinTimeRange(timestamp+1) :
    tr.withinOrAfterTimeRange(timestamp);
{code}

Discussed this today with a coworker and he convinced me that this is very confusing and also
not needed.
When we have a Delete and Put at the same time T, there *is* not timerange that can include
the Put but not the Delete.

So I will change the code to this (and fix the tests):
{code}
if (kv.isDelete()) {
  if (!keepDeletedCells) {
    // first ignore delete markers if the scanner can do so, and the
    // range does not include the marker
    boolean includeDeleteMarker = seePastDeleteMarkers ?
    tr.withinTimeRange(timestamp) :
    tr.withinOrAfterTimeRange(timestamp);
{code}

It's easier to understand, and does not lead to strange scenarios when the TS is used as a
controlled counter.

Needs to be done before 0.94 goes out.

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

        

Mime
View raw message