git-svn-id: https://svn.apache.org/repos/asf/manifoldcf/branches/CONNECTORS-728@1496915 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/connectors/hdfs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/hdfs/HDFSRepositoryConnector.java b/connectors/hdfs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/hdfs/HDFSRepositoryConnector.java
index b254e96..9c7750d 100644
--- a/connectors/hdfs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/hdfs/HDFSRepositoryConnector.java
+++ b/connectors/hdfs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/hdfs/HDFSRepositoryConnector.java
@@ -431,35 +431,30 @@
         objt.interrupt();
         throw new ManifoldCFException("Interrupted: " + e.getMessage(), e, ManifoldCFException.INTERRUPTED);
       }
-      
-      try {
-        FileStatus fileStatus = objt.getResponse();
-        if (session.getFileSystem().exists(fileStatus.getPath())) {
-          if (fileStatus.isDir()) {
-            long lastModified = fileStatus.getModificationTime();
-            rval[i] = new Long(lastModified).toString();
-          } else {
-            long fileLength = fileStatus.getLen();
-            if (activities.checkLengthIndexable(fileLength)) {
-              long lastModified = fileStatus.getModificationTime();
-              StringBuilder sb = new StringBuilder();
-              if (filePathToUri) {
-                sb.append("+");
-              } else {
-                sb.append("-");
-              }
-              sb.append(new Long(lastModified).toString()).append(":").append(new Long(fileLength).toString());
-              rval[i] = sb.toString();
-            } else {
-              rval[i] = null;
-            }
-          }
+
+      FileStatus fileStatus = objt.getResponse();
+      if (fileStatus != null) {
+        if (fileStatus.isDir()) {
+          long lastModified = fileStatus.getModificationTime();
+          rval[i] = new Long(lastModified).toString();
         } else {
-          rval[i] = null;
+          long fileLength = fileStatus.getLen();
+          if (activities.checkLengthIndexable(fileLength)) {
+            long lastModified = fileStatus.getModificationTime();
+            StringBuilder sb = new StringBuilder();
+            if (filePathToUri) {
+              sb.append("+");
+            } else {
+              sb.append("-");
+            }
+            sb.append(new Long(lastModified).toString()).append(":").append(new Long(fileLength).toString());
+            rval[i] = sb.toString();
+          } else {
+            rval[i] = null;
+          }
         }
-      } catch (IOException e) {
-        objt.interrupt();
-        throw new ManifoldCFException(e);
+      } else {
+        rval[i] = null;
       }
     }
     
@@ -507,7 +502,7 @@
         
         FileStatus fileStatus = objt.getResponse();
         
-        if (!session.getFileSystem().exists(fileStatus.getPath())) {
+        if (fileStatus == null) {
         	continue;
         }
         
diff --git a/connectors/hdfs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/hdfs/HDFSSession.java b/connectors/hdfs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/hdfs/HDFSSession.java
index 6cf359d..c753af5 100644
--- a/connectors/hdfs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/hdfs/HDFSSession.java
+++ b/connectors/hdfs/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/hdfs/HDFSSession.java
@@ -30,6 +30,7 @@
 import org.apache.hadoop.fs.Path;
 import org.apache.manifoldcf.core.common.*;
 
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -95,7 +96,11 @@
   }
   
   public FileStatus getObject(String id) throws IOException {
-    return fileSystem.getFileStatus(new Path(id));
+    try {
+      return fileSystem.getFileStatus(new Path(id));
+    } catch(FileNotFoundException e) {
+      return null;
+    }
   }
 
   public FSDataInputStream getFSDataInputStream(String id) throws IOException {