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() {