You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@falcon.apache.org by pa...@apache.org on 2016/01/18 07:12:08 UTC
[3/4] falcon git commit: FALCON-1715 IllegalStateException in
MetadataMappingService when entity is scheduled via native scheduler (by
Pallavi Rao)
FALCON-1715 IllegalStateException in MetadataMappingService when entity is scheduled via native scheduler (by Pallavi Rao)
Project: http://git-wip-us.apache.org/repos/asf/falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/falcon/commit/32d23639
Tree: http://git-wip-us.apache.org/repos/asf/falcon/tree/32d23639
Diff: http://git-wip-us.apache.org/repos/asf/falcon/diff/32d23639
Branch: refs/heads/master
Commit: 32d23639f8fdf97451d2b30f9cccf2c5aead7afa
Parents: a923059
Author: Pallavi Rao <pa...@inmobi.com>
Authored: Mon Jan 18 11:02:45 2016 +0530
Committer: Pallavi Rao <pa...@inmobi.com>
Committed: Mon Jan 18 11:02:45 2016 +0530
----------------------------------------------------------------------
CHANGES.txt | 2 ++
.../falcon/workflow/engine/OozieDAGEngine.java | 19 +++++++++++--------
2 files changed, 13 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/falcon/blob/32d23639/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 3169891..0b0a585 100755
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -112,6 +112,8 @@ Proposed Release Version: 0.9
OPTIMIZATIONS
BUG FIXES
+ FALCON-1715 IllegalStateException in MetadataMappingService when entity is scheduled via native scheduler (Pallavi Rao)
+
FALCON-1732 Folders not getting deleted after testing (Praveen Adlakha via Pallavi Rao)
FALCON-1675 Lifecycle stage is not honoured when only cluster level lifecycle is implemented (Ajay Yadava via Pallavi Rao)
http://git-wip-us.apache.org/repos/asf/falcon/blob/32d23639/scheduler/src/main/java/org/apache/falcon/workflow/engine/OozieDAGEngine.java
----------------------------------------------------------------------
diff --git a/scheduler/src/main/java/org/apache/falcon/workflow/engine/OozieDAGEngine.java b/scheduler/src/main/java/org/apache/falcon/workflow/engine/OozieDAGEngine.java
index 1d0e126..4266118 100644
--- a/scheduler/src/main/java/org/apache/falcon/workflow/engine/OozieDAGEngine.java
+++ b/scheduler/src/main/java/org/apache/falcon/workflow/engine/OozieDAGEngine.java
@@ -99,8 +99,8 @@ public class OozieDAGEngine implements DAGEngine {
try {
Properties properties = getRunProperties(instance);
Path buildPath = EntityUtil.getLatestStagingPath(cluster, instance.getEntity());
- switchUser();
- properties.setProperty(OozieClient.USER_NAME, CurrentUser.getUser());
+ switchUserTo(instance.getEntity().getACL().getOwner());
+ properties.setProperty(OozieClient.USER_NAME, instance.getEntity().getACL().getOwner());
properties.setProperty(OozieClient.APP_PATH, buildPath.toString());
return client.run(properties);
} catch (OozieClientException e) {
@@ -112,6 +112,10 @@ public class OozieDAGEngine implements DAGEngine {
}
}
+ private void switchUserTo(String user) {
+ CurrentUser.authenticate(user);
+ }
+
private void prepareEntityBuildPath(Entity entity) throws FalconException {
Path stagingPath = EntityUtil.getBaseStagingPath(cluster, entity);
Path logPath = EntityUtil.getLogPath(cluster, entity);
@@ -129,13 +133,13 @@ public class OozieDAGEngine implements DAGEngine {
private void dryRunInternal(Properties properties, Path buildPath, Entity entity)
throws OozieClientException, DAGEngineException {
if (properties == null) {
- LOG.info("Entity {} is not scheduled on cluster {}", entity.getName(), cluster);
+ LOG.info("Entity {} is not scheduled on cluster {} with user {}", entity.getName(), cluster,
+ entity.getACL().getOwner());
throw new DAGEngineException("Properties for entity " + entity.getName() + " is empty");
}
- switchUser();
- LOG.debug("Logged in user is " + CurrentUser.getUser());
- properties.setProperty(OozieClient.USER_NAME, CurrentUser.getUser());
+ switchUserTo(entity.getACL().getOwner());
+ properties.setProperty(OozieClient.USER_NAME, entity.getACL().getOwner());
properties.setProperty(OozieClient.APP_PATH, buildPath.toString());
properties.putAll(getDryRunProperties(entity));
//Do dryrun before run as run is asynchronous
@@ -144,8 +148,7 @@ public class OozieDAGEngine implements DAGEngine {
}
private void switchUser() {
- String user = System.getProperty("user.name");
- CurrentUser.authenticate(user);
+ switchUserTo(System.getProperty("user.name"));
}
@Override