[
https://issues.apache.org/jira/browse/TEPHRA-263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ali Anwar updated TEPHRA-263:
-----------------------------
Description:
The logic for filtering for TTL:
https://github.com/apache/incubator-tephra/blob/release/0.12.0-incubating/tephra-core/src/main/java/org/apache/tephra/util/TxUtils.java#L66
It is subtracting the TTL duration from the visibility upper bound, but it
should be subtracting from the current time or the current write pointer
instead. Otherwise, if the TTL is 1 hour, but the visibility upper bound is 22
hours ago (due to some MR that has been in progress for 22 hours), then the TTL
that is actually enforced will be 23 hours and older data will be filtered.
After the long transactions are invalidated, the TTL is then strictly enforced.
was:
The logic for filtering for TTL:
https://github.com/apache/incubator-tephra/blob/release/0.12.0-incubating/tephra-core/src/main/java/org/apache/tephra/util/TxUtils.java#L66
It is subtracting the TTL duration from the visibility upper bound, but it
should be subtracting from the current time or the current write pointer
instead. Otherwise, if the TTL is 1 hour, but the visibility upper bound is 22
hours ago (due to some MR that has been in progress for 22 hours), then the TTL
that is actually enforced will be 23 hours and older data will be filtered.
> TTL is not strictly enforced, if there are long transactions running
> --------------------------------------------------------------------
>
> Key: TEPHRA-263
> URL: https://issues.apache.org/jira/browse/TEPHRA-263
> Project: Tephra
> Issue Type: Bug
> Reporter: Ali Anwar
> Assignee: Ali Anwar
>
> The logic for filtering for TTL:
> https://github.com/apache/incubator-tephra/blob/release/0.12.0-incubating/tephra-core/src/main/java/org/apache/tephra/util/TxUtils.java#L66
> It is subtracting the TTL duration from the visibility upper bound, but it
> should be subtracting from the current time or the current write pointer
> instead. Otherwise, if the TTL is 1 hour, but the visibility upper bound is
> 22 hours ago (due to some MR that has been in progress for 22 hours), then
> the TTL that is actually enforced will be 23 hours and older data will be
> filtered.
> After the long transactions are invalidated, the TTL is then strictly
> enforced.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)