tephra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TEPHRA-199) Enforce maximum duration a transaction can be used for data writes
Date Sat, 03 Dec 2016 22:23:59 GMT

    [ https://issues.apache.org/jira/browse/TEPHRA-199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15718838#comment-15718838

ASF GitHub Bot commented on TEPHRA-199:

Github user poornachandra commented on the issue:

    Thanks for the review @anew. I've addressed the comments, please take another look.
    > Regarding correctness, my major concern is that the (min(max invalid), min(inProgress)-1)
is not a safe bound for transaction that are guaranteed not to write any more.
    I have filed TEPHRA-199 to address this, I'll make the changes in the next PR.
    Do you have a suggestion for a better name for `pruneUpperBoundTime`? Basically this is
an upper bound for transactions that are not active (i.e, can be still used for writing).

> Enforce maximum duration a transaction can be used for data writes
> ------------------------------------------------------------------
>                 Key: TEPHRA-199
>                 URL: https://issues.apache.org/jira/browse/TEPHRA-199
>             Project: Tephra
>          Issue Type: Sub-task
>          Components: core
>            Reporter: Poorna Chandra
>            Assignee: Poorna Chandra
>             Fix For: 0.10.0-incubating
> Based on a comment from [~anew] in a PR [ 1 ] -
> Question: Suppose I start a transaction, which times out, and therefore goes into the
invalid list. A little later HBase performs a major compaction. This transaction and all its
writes are removed from the table by the DataJanitor. A little later TxManager prunes its
invalid transactions, and because this tx has been removed from HBase, it removes it from
the invalid list.
> The problem is if the program that started the transaction is still running. What if
it performs another write after the transaction pruning? This would be an invalid version,
but now it has been pruned from the invalid list and becomes visible.
> [ 1 ] - https://github.com/apache/incubator-tephra/pull/19#issuecomment-258645956

This message was sent by Atlassian JIRA

View raw message