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

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

Theoretical speaking, when the CF having versions = 1, old cell (with whatever 
TTL value)  should get invalid once a new Cell version is added. This new one 
may have some TTL value.  If  the user wants to keep the old cell once the new 
one is TTL expired, he should have configured CF versions>1.  Based on whether 
flush happened or not or which HFiles having this 2 cells and whether 
compaction across those files happened, the result can vary. This is a known 
issue only.  The reason is same and the issue comes with diff combinations.  
How we handle the versions.

> There are version-related dirty data caused by delete/ttl
> ---------------------------------------------------------
>
>                 Key: HBASE-18638
>                 URL: https://issues.apache.org/jira/browse/HBASE-18638
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.3.1, 1.2.6, 2.0.0-alpha-1
>            Reporter: Chia-Ping Tsai
>            Assignee: Chia-Ping Tsai
>            Priority: Critical
>             Fix For: 2.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
>         Attachments: HBASE-18638-ut.patch, HBASE-18638-ut.patch
>
>
> |put_0(t0)|
> |put_1(t1)|  <-- the latest cell
> If we call get, the put_1 will return. That is good.
> If we call get after a delete, the put_0 will return. That is weird. The 
> put_0 is old data, and it should be dropped in flush. For client, put_0 
> should not exist after the put_1 happen.



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

Reply via email to