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

svn commit: r1446815 - in /oozie/branches/hcat-intre: core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java release-log.txt

Author: virag
Date: Fri Feb 15 23:40:30 2013
New Revision: 1446815

URL: http://svn.apache.org/r1446815
Log:
Porting OOZIE-1227 to hcat-intre

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

Modified: oozie/branches/hcat-intre/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java
URL: http://svn.apache.org/viewvc/oozie/branches/hcat-intre/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java?rev=1446815&r1=1446814&r2=1446815&view=diff
==============================================================================
--- oozie/branches/hcat-intre/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java (original)
+++ oozie/branches/hcat-intre/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java Fri Feb 15 23:40:30 2013
@@ -528,10 +528,14 @@ public class HadoopAccessorService imple
         if (allSchemesSupported)
             return;
         String uriScheme = uri.getScheme();
-        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());
+                }
+             }
+         }        
     }
 
     public Set<String> getSupportedSchemes() {

Modified: oozie/branches/hcat-intre/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java
URL: http://svn.apache.org/viewvc/oozie/branches/hcat-intre/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java?rev=1446815&r1=1446814&r2=1446815&view=diff
==============================================================================
--- oozie/branches/hcat-intre/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java (original)
+++ oozie/branches/hcat-intre/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java Fri Feb 15 23:40:30 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/hcat-intre/release-log.txt
URL: http://svn.apache.org/viewvc/oozie/branches/hcat-intre/release-log.txt?rev=1446815&r1=1446814&r2=1446815&view=diff
==============================================================================
--- oozie/branches/hcat-intre/release-log.txt (original)
+++ oozie/branches/hcat-intre/release-log.txt Fri Feb 15 23:40:30 2013
@@ -17,6 +17,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-1221 mvn install failing in Oozie-Mini module (jaoki via virag)