[ 
https://issues.apache.org/jira/browse/HBASE-10885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14029478#comment-14029478
 ] 

Andrew Purtell commented on HBASE-10885:
----------------------------------------

bq.  In 98.3 we allow the puts to have the vis exp in it. When a user issue 
delete, it will delete all covered cells (irrespective of whether the put cells 
having tags in it or not). This way it works till 98.3 Now in 98.4 we will 
change this behavior.

Yes. 

What we should accomplish with this patch are two objectives:
1) Support deletes with user specified visibility expressions (if they have the 
authorizations)
2) Do not allow users without visibility from covering cells with tombstones, 
effectively.

#2 is the semantic change from earlier versions.

>From 0.98.0 we have been communicating at every opportunity that these 
>features are experimental until 1.0.  If there are still concerns or 
>objections for this kind of change, we can guard the new behavior with a 
>configuration toggle as a bridge from earlier 0.98 releases to 1.0.

{quote}
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.
{quote}

This isn't quite right though. If there are no tags in the delete cell, but the 
cell that is covered by the delete has a _visibility expression_ tag, then we 
need to check if the effective auths of the user who issued the delete grant 
visibility to the covered cell. Only if true do we delete it. If the covered 
cell has no visibility expression tag it is ok to delete (cells without 
visibility expressions evaluate is visible to everyone)

What do you think [~anoop.hbase]?

> 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)

Reply via email to