[ https://issues.apache.org/jira/browse/TEPHRA-99?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16167194#comment-16167194 ]
Andreas Neumann commented on TEPHRA-99: --------------------------------------- You only need to worry about updateTx() if you use checkpointing, which I don't think you do (it is for writes). You don't need to do commitTx, because you are only reading, but I would recommend calling postTxCommit because it removes the transaction from the TxAware. By the way, how are you going to commit (or abort) this transaction? Will the client make a call to close the scan? And how will you do it if the client never calls that? You are running a risk of generating many invalid transactions if that happens frequently. > 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 step. -- This message was sent by Atlassian JIRA (v6.4.14#64029)