Updated Branches:
  refs/heads/trunk 1c141029b -> e858adee4

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/e858adee
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/e858adee
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/e858adee

Branch: refs/heads/trunk
Commit: e858adee407bf76cf2a036433ed4173714505924
Parents: 1c14102
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:02 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/e858adee/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){

Reply via email to