You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by rk...@apache.org on 2013/02/15 08:00:41 UTC

svn commit: r1446464 - in /oozie/branches/branch-3.3: core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java release-log.txt

Author: rkanter
Date: Fri Feb 15 07:00:41 2013
New Revision: 1446464

URL: http://svn.apache.org/r1446464
Log:
OOZIE-1227 In a coordinator, specifying the <app-path> without a namenode causes it to fail (rkanter)

Modified:
    oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java
    oozie/branches/branch-3.3/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java
    oozie/branches/branch-3.3/release-log.txt

Modified: oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java?rev=1446464&r1=1446463&r2=1446464&view=diff
==============================================================================
--- oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java (original)
+++ oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java Fri Feb 15 07:00:41 2013
@@ -527,10 +527,12 @@ public class HadoopAccessorService imple
 
     public void checkSupportedFilesystem(URI uri) throws HadoopAccessorException {
         String uriScheme = uri.getScheme();
-        if(!supportedSchemes.isEmpty()) {
-            XLog.getLog(this.getClass()).debug("Checking if filesystem " + uriScheme + " is supported");
-            if (!supportedSchemes.contains(uriScheme)) {
-                throw new HadoopAccessorException(ErrorCode.E0904, uriScheme, uri.toString());
+        if (uriScheme != null) {    // skip the check if no scheme is given
+            if(!supportedSchemes.isEmpty()) {
+                XLog.getLog(this.getClass()).debug("Checking if filesystem " + uriScheme + " is supported");
+                if (!supportedSchemes.contains(uriScheme)) {
+                    throw new HadoopAccessorException(ErrorCode.E0904, uriScheme, uri.toString());
+                }
             }
         }
     }

Modified: oozie/branches/branch-3.3/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java?rev=1446464&r1=1446463&r2=1446464&view=diff
==============================================================================
--- oozie/branches/branch-3.3/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java (original)
+++ oozie/branches/branch-3.3/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java Fri Feb 15 07:00:41 2013
@@ -29,6 +29,8 @@ import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URI;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.oozie.ErrorCode;
 
 public class TestHadoopAccessorService extends XTestCase {
 
@@ -133,4 +135,34 @@ public class TestHadoopAccessorService e
                 HadoopAccessorService.getMRTokenRenewerInternal(jobConf));
     }
 
+    public void testCheckSupportedFilesystem() throws Exception {
+        Configuration hConf = Services.get().getConf();
+
+        // Only allow hdfs and foo schemes
+        HadoopAccessorService has = new HadoopAccessorService();
+        hConf.set("oozie.service.HadoopAccessorService.supported.filesystems", "hdfs,foo");
+        has.init(hConf);
+        has.checkSupportedFilesystem(new URI("hdfs://localhost:1234/blah"));
+        has.checkSupportedFilesystem(new URI("foo://localhost:1234/blah"));
+        try {
+            has.checkSupportedFilesystem(new URI("file://localhost:1234/blah"));
+            fail("Should have thrown an exception because 'file' scheme isn't allowed");
+        }
+        catch (HadoopAccessorException hae) {
+            assertEquals(ErrorCode.E0904, hae.getErrorCode());
+        }
+        // giving no scheme should skip the check
+        has.checkSupportedFilesystem(new URI("/blah"));
+
+        // allow all schemes
+        has = new HadoopAccessorService();
+        hConf.set("oozie.service.HadoopAccessorService.supported.filesystems", "*");
+        has.init(hConf);
+        has.checkSupportedFilesystem(new URI("hdfs://localhost:1234/blah"));
+        has.checkSupportedFilesystem(new URI("foo://localhost:1234/blah"));
+        has.checkSupportedFilesystem(new URI("file://localhost:1234/blah"));
+        // giving no scheme should skip the check
+        has.checkSupportedFilesystem(new URI("/blah"));
+    }
+
 }

Modified: oozie/branches/branch-3.3/release-log.txt
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/release-log.txt?rev=1446464&r1=1446463&r2=1446464&view=diff
==============================================================================
--- oozie/branches/branch-3.3/release-log.txt (original)
+++ oozie/branches/branch-3.3/release-log.txt Fri Feb 15 07:00:41 2013
@@ -12,6 +12,7 @@ OOZIE-944 Implement Workflow Generator U
 
 -- Oozie 3.3.2 (unreleased)
 
+OOZIE-1227 In a coordinator, specifying the <app-path> without a namenode causes it to fail (rkanter)
 OOZIE-1226 Workflow lib path not found in classpath for a subworkflow (rkanter)
 OOZIE-1184 Demo example job.properties has an unused parameter (udai via rkanter)
 OOZIE-1211 oozie does not support duplicated dataset (jaoki via virag)