azkaban-uncached

1. adding a config so that execute-as-user behavior will not

9/14/2015 10:03:14 PM

Details

diff --git a/azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java b/azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java
index a9ec986..75cc0dd 100644
--- a/azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java
+++ b/azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java
@@ -42,7 +42,8 @@ public class ProcessJob extends AbstractProcessJob {
   private static final String MEMCHECK_FREEMEMDECRAMT = "memCheck.freeMemDecrAmt";
   public static final String AZKABAN_MEMORY_CHECK = "azkaban.memory.check";
   public static final String NATIVE_LIB_FOLDER = "azkaban.native.lib";
-
+  public static final String EXECUTE_AS_USER = "execute.as.user";
+  
   public ProcessJob(final String jobId, final Props sysProps,
       final Props jobProps, final Logger log) {
     super(jobId, sysProps, jobProps, log);
@@ -65,7 +66,7 @@ public class ProcessJob extends AbstractProcessJob {
                 memPair.getFirst(), memPair.getSecond(), getId()));
       }
     }
-
+    
     List<String> commands = null;
     try {
       commands = getCommandList();
@@ -82,17 +83,22 @@ public class ProcessJob extends AbstractProcessJob {
     info(commands.size() + " commands to execute.");
     File[] propFiles = initPropsFiles();
     Map<String, String> envVars = getEnvironmentVariables();
+  
+    String nativeLibFolder = null;
+    String executeAsUserBinary = null;
+    String userToProxy = null;
+    boolean isExecuteAsUser = sysProps.getBoolean(EXECUTE_AS_USER, false);
     
-    info("printing sysProps to see what's there: ");
-    for(String k: sysProps.getKeySet()){
-    	info(String.format("key %s, value: %s", k, sysProps.getString(k)));
+    if(isExecuteAsUser){
+    	nativeLibFolder = sysProps.getString(NATIVE_LIB_FOLDER);
+    	executeAsUserBinary = String.format("%s/%s", nativeLibFolder, "execute-as-user");
+    	userToProxy = jobProps.getString("user.to.proxy");
     }
-    String nativeLibFolder = sysProps.getString(NATIVE_LIB_FOLDER);
-    String executeAsUserBinary = String.format("%s/%s", nativeLibFolder, "execute-as-user");
-    String userToProxy = jobProps.getString("user.to.proxy");
         
     for (String command : commands) {
-      command = String.format("%s %s %s", executeAsUserBinary, userToProxy, command);
+    	if(isExecuteAsUser){
+    	  command = String.format("%s %s %s", executeAsUserBinary, userToProxy, command);
+    	}
       
       info("Command: " + command);
       AzkabanProcessBuilder builder =
diff --git a/azkaban-execserver/src/main/java/azkaban/execapp/AzkabanExecutorServer.java b/azkaban-execserver/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
index 6e012ab..3a87616 100644
--- a/azkaban-execserver/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
+++ b/azkaban-execserver/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
@@ -39,7 +39,6 @@ import org.mortbay.jetty.servlet.Context;
 import org.mortbay.jetty.servlet.ServletHolder;
 import org.mortbay.thread.QueuedThreadPool;
 
-import azkaban.execapp.event.JobCallbackManager;
 import azkaban.execapp.jmx.JmxFlowRunnerManager;
 import azkaban.execapp.jmx.JmxJobMBeanManager;
 import azkaban.execapp.metric.NumFailedFlowMetric;
@@ -150,7 +149,7 @@ public class AzkabanExecutorServer {
 
     SystemMemoryInfo.init(props.getInt("executor.memCheck.interval", 30));
 
-    loadCustomJMXAttributeProcessor(props);
+//    loadCustomJMXAttributeProcessor(props);
 
     try {
       server.start();
@@ -168,9 +167,9 @@ public class AzkabanExecutorServer {
 
     logger.info("Job callback enabled? " + jobCallbackEnabled);
 
-    if (jobCallbackEnabled) {
-      JobCallbackManager.initialize(props);
-    }
+//    if (jobCallbackEnabled) {
+//      JobCallbackManager.initialize(props);
+//    }
   }
 
   /**
@@ -446,11 +445,11 @@ public class AzkabanExecutorServer {
     registerMbean("flowRunnerManager", new JmxFlowRunnerManager(runnerManager));
     registerMbean("jobJMXMBean", JmxJobMBeanManager.getInstance());
 
-    if (JobCallbackManager.isInitialized()) {
-      JobCallbackManager jobCallbackMgr = JobCallbackManager.getInstance();
-      registerMbean("jobCallbackJMXMBean",
-          jobCallbackMgr.getJmxJobCallbackMBean());
-    }
+//    if (JobCallbackManager.isInitialized()) {
+//      JobCallbackManager jobCallbackMgr = JobCallbackManager.getInstance();
+//      registerMbean("jobCallbackJMXMBean",
+//          jobCallbackMgr.getJmxJobCallbackMBean());
+//    }
   }
 
   public void close() {