You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@giraph.apache.org by ac...@apache.org on 2011/09/14 05:50:57 UTC

svn commit: r1170427 - in /incubator/giraph/trunk: CHANGELOG src/main/java/org/apache/giraph/zk/ZooKeeperManager.java

Author: aching
Date: Wed Sep 14 03:50:57 2011
New Revision: 1170427

URL: http://svn.apache.org/viewvc?rev=1170427&view=rev
Log:
GIRAPH-30: NPE in ZooKeeperManager if base directory cannot be
created. apurtell via aching.


Modified:
    incubator/giraph/trunk/CHANGELOG
    incubator/giraph/trunk/src/main/java/org/apache/giraph/zk/ZooKeeperManager.java

Modified: incubator/giraph/trunk/CHANGELOG
URL: http://svn.apache.org/viewvc/incubator/giraph/trunk/CHANGELOG?rev=1170427&r1=1170426&r2=1170427&view=diff
==============================================================================
--- incubator/giraph/trunk/CHANGELOG (original)
+++ incubator/giraph/trunk/CHANGELOG Wed Sep 14 03:50:57 2011
@@ -2,6 +2,9 @@ Giraph Change Log
 
 Release 0.70.0 - unreleased
 
+  GIRAPH-30: NPE in ZooKeeperManager if base directory cannot be
+  created. apurtell via aching.
+
   GIRAPH-27: Mutable static global state in Vertex.java should be
   refactored. jake.mannix via aching.
  

Modified: incubator/giraph/trunk/src/main/java/org/apache/giraph/zk/ZooKeeperManager.java
URL: http://svn.apache.org/viewvc/incubator/giraph/trunk/src/main/java/org/apache/giraph/zk/ZooKeeperManager.java?rev=1170427&r1=1170426&r2=1170427&view=diff
==============================================================================
--- incubator/giraph/trunk/src/main/java/org/apache/giraph/zk/ZooKeeperManager.java (original)
+++ incubator/giraph/trunk/src/main/java/org/apache/giraph/zk/ZooKeeperManager.java Wed Sep 14 03:50:57 2011
@@ -229,6 +229,21 @@ public class ZooKeeperManager {
             LOG.error("createCandidateStamp: Failed to mkdirs " +
                       baseDirectory);
         }
+        // Check that the base directory exists and is a directory
+        try {
+            if (!fs.getFileStatus(baseDirectory).isDir()) {
+                throw new IllegalArgumentException(
+                    "createCandidateStamp: " + baseDirectory +
+                    " is not a directory, but should be.");
+            }
+        } catch (IOException e) {
+            throw new IllegalArgumentException(
+                "createCandidateStamp: Couldn't get file status " +
+                "for base directory " + baseDirectory + ".  If there is an " +
+                "issue with this directory, please set an accesible " +
+                "base directory with the Hadoop configuration option " +
+                GiraphJob.ZOOKEEPER_MANAGER_DIRECTORY);
+        }
 
         Path myCandidacyPath = new Path(
             taskDirectory, myHostname +