Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-3300

force delete option for use cases that explicitly set version/timestamp

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • None
    • None
    • None
    • None

    Description

      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.

      #1. PUT(row, col, version1,  old-value)
      #2. DELETE(row, col, version2)
      #3. PUT(row, col, version1, new-value)
      

      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?

      Attachments

        Activity

          People

            Unassigned Unassigned
            kannanm Kannan Muthukkaruppan
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: