force delete option for use cases that explicitly set version/timestamp
-----------------------------------------------------------------------
Key: HBASE-3300
URL: https://issues.apache.org/jira/browse/HBASE-3300
Project: HBase
Issue Type: Improvement
Reporter: Kannan Muthukkaruppan
Background: For use cases that explicitly set versions, after a delete, it is
not possible to insert values with older versions. So for example if you did a
puts (v1) and delete (@ v2), subsequent puts with an older version (e.g., v1)
will not take effect since the delete has a higher version.
{code}
#1. PUT(row, col, version1, old-value)
#2. DELETE(row, col, version2)
#3. PUT(row, col, version1, new-value)
{code}
The row/col stays deleted, and this is expected behavior since the delete has a
higher timestamp.
Feature Request: It would be good to provide a "force" delete mechanism --
something that allows the row or a specific column to be started with a clean
slate. i.e. forget about everything that happened to this item earlier, and
lets you start afresh. Without this there is no good cleanup mechanism for use
cases that set versions explicitly.
[Note: The only workaround for this depends on a subtle implementation detail
that major compactions discard delete markers. So if a major compaction
happened between steps #2 & #3, then you would in fact be able to put a value
with an older version.]
Thoughts?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.