Programs need better control over transactions

Description

Currently, programs have little control over when a transaction begins and ends, how long the transaction timeout is, or whether a method needs a transaction at all:

  • flowlets and service handler methods, as well as program lifecycle methods are always executed in a (short) transaction with the transaction timeout configured in cdap-site.xml

  • workers and custom workflow action have explicit control over transactions via the Transactional.execute() interface. But cannot control the timeout.

We need to make the timeout configurable through configuration as well as programmatically:

  • add a way to configure the timeout at a finer granularity

  • add methods to Transactional that allow a custom timeout or no timeout

  • add add a way for flowlet, handler and lifecycle methods to use Transactional instead of an implicit transaction.

Release Notes

Gives programs more control over when and how transactions are executed.
100% Done
Loading...

Activity

Show:
Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Affects versions

Components

Fix versions

Priority

Created September 20, 2016 at 10:08 PM
Updated December 16, 2016 at 5:35 AM
Resolved December 16, 2016 at 5:35 AM