Author: rkanter
Date: Fri Feb 15 07:04:27 2013
New Revision: 1446465
URL: http://svn.apache.org/r1446465
Log:
OOZIE-1227 In a coordinator, specifying the <app-path> without a namenode
causes it to fail (rkanter)
Modified:
oozie/trunk/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java
oozie/trunk/release-log.txt
Modified:
oozie/trunk/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java
URL:
http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java?rev=1446465&r1=1446464&r2=1446465&view=diff
==============================================================================
---
oozie/trunk/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java
(original)
+++
oozie/trunk/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java
Fri Feb 15 07:04:27 2013
@@ -528,10 +528,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/trunk/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java
URL:
http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java?rev=1446465&r1=1446464&r2=1446465&view=diff
==============================================================================
---
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java
(original)
+++
oozie/trunk/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java
Fri Feb 15 07:04:27 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/trunk/release-log.txt
URL:
http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1446465&r1=1446464&r2=1446465&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Fri Feb 15 07:04:27 2013
@@ -13,6 +13,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)