azkaban-developers

change triggermanager synchronization to use the same lock

1/27/2014 9:52:45 PM

Details

diff --git a/src/java/azkaban/trigger/builtin/SlaAlertAction.java b/src/java/azkaban/trigger/builtin/SlaAlertAction.java
index 1f6eb00..f340497 100644
--- a/src/java/azkaban/trigger/builtin/SlaAlertAction.java
+++ b/src/java/azkaban/trigger/builtin/SlaAlertAction.java
@@ -166,7 +166,7 @@ public class SlaAlertAction implements TriggerAction{
 
 	@Override
 	public String getDescription() {
-		return type + " with " + slaOption.toString();
+		return type + " for " + execId + " with " + slaOption.toString();
 	}
 
 }
diff --git a/src/java/azkaban/trigger/TriggerManager.java b/src/java/azkaban/trigger/TriggerManager.java
index 594f759..1ea95f8 100644
--- a/src/java/azkaban/trigger/TriggerManager.java
+++ b/src/java/azkaban/trigger/TriggerManager.java
@@ -53,7 +53,7 @@ public class TriggerManager extends EventHandler implements TriggerManagerAdapte
 	
 	private ExecutorManagerEventListener listener = new ExecutorManagerEventListener();
 	
-	private Object syncObj = new Object();
+	private final Object syncObj = new Object();
 	
 	private String scannerStage = "";
 	
@@ -215,8 +215,9 @@ public class TriggerManager extends EventHandler implements TriggerManagerAdapte
 		public void run() {
 			//while(stillAlive.get()) {
 			while(!shutdown) {
-				synchronized (syncObj) {
-					try{
+				
+				try{
+					synchronized (syncObj) {
 						lastRunnerThreadCheckTime = System.currentTimeMillis();
 						
 						scannerStage = "Ready to start a new scan cycle at " + lastRunnerThreadCheckTime;
@@ -231,19 +232,19 @@ public class TriggerManager extends EventHandler implements TriggerManagerAdapte
 							t.printStackTrace();
 							logger.error(t.getMessage());
 						}
-						
+					
 						scannerStage = "Done flipping all triggers.";
 						
 						runnerThreadIdleTime = scannerInterval - (System.currentTimeMillis() - lastRunnerThreadCheckTime);
-
+	
 						if(runnerThreadIdleTime < 0) {
 							logger.error("Trigger manager thread " + this.getName() + " is too busy!");
 						} else {
-							wait(runnerThreadIdleTime);
+							syncObj.wait(runnerThreadIdleTime);
 						}
-					} catch(InterruptedException e) {
-						logger.info("Interrupted. Probably to shut down.");
 					}
+				} catch(InterruptedException e) {
+					logger.info("Interrupted. Probably to shut down.");
 				}
 			}
 		}
diff --git a/src/package/webserver/bin/clean-orphan-process.sh b/src/package/webserver/bin/clean-orphan-process.sh
new file mode 100644
index 0000000..dd60fcf
--- /dev/null
+++ b/src/package/webserver/bin/clean-orphan-process.sh
@@ -0,0 +1,9 @@
+echo "Looking for orphan processes from azkaban"
+ps -ef | awk '{if ($3 == 1) {print $0}}' | grep -v Azkaban | grep azkaban
+
+echo "Killing orphan processes"
+for i in `ps -ef | awk '{if ($3 == 1) {print $0}}' | grep -v Azkaban | grep azkaban | awk '{print $2}'` ;
+do
+    kill -9 $i
+done
+