Uploaded image for project: 'Flume'
  1. Flume
  2. FLUME-935

Create abstract implementations of basic channel/transaction semantics

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.0.0
    • 1.1.0
    • Channel
    • None

    Description

      Correctly executing or checking the state transitions for channels and transactions is nontrivial. It would be helpful to have a correct implementation of each that can be used either directly or as a reference when creating new channels or clients of channels.

      Specifically, on the client side it would be nice to package the try

      { begin() ... commit() } catch { rollback() } finally { close() } code, with all the appropriate exception propagation and logging code, so that it need not be repeated constantly.

      On the channel side, it'd be nice to have a packaged implementation of the implied ThreadLocal semantics of the Transaction class, along with Preconditions checking to make sure that clients follow the try { begin() ... commit() }

      catch

      { rollback() }

      finally

      { close() }

      pattern.

      Attachments

        1. flume-935-5.patch
          51 kB
          Peter Newcomb

        Issue Links

          Activity

            People

              petenewcomb Peter Newcomb
              petenewcomb Peter Newcomb
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: