tephra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Neumann (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TEPHRA-99) Make "long running" transactions usable with TransactionContext
Date Fri, 15 Sep 2017 15:56:00 GMT

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

Andreas Neumann commented on TEPHRA-99:

Conceptually that can work. There are only two caveats:
- if you have a TTL for the table, then items can timeout after you commit the tx. If you
keep the tx active, then anything visible to the tx is protected from TTL 
- if some of the items are deleted or overwritten, and then a flush or compaction happens,
Tephra's coprocessor might eliminate the cells because they are not visible to any in-progress
or future transaction. 

If that is not a concern, then your approach should work. 

> Make "long running" transactions usable with TransactionContext
> ---------------------------------------------------------------
>                 Key: TEPHRA-99
>                 URL: https://issues.apache.org/jira/browse/TEPHRA-99
>             Project: Tephra
>          Issue Type: Improvement
>          Components: core
>            Reporter: Gary Helmling
>            Assignee: Gary Helmling
> "Long running" transactions (type == LONG) are supported by the Tephra {{TransactionManager}},
but {{TransactionContext}} does not expose any way for clients to interact with them.  I think
this will require a couple changes:
> * add a {{startLong()}} method to TransactionContext
> * add a constructor to TransactionContext that takes an existing {{Transaction}} instance.
 Since long running transactions are often used in map reduce processing, the process committing
the transaction may be different from the process that started the transaction.  In this situation,
we need a way to pass the serialized transaction all the way through to the other process.
> Regarding map reduce support, we could use additional utilities or support in place to
make transactions easier to use with map reduce.  But this would at least serve as a first

This message was sent by Atlassian JIRA

View raw message