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