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

ramkrishna.s.vasudevan commented on HBASE-10885:
------------------------------------------------

What should be the behaviour in this case
{code}
put 't1','r1','f1:c1','100',101,{VISIBILITY=>'PRIVATE|SECRET'}
put 't1','r1','f1:c1','100',102,{VISIBILITY=>'PRIVATE'}
put 
't1','r1','f1:c1','100',103,{VISIBILITY=>'(SECRET&TOPSECRET)|(PRIVATE&CONFIDENTIAL)'}
put 't1','r1','f1:c1','100',104,{VISIBILITY=>'(SECRET&TOPSECRET)'}
put 
't1','r1','f1:c1','100',105,{VISIBILITY=>'(SECRET&TOPSECRET)|(PRIVATE&CONFIDENTIAL)'}
{code}
Now if we issue a deleteColumn with specific timestamp for ts = 104 and 
visibility=(SECRET&TOPSECRET). Then cell with ts=104 gets deleted.
Now if there is a deleteFamily issued with ts = 103 and visibility = 
(SECRET&TOPSECRET)|(PRIVATE&CONFIDENTIAL) now should we delete cells from 103 
to 101 and also the cell at 104 caused by the first deleteColumn?
In case of cells without visibility the behaviour is finally only the cell with 
105 is available and others are deleted.
In such cases should we need to track the visibility expression per ts.  It is 
possible but in case of cases where the number of versions are more then this 
tracking would be a bit of an overhead. Thoughts? All these cases happens when 
things are in memstore and no flushes/compactions.

> 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.3
>
>         Attachments: HBASE-10885_1.patch, HBASE-10885_2.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