You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nutch.apache.org by ma...@apache.org on 2015/10/18 21:29:47 UTC
svn commit: r1709304 - in /nutch/trunk: CHANGES.txt
src/java/org/apache/nutch/tools/FileDumper.java
src/java/org/apache/nutch/util/DumpFileUtil.java
Author: mattmann
Date: Sun Oct 18 19:29:46 2015
New Revision: 1709304
URL: http://svn.apache.org/viewvc?rev=1709304&view=rev
Log:
Fix for NUTCH-2142: Nutch File Dump - FileNotFoundException (Invalid Argument) Error contributed by karanjeets <co...@gmail.com> this closes #76.
Modified:
nutch/trunk/CHANGES.txt
nutch/trunk/src/java/org/apache/nutch/tools/FileDumper.java
nutch/trunk/src/java/org/apache/nutch/util/DumpFileUtil.java
Modified: nutch/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/nutch/trunk/CHANGES.txt?rev=1709304&r1=1709303&r2=1709304&view=diff
==============================================================================
--- nutch/trunk/CHANGES.txt (original)
+++ nutch/trunk/CHANGES.txt Sun Oct 18 19:29:46 2015
@@ -2,6 +2,8 @@ Nutch Change Log
Nutch Current Development 1.11-SNAPSHOT
+* NUTCH-2142 Nutch File Dump - FileNotFoundException (Invalid Argument) Error (Karanjeet Singh via mattmann)
+
* NUTCH-2136 Implement a different version of Naive Bayes Parse Filter (Asitang Mishra)
* NUTCH-2109 Create a brute force click-all-ajax-links utility fucntion for selenium interactive plugin (Asitang Mishra)
Modified: nutch/trunk/src/java/org/apache/nutch/tools/FileDumper.java
URL: http://svn.apache.org/viewvc/nutch/trunk/src/java/org/apache/nutch/tools/FileDumper.java?rev=1709304&r1=1709303&r2=1709304&view=diff
==============================================================================
--- nutch/trunk/src/java/org/apache/nutch/tools/FileDumper.java (original)
+++ nutch/trunk/src/java/org/apache/nutch/tools/FileDumper.java Sun Oct 18 19:29:46 2015
@@ -219,8 +219,26 @@ public class FileDumper {
if (!outputFile.exists()) {
LOG.info("Writing: [" + outputFullPath + "]");
- FileOutputStream output = new FileOutputStream(outputFile);
- IOUtils.write(content.getContent(), output);
+
+ // Modified to prevent FileNotFoundException (Invalid Argument)
+ FileOutputStream output = null;
+ try {
+ output = new FileOutputStream(outputFile);
+ IOUtils.write(content.getContent(), output);
+ }
+ catch (Exception e) {
+ LOG.warn("Write Error: [" + outputFullPath + "]");
+ e.printStackTrace();
+ }
+ finally {
+ if (output != null) {
+ output.flush();
+ try {
+ output.close();
+ } catch (Exception ignore) {
+ }
+ }
+ }
fileCount++;
} else {
LOG.info("Skipping writing: [" + outputFullPath
Modified: nutch/trunk/src/java/org/apache/nutch/util/DumpFileUtil.java
URL: http://svn.apache.org/viewvc/nutch/trunk/src/java/org/apache/nutch/util/DumpFileUtil.java?rev=1709304&r1=1709303&r2=1709304&view=diff
==============================================================================
--- nutch/trunk/src/java/org/apache/nutch/util/DumpFileUtil.java (original)
+++ nutch/trunk/src/java/org/apache/nutch/util/DumpFileUtil.java Sun Oct 18 19:29:46 2015
@@ -80,6 +80,10 @@ public class DumpFileUtil {
LOG.info("File extension is too long. Truncated to {} characters.", MAX_LENGTH_OF_EXTENSION);
fileExtension = StringUtils.substring(fileExtension, 0, MAX_LENGTH_OF_EXTENSION);
}
+
+ // Added to prevent FileNotFoundException (Invalid Argument) - in *nix environment
+ fileBaseName = fileBaseName.replaceAll("\\?", "");
+ fileExtension = fileExtension.replaceAll("\\?", "");
return String.format(FILENAME_PATTERN, md5, fileBaseName, fileExtension);
}