You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by ar...@apache.org on 2012/06/26 13:28:53 UTC
svn commit: r1353961 - in /incubator/flume/trunk:
flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java
flume-ng-core/src/main/java/org/apache/flume/channel/ChannelProcessor.java
Author: arvind
Date: Tue Jun 26 11:28:52 2012
New Revision: 1353961
URL: http://svn.apache.org/viewvc?rev=1353961&view=rev
Log:
FLUME-1322. ChannelProcessor does not log exceptions correctly.
(Mike Percy via Arvind Prabhakar)
Modified:
incubator/flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java
incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/channel/ChannelProcessor.java
Modified: incubator/flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java
URL: http://svn.apache.org/viewvc/incubator/flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java?rev=1353961&r1=1353960&r2=1353961&view=diff
==============================================================================
--- incubator/flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java (original)
+++ incubator/flume/trunk/flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java Tue Jun 26 11:28:52 2012
@@ -203,6 +203,7 @@ public class FileChannel extends BasicCh
builder.setLogWriteTimeout(logWriteTimeout);
builder.setCheckpointDir(checkpointDir);
builder.setLogDirs(dataDirs);
+ builder.setChannelName(getName());
log = builder.build();
Modified: incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/channel/ChannelProcessor.java
URL: http://svn.apache.org/viewvc/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/channel/ChannelProcessor.java?rev=1353961&r1=1353960&r2=1353961&view=diff
==============================================================================
--- incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/channel/ChannelProcessor.java (original)
+++ incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/channel/ChannelProcessor.java Tue Jun 26 11:28:52 2012
@@ -185,9 +185,16 @@ public class ChannelProcessor implements
}
tx.commit();
- } catch (ChannelException ex) {
+ } catch (Throwable t) {
+ LOG.error("Caught exception during Transaction", t);
tx.rollback();
- throw ex;
+ if (t instanceof ChannelException) {
+ throw (ChannelException) t;
+ } else if (t instanceof Error) {
+ throw (Error) t;
+ } else {
+ throw new ChannelException("Uncaught throwable", t);
+ }
} finally {
if (tx != null) {
tx.close();
@@ -209,9 +216,12 @@ public class ChannelProcessor implements
}
tx.commit();
- } catch (ChannelException ex) {
+ } catch (Throwable t) {
tx.rollback();
- LOG.warn("Unable to put event on optional channel", ex);
+ LOG.warn("Unable to put event on optional channel", t);
+ if (t instanceof Error) {
+ throw (Error) t;
+ }
} finally {
if (tx != null) {
tx.close();