Repository: flume
Updated Branches:
  refs/heads/trunk 2cc93b777 -> 3fccd241d


FLUME-2773. TailDirSource throws FileNotFound Exception if ~/.flume directory 
is not created already

(Johny Rufus via Hari)


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

Branch: refs/heads/trunk
Commit: 3fccd241d92bc5b70d216a2111e28897cf93c5df
Parents: 2cc93b7
Author: Hari Shreedharan <[email protected]>
Authored: Thu Sep 24 22:45:04 2015 -0700
Committer: Hari Shreedharan <[email protected]>
Committed: Thu Sep 24 22:45:04 2015 -0700

----------------------------------------------------------------------
 .../java/org/apache/flume/source/taildir/TaildirSource.java | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flume/blob/3fccd241/flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TaildirSource.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TaildirSource.java
 
b/flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TaildirSource.java
index 97ca43b..8816327 100644
--- 
a/flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TaildirSource.java
+++ 
b/flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TaildirSource.java
@@ -22,6 +22,9 @@ import static 
org.apache.flume.source.taildir.TaildirSourceConfigurationConstant
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -151,6 +154,12 @@ public class TaildirSource extends AbstractSource 
implements
 
     String homePath = System.getProperty("user.home").replace('\\', '/');
     positionFilePath = context.getString(POSITION_FILE, homePath + 
DEFAULT_POSITION_FILE);
+    Path positionFile = Paths.get(positionFilePath);
+    try {
+      Files.createDirectories(positionFile.getParent());
+    } catch (IOException e) {
+      throw new FlumeException("Error creating positionFile parent 
directories", e);
+    }
     headerTable = getTable(context, HEADERS_PREFIX);
     batchSize = context.getInteger(BATCH_SIZE, DEFAULT_BATCH_SIZE);
     skipToEnd = context.getBoolean(SKIP_TO_END, DEFAULT_SKIP_TO_END);

Reply via email to