You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Vishal Khandelwal (JIRA)" <ji...@apache.org> on 2017/09/28 09:37:03 UTC

[jira] [Resolved] (HBASE-18460) Rows are not getting deleted once TTL crosses and minversion is 0

     [ https://issues.apache.org/jira/browse/HBASE-18460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vishal Khandelwal resolved HBASE-18460.
---------------------------------------
    Resolution: Not A Problem

> Rows are not getting deleted once TTL crosses and minversion is 0
> -----------------------------------------------------------------
>
>                 Key: HBASE-18460
>                 URL: https://issues.apache.org/jira/browse/HBASE-18460
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.3.0
>            Reporter: Vishal Khandelwal
>         Attachments: test.patch, TestTTL.java
>
>
> Wrote a Simple program to find the different behavior between 0.98 Vs hbase.1.3
>  
> Here is the scenario :
>  
> 1. Create a table with minversion=1, TTL = 60 secs
> 2. Create a row 'r1' with ts = currentTime
> 3. Create a row 'r2' with ts = currentTime - 2 *tll
> 4. flush and majorcompact
>  
> Expected behavior from is if we do with raw=true or raw=false. number of rows should be = 1. scanner should only print values beyond ttl, This behavior is different for 0.98 and 1.3
>  
> In 0.98
> 1) keyvalues={a/family:family/1501052690599/Put/vlen=6/mvcc=0}
> Final countWithRaw = 1
> 1) keyvalues={a/family:family/1501052690599/Put/vlen=6/mvcc=0}
> Final countWithoutRaw = 1
>  
> whereas for same code in 1.3 it is giving following ouput
> 2) keyvalues={a/family:family/1501052754670/Put/vlen=6/seqid=0, a/family:family/1500932754662/Put/vlen=1/seqid=0}
> Final countWithRaw = 2
> 1) keyvalues={a/family:family/1501052754670/Put/vlen=6/seqid=0}
> Final countWithoutRaw = 1
>  
> So even after if I trigger admin.majorCompact for the table. number of rows with rawScan=true shows 2 rows where "isDelete" property is also false. This does note seem to correct behavior with hbase1.3 where rows are not getting deleted after it crosses TTL/major compaction and Scanner can still fetch them with raw=true.
> Here is the output from the test i have written 
> < ==== hbase.1.3 ===> 
> countBeforeFlushWithRaw = 3
> countBeforeFlushWithoutRaw = 1
> countAfterFlushWithRaw = 3
> countAfterFlushWithoutRaw = 1
> countAfterCompactionWithRaw = 3
> countAfterCompactionWithoutRaw = 1
> < ====== hbase 0.98.24 >
> countBeforeFlushWithRaw = 1
> countBeforeFlushWithoutRaw = 1
> countAfterFlushWithRaw = 1
> countAfterFlushWithoutRaw = 1
> countAfterCompactionWithRaw = 1
> countAfterCompactionWithoutRaw = 1



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)