hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6418) Minor bug in delete flow.
Date Wed, 18 Jul 2012 08:27:44 GMT

    [ 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

        

Mime
View raw message