Create abstract implementations of basic channel/transaction semantics
----------------------------------------------------------------------

                 Key: FLUME-935
                 URL: https://issues.apache.org/jira/browse/FLUME-935
             Project: Flume
          Issue Type: Improvement
          Components: Channel
            Reporter: Peter Newcomb
            Assignee: Peter Newcomb
            Priority: Minor


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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to