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

Rushabh Shah commented on HBASE-25118:
--------------------------------------

Asked this question in dev mailing list. Copying the contents here for better 
visibility. 

I want to understand how to use the Hbase Cell Tags feature. We have a use case 
to identify the source of deletes (not the same as authenticated kerberos 
user). At my workplace we use Phoenix to interact with hbase and we are passing 
this information via Phoenix ConnectionProperties. We are exploring the Cell 
Tags feature to add this metadata to Hbase Cells (only to Delete Markers as of 
now).

Via [HBASE-18995|https://issues.apache.org/jira/browse/HBASE-18995], we have 
moved all the createCell methods which use Tag(s) as an argument to 
PrivateCellUtil class and made the InterfaceAudience of that class Private. I 
saw [some discussion on that 
jira|https://issues.apache.org/jira/browse/HBASE-18995?focusedCommentId=16219960&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16219960]
 to expose some methods as LimitedPrivate accessible to CP but was decided to 
do it later. We only expose 
[CellBuilderFactory|https://github.com/apache/hbase/blob/master/hbase-common/src/main/java/org/apache/hadoop/hbase/CellBuilderFactory.java]
 which returns which returns an instance of 
[CellBuilder|https://github.com/apache/hbase/blob/master/hbase-common/src/main/java/org/apache/hadoop/hbase/CellBuilder.java]
 which doesn't have a setTags method. Also the code is vastly different in 
branch-1.

Could someone please educate me on how to populate tags from the client
side (i.e Phoenix) while creating a Delete object ?

Cc [~ram_krish] [~stack] since you were involved in HBASE-18995. 



> Extend Cell Tags to Delete object.
> ----------------------------------
>
>                 Key: HBASE-25118
>                 URL: https://issues.apache.org/jira/browse/HBASE-25118
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Rushabh Shah
>            Assignee: Rushabh Shah
>            Priority: Major
>             Fix For: 3.0.0-alpha-1, 1.7.0, 2.4.0
>
>
> We want to track the source of mutations (especially Deletes) via Phoenix. We 
> have multiple use cases which does the deletes namely: customer deleting the 
> data, internal process like GDPR compliance, Phoenix TTL MR jobs. For every 
> mutations we want to track the source of operation which initiated the 
> deletes.
> At my day job, we have custom Backup/Restore tool.
> For example: During GDPR compliance cleanup (lets say at time t0), we 
> mistakenly deleted some customer data and it were possible that customer also 
> deleted some data from their side (at time t1). To recover mistakenly deleted 
> data, we restore from the backup at time (t0 - 1). By doing this, we also 
> recovered the data that customer intentionally deleted.
> We need a way for Restore tool to selectively recover data.
> We want to leverage Cell Tag feature for Delete mutations to store these 
> metadata. Currently Delete object doesn't support Tag feature.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to