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

[email protected] commented on FLUME-1131:
------------------------------------------------------



bq.  On 2012-05-02 17:05:30, Arvind Prabhakar wrote:
bq.  > 
flume-ng-core/src/test/java/org/apache/flume/channel/TestChannelProcessor.java, 
line 1
bq.  > <https://reviews.apache.org/r/4837/diff/2/?file=103887#file103887line1>
bq.  >
bq.  >     Missing the license header.

fixed


bq.  On 2012-05-02 17:05:30, Arvind Prabhakar wrote:
bq.  > 
flume-ng-core/src/main/java/org/apache/flume/channel/ChannelProcessor.java, 
lines 121-145
bq.  > <https://reviews.apache.org/r/4837/diff/2/?file=103886#file103886line121>
bq.  >
bq.  >     Perhaps this is equivalent to:
bq.  >     
bq.  >      ...
bq.  >      } catch (Throwable th) {
bq.  >        if (tx != null) {
bq.  >           try {
bq.  >             tx.rollback();
bq.  >           } catch (Exception ex) {
bq.  >             LOG.warn("exception...", ex);
bq.  >           }
bq.  >        }
bq.  >        Throwables.propagate(th);
bq.  >     } finally {
bq.  >        if (tx != null) {
bq.  >          tx.close();
bq.  >        }
bq.  >     }
bq.  >     
bq.  >     If you agree, I would request that we follow this logic instead in 
other places as well below.

Agreed, updated in the latest patch.


- Brock


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4837/#review7474
-----------------------------------------------------------


On 2012-05-05 15:44:22, Brock Noland wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/4837/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2012-05-05 15:44:22)
bq.  
bq.  
bq.  Review request for Flume.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  ChannelProcessor did not handle transactions well, in some cases if 
anything but ChannelException was thrown, the close in the finally would throw 
an exception as rollback was not called. In other cases if a subclass of error 
was thrown the same would occurred. Additionally, if getTransaction threw an 
exception the null transaction value was not handled and an NPE would be thrown.
bq.  
bq.  
bq.  This addresses bug FLUME-1131.
bq.      https://issues.apache.org/jira/browse/FLUME-1131
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    flume-ng-core/pom.xml b798b34 
bq.    
flume-ng-core/src/main/java/org/apache/flume/channel/ChannelProcessor.java 
eb6460e 
bq.    
flume-ng-core/src/test/java/org/apache/flume/channel/TestChannelProcessor.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/4837/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  Tests added and tests pass.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Brock
bq.  
bq.


                
> ChannelProcessor does not handle transactions appropriately
> -----------------------------------------------------------
>
>                 Key: FLUME-1131
>                 URL: https://issues.apache.org/jira/browse/FLUME-1131
>             Project: Flume
>          Issue Type: Bug
>    Affects Versions: v1.1.0
>            Reporter: Brock Noland
>            Assignee: Brock Noland
>         Attachments: FLUME-1131-0.patch
>
>
> If an Exception is thrown in ChannelProcessor.processEvent whilst getting an 
> exception, tx will be null and when rollback is called on tx, an NPE will be 
> thrown.
> {noformat}
> 12/04/18 19:03:17 ERROR source.PollableSourceRunner: Unhandled exception, 
> logging and sleeping for 5000ms
> java.lang.NullPointerException
>       at 
> org.apache.flume.channel.ChannelProcessor.processEvent(ChannelProcessor.java:183)
>       at 
> org.apache.flume.source.SequenceGeneratorSource.process(SequenceGeneratorSource.java:48)
>       at 
> org.apache.flume.source.PollableSourceRunner$PollingRunner.run(PollableSourceRunner.java:131)
>       at java.lang.Thread.run(Thread.java:662)
> {noformat}

--
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