[ 
https://issues.apache.org/jira/browse/FLUME-1321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13633475#comment-13633475
 ] 

Mike Percy commented on FLUME-1321:
-----------------------------------

Roshan I was thinking about this one recently... one example of where we must 
rollback on close is File channel... if not then a replayed WAL would be 
different than the FlumeEventQueue because close() is a no-op in file channel

In fact right now the semantics are a bit wacky and in order to support this 
properly we have to evaluate how the other channels need to change to ensure 
correctness after this change.

Maybe part of it would be requiring channels to implement rollback on close 
themselves, not sure if there are benefits to doing that over just doing it in 
the base class.
                
> BasicTransactionSemantics should never throw from close()
> ---------------------------------------------------------
>
>                 Key: FLUME-1321
>                 URL: https://issues.apache.org/jira/browse/FLUME-1321
>             Project: Flume
>          Issue Type: Bug
>    Affects Versions: v1.1.0
>            Reporter: Mike Percy
>            Assignee: Roshan Naik
>             Fix For: v1.4.0
>
>         Attachments: FLUME-1321.2.patch, FLUME-1321.patch
>
>
> Currently, BasicTransactionSemantics can throw from close(). This means that 
> exceptions will be clobbered in cases where unexpected exceptions are thrown, 
> since close() is idiomatically called in a finally block.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to