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

Anoop Sam John commented on HBASE-6418:
---------------------------------------

bq.This logic only needs to be done for version delete markers (not column or 
family markers).
You mean in the delete column family we can not say only some older versions 
need to be deleted?
In Delete
{code}
/**
   * Delete all columns of the specified family with a timestamp less than
   * or equal to the specified timestamp.
   * <p>
   * Overrides previous calls to deleteColumn and deleteColumns for the
   * specified family.
   * @param family family name
   * @param timestamp maximum version timestamp
   * @return this for invocation chaining
   */
  public Delete deleteFamily(byte [] family, long timestamp) {
{code}
This is Delete family which tells a timestamp also. So all KVs older than this 
time in that family should get deleted right?

As per the code in prepareDeleteTimestamps
{code}
if (kv.isLatestTimestamp() && kv.isDeleteType()) {
....
} else {
  kv.updateLatestStamp(byteNow);
}
{code}
Here KV is type DeleteFamily but I have some specific timestamp. Still we will 
change the timestamp to the cur time! This is wrong?

Pls correct me if I am wrong Lars. I am not familiar with the delete.
                
> Minor bug in delete flow.
> -------------------------
>
>                 Key: HBASE-6418
>                 URL: https://issues.apache.org/jira/browse/HBASE-6418
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.94.0, 0.96.0, 0.94.1, 0.94.2
>            Reporter: Laxman
>            Assignee: Laxman
>
> Timestamp updation in Delete flow is not considering all flavors (Delete 
> record, Delete Family, Delete Column) of Delete API. Currently its 
> considering Delete Record only. 
>  
> org.apache.hadoop.hbase.regionserver.HRegion.prepareDeleteTimestamps(Delete, 
> byte[])
> {code}
>       for (KeyValue kv: kvs) {
>         //  Check if time is LATEST, change to time of most recent addition 
> if so
>         //  This is expensive.
>         if (kv.isLatestTimestamp() && kv.isDeleteType()) {
> {code}
> Basically used a wrong API.
> kv.isDeleteType() should be KeyValue.isDelete(type);

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