Uploaded image for project: 'CDAP'
  1. CDAP
  2. CDAP-7319

Programs need better control over transactions

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.5.1
    • Fix Version/s: 4.0.0
    • Component/s: API, App Fabric
    • Labels:
      None
    • Release Notes:
      Gives programs more control over when and how transactions are executed.
    • Rank:
      1|hzzm7j:

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                andreas Andreas Neumann
                Reporter:
                andreas Andreas Neumann
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: