Repository: flume
Updated Branches:
  refs/heads/flume-1.6 e62d22741 -> 6dd123433


FLUME-2245. Pre-close flush failure can cause HDFS Sinks to not process events.

(Juhani Connolly, Brock Noland via Hari Shreedharan)


Project: http://git-wip-us.apache.org/repos/asf/flume/repo
Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/6dd12343
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/6dd12343
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/6dd12343

Branch: refs/heads/flume-1.6
Commit: 6dd12343322cf73acddee7c0c4b73e9b94f44ccc
Parents: e62d227
Author: Hari Shreedharan <[email protected]>
Authored: Wed May 14 17:42:09 2014 -0700
Committer: Hari Shreedharan <[email protected]>
Committed: Wed May 14 17:43:21 2014 -0700

----------------------------------------------------------------------
 .../src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flume/blob/6dd12343/flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java
 
b/flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java
index fba3f66..f9e39ac 100644
--- 
a/flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java
+++ 
b/flume-ng-sinks/flume-hdfs-sink/src/main/java/org/apache/flume/sink/hdfs/BucketWriter.java
@@ -404,7 +404,11 @@ class BucketWriter {
   public synchronized void close(boolean callCloseCallback)
     throws IOException, InterruptedException {
     checkAndThrowInterruptedException();
-    flush();
+    try {
+      flush();
+    } catch (IOException e) {
+      LOG.warn("pre-close flush failed", e);
+    }
     boolean failedToClose = false;
     LOG.info("Closing {}", bucketPath);
     CallRunner<Void> closeCallRunner = createCloseCallRunner();

Reply via email to