[
https://issues.apache.org/jira/browse/HBASE-10885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14028975#comment-14028975
]
Anoop Sam John commented on HBASE-10885:
----------------------------------------
Copying the discussion from RB to here because it will get better attention
bq.If suppose there are no tags in the delete cell, but the Cell that is
getting covered by the delete has a Tag, then we should not delete the cell
right? If that cell also does not have the tag then it is ok to consider it
deleted as per the case.
No. IMO no need to go this way. visibility tags might be there with put cells.
This was done to control the visibility across different users. But delete can
be like normal delete as today. A delete is issued and it is not having vis exp
in it. Means all the cells covered by that tombstone must be deleted
(irrespective of whether the put cells having tags or not). Issuing deletes
with vis exp in it is special kind of deletion. There only do the matching of
the exps and only the exp matching put cells can be deleted.
So in the isDeleted() check the existing logic can still be good here in your
new DeleteTracker impl. Under every case, have extra check for vis exp matching
also. (When the delete tombstone under consideration was having a vis exp in
it.)
Correct me if I am wrong [~apurtell]
> Support visibility expressions on Deletes
> -----------------------------------------
>
> Key: HBASE-10885
> URL: https://issues.apache.org/jira/browse/HBASE-10885
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 0.98.1
> Reporter: Andrew Purtell
> Assignee: ramkrishna.s.vasudevan
> Priority: Blocker
> Fix For: 0.99.0, 0.98.4
>
> Attachments: HBASE-10885_1.patch, HBASE-10885_2.patch,
> HBASE-10885_new_tag_type_1.patch, HBASE-10885_new_tag_type_2.patch,
> HBASE-10885_v1.patch, HBASE-10885_v2.patch, HBASE-10885_v2.patch,
> HBASE-10885_v2.patch, HBASE-10885_v3.patch
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.2#6252)