diff --git a/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java b/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java index cd09c22b5..a06520acf 100644 --- a/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java +++ b/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java @@ -26,6 +26,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.TreeSet; @@ -87,7 +88,7 @@ */ public class CoordSubmitXCommand extends SubmitTransitionXCommand { - private final Configuration conf; + private Configuration conf; private final String authToken; private final String bundleId; private final String coordName; @@ -370,6 +371,14 @@ protected void mergeDefaultConfig() throws CommandException { LOG.info("configDefault Doesn't exist " + configDefault); } PropertiesUtils.checkDisallowedProperties(conf, DISALLOWED_USER_PROPERTIES); + + // Resolving all variables in the job properties. + // This ensures the Hadoop Configuration semantics is preserved. + XConfiguration resolvedVarsConf = new XConfiguration(); + for (Map.Entry entry : conf) { + resolvedVarsConf.set(entry.getKey(), conf.get(entry.getKey())); + } + conf = resolvedVarsConf; } catch (IOException e) { throw new CommandException(ErrorCode.E0702, e.getMessage() + " : Problem reading default config " diff --git a/release-log.txt b/release-log.txt index 57913bcc1..3a794739d 100644 --- a/release-log.txt +++ b/release-log.txt @@ -18,6 +18,7 @@ OOZIE-108 Upgrade pom version to 3.1.0. -- Oozie 3.0.2 release +OOZIE-120 coordinator resolve config default variable OOZIE-119 relative path in coord dataset include should throw exception if given OOZIE-115 oozie should check if app path is directory and read the app xml under it