[
https://issues.apache.org/jira/browse/HBASE-3300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell resolved HBASE-3300.
-----------------------------------
Resolution: Not a Problem
> 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 was sent by Atlassian JIRA
(v6.2#6252)