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

Prakash Khemani commented on HBASE-4721:
----------------------------------------

I had started at a point where I thought I will independently assign ttls to 
delete markers. But now I have realized that it doesn't make any sense to give 
a different ttl to the delete-markers. (giving the delete-markers a smaller ttl 
than the puts will be incorrect. giving them a larger ttl than the puts will be 
pointless because then the delete-markers will be deleting already expired puts)

HBASE-4536 will work but only if keep-deleted-kvs flag is set on the column 
family (or is it table?). Do you think it makes sense to make it the default 
behavior that regardless of whether point-in-time queries are being supported 
or not, major compaction will not remove the delete-markers? A delete-marker 
will only be removed when it expires or when enough put versions accumulate 
before it.

Concerns that people have raised if we stopped removing all delete markers in a 
major compaction
(1) Space wastage. I am not sure if this is a big concern.
(2) The bigger issue is that the user will never be able to insert a Put beyond 
the delete marker. Today, if the user makes a mistake then the admin can go in, 
delete the puts, do a major compaction, and then the user can reinsert the 
correct Puts. This workflow will be nullified if we keep delete-markers even 
after major compaction.
(3) Today the user doesn't even know that there are delete markers. But that 
will have to change if we start keeping delete-markers beyond major compactions.

===
I don't get the reasoning behind why we need to keep deleted puts when syncing 
logs from one cluster to another. The problem that I am concerned about is the 
following

(1) Delete marker arrives from the source cluster
(2) major compaction happens on the target cluster which gets rid of the delete 
marker
(3) The deleted put arrives from the source cluster. Now that the delete marker 
is not there, this put will become visible on the target cluster.



                
> Retain Delete Markers after Major Compaction
> --------------------------------------------
>
>                 Key: HBASE-4721
>                 URL: https://issues.apache.org/jira/browse/HBASE-4721
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Prakash Khemani
>            Assignee: Prakash Khemani
>
> There is a need to provide long TTLs for delete markers. This is useful when 
> replicating hbase logs from one cluster to another. The receiving cluster 
> shouldn't compact away the delete markers because the affected key-values 
> might still be on the way.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to