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

Support visibility expressions on Deletes

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.98.1
    • Fix Version/s: 0.99.0, 0.98.4
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    • Release Note:
      Hide
      Deletes can be specified with Cell Visibility as done for puts.
      Cells covered by the delete is found by doing pattern matching.
      A deleteFamily issued for row1, f1 with Cell Visibility (A & B) would delete only those cells of row1 under family f1 which has cell visibility A&B or B&A. A delete without any cell visibility would only delete those cells that does not have any cell visibility.
      In case of delete specific column with latest version only the latest cell with the specified cell visibility will be covered by the delete marker. In case there is no such cell with the specified cell visibility then no cell gets deleted.
      Show
      Deletes can be specified with Cell Visibility as done for puts. Cells covered by the delete is found by doing pattern matching. A deleteFamily issued for row1, f1 with Cell Visibility (A & B) would delete only those cells of row1 under family f1 which has cell visibility A&B or B&A. A delete without any cell visibility would only delete those cells that does not have any cell visibility. In case of delete specific column with latest version only the latest cell with the specified cell visibility will be covered by the delete marker. In case there is no such cell with the specified cell visibility then no cell gets deleted.

      Description

      Accumulo can specify visibility expressions for delete markers. During compaction the cells covered by the tombstone are determined in part by matching the visibility expression. This is useful for the use case of data set coalescing, where entries from multiple data sets carrying different labels are combined into one common large table. Later, a subset of entries can be conveniently removed using visibility expressions.

      Currently doing the same in HBase would only be possible with a custom coprocessor. Otherwise, a Delete will affect all cells covered by the tombstone regardless of any visibility expression scoping. This is correct behavior in that no data spill is possible, but certainly could be surprising, and is only meant to be transitional. We decided not to support visibility expressions on Deletes to control the complexity of the initial implementation.

        Attachments

        1. HBASE-10885_1.patch
          89 kB
          ramkrishna.s.vasudevan
        2. HBASE-10885_2.patch
          99 kB
          ramkrishna.s.vasudevan
        3. HBASE-10885_new_tag_type_1.patch
          112 kB
          ramkrishna.s.vasudevan
        4. HBASE-10885_new_tag_type_2.patch
          112 kB
          ramkrishna.s.vasudevan
        5. HBASE-10885_v1.patch
          141 kB
          ramkrishna.s.vasudevan
        6. HBASE-10885_v2.patch
          113 kB
          ramkrishna.s.vasudevan
        7. HBASE-10885_v2.patch
          113 kB
          ramkrishna.s.vasudevan
        8. HBASE-10885_v2.patch
          113 kB
          stack
        9. HBASE-10885_v3.patch
          114 kB
          ramkrishna.s.vasudevan
        10. HBASE-10885_v4.patch
          130 kB
          ramkrishna.s.vasudevan
        11. HBASE-10885_v5.patch
          130 kB
          ramkrishna.s.vasudevan
        12. 10885-org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithDeletes-output.txt
          3.16 MB
          Ted Yu
        13. HBASE-10885_v7.patch
          128 kB
          ramkrishna.s.vasudevan
        14. HBASE-10885_v8.patch
          129 kB
          ramkrishna.s.vasudevan
        15. HBASE-10885_v9.patch
          138 kB
          ramkrishna.s.vasudevan
        16. HBASE-10885_v12.patch
          148 kB
          ramkrishna.s.vasudevan
        17. HBASE-10885_v12.patch
          148 kB
          ramkrishna.s.vasudevan
        18. HBASE-10885_v13.patch
          153 kB
          ramkrishna.s.vasudevan
        19. HBASE-10885_v15.patch
          159 kB
          ramkrishna.s.vasudevan
        20. HBASE-10885_v17.patch
          171 kB
          ramkrishna.s.vasudevan
        21. HBASE-10885_0.98_1.patch
          171 kB
          ramkrishna.s.vasudevan
        22. HBASE-10885_branch_1.patch
          171 kB
          ramkrishna.s.vasudevan
        23. HBASE-10885_v17.patch
          171 kB
          Anoop Sam John

          Issue Links

            Activity

              People

              • Assignee:
                ram_krish ramkrishna.s.vasudevan
                Reporter:
                apurtell Andrew Purtell
              • Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: