Updated Branches: refs/heads/flume-1.4 bfbab6286 -> 284fc6e5e
FLUME-1175: RollingFileSink complains of Bad File Descriptor upon a reconfig event (Roshan Naik via Brock Noland) Project: http://git-wip-us.apache.org/repos/asf/flume/repo Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/284fc6e5 Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/284fc6e5 Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/284fc6e5 Branch: refs/heads/flume-1.4 Commit: 284fc6e5e2552e3e3e50640943f461c9568b39a8 Parents: bfbab62 Author: Brock Noland <[email protected]> Authored: Fri Dec 7 10:13:02 2012 -0600 Committer: Brock Noland <[email protected]> Committed: Fri Dec 7 10:13:12 2012 -0600 ---------------------------------------------------------------------- .../org/apache/flume/sink/RollingFileSink.java | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flume/blob/284fc6e5/flume-ng-core/src/main/java/org/apache/flume/sink/RollingFileSink.java ---------------------------------------------------------------------- diff --git a/flume-ng-core/src/main/java/org/apache/flume/sink/RollingFileSink.java b/flume-ng-core/src/main/java/org/apache/flume/sink/RollingFileSink.java index be640bb..2677531 100644 --- a/flume-ng-core/src/main/java/org/apache/flume/sink/RollingFileSink.java +++ b/flume-ng-core/src/main/java/org/apache/flume/sink/RollingFileSink.java @@ -146,7 +146,6 @@ public class RollingFileSink extends AbstractSink implements Configurable { try { serializer.flush(); serializer.beforeClose(); - outputStream.flush(); outputStream.close(); sinkCounter.incrementConnectionClosedCount(); shouldRotate = false; @@ -154,10 +153,10 @@ public class RollingFileSink extends AbstractSink implements Configurable { sinkCounter.incrementConnectionFailedCount(); throw new EventDeliveryException("Unable to rotate file " + pathController.getCurrentFile() + " while delivering event", e); + } finally { + serializer = null; + outputStream = null; } - - serializer = null; - outputStream = null; pathController.rotate(); } } @@ -235,12 +234,14 @@ public class RollingFileSink extends AbstractSink implements Configurable { try { serializer.flush(); serializer.beforeClose(); - outputStream.flush(); outputStream.close(); sinkCounter.incrementConnectionClosedCount(); } catch (IOException e) { sinkCounter.incrementConnectionFailedCount(); logger.error("Unable to close output stream. Exception follows.", e); + } finally { + outputStream = null; + serializer = null; } } if(rollInterval > 0){
