You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tephra.apache.org by "Poorna Chandra (JIRA)" <ji...@apache.org> on 2017/02/14 19:49:41 UTC

[jira] [Updated] (TEPHRA-199) Enforce maximum duration a transaction can be used for data writes

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

Poorna Chandra updated TEPHRA-199:
----------------------------------
    Fix Version/s:     (was: 0.10.0-incubating)
                   0.11.0-incubating

> 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.11.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
(v6.3.15#6346)