azkaban-uncached

Details

diff --git a/src/java/azkaban/executor/FlowRunner.java b/src/java/azkaban/executor/FlowRunner.java
index 26d74f6..9fc657a 100644
--- a/src/java/azkaban/executor/FlowRunner.java
+++ b/src/java/azkaban/executor/FlowRunner.java
@@ -269,7 +269,7 @@ public class FlowRunner extends EventHandler implements Runnable {
 		logger.info("Finishing up flow. Awaiting Termination");
 		executorService.shutdown();
 
-		while (executorService.isTerminated()) {
+		while (!executorService.isTerminated()) {
 			try {
 				executorService.awaitTermination(1, TimeUnit.SECONDS);
 			} catch (InterruptedException e) {
@@ -424,6 +424,7 @@ public class FlowRunner extends EventHandler implements Runnable {
 		switch (failedOptions) {
 		// We finish running current jobs and then fail. Do not accept new jobs.
 		case FINISH_RUNNING_JOBS:
+			flow.setStatus(Status.FAILED_FINISHING);
 			runningJobs.clear();
 			executorService.shutdown();
 			break;
@@ -464,6 +465,7 @@ public class FlowRunner extends EventHandler implements Runnable {
 				outputProps.put(jobID, props);
 				flowRunner.handleSucceededJob(runner.getNode());
 			} else if (event.getType() == Type.JOB_FAILED) {
+
 				logger.info("Job Failed " + jobID + " in "
 						+ (node.getEndTime() - node.getStartTime()) + " ms");
 				emailAddress.addAll(runner.getNotifyEmails());
diff --git a/src/web/js/azkaban.joblog.view.js b/src/web/js/azkaban.joblog.view.js
index 3767859..e81bfb3 100644
--- a/src/web/js/azkaban.joblog.view.js
+++ b/src/web/js/azkaban.joblog.view.js
@@ -29,14 +29,19 @@ azkaban.JobLogView = Backbone.View.extend({
 			var re = /(https?:\/\/(([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?))/g;
 	          	var log = $("#logSection").text();
 	          	if (!log) {
-	          		log = data.log.replace(re, "<a href=\"$1\" title=\"\">$1</a>");
+	          		log = data.log;
 	          	}
 	          	else {
-	          		log += data.log.replace(re, "<a href=\"$1\" title=\"\">$1</a>");
+	          		log += data.log;
 	          	}
-	          	
+    	
 	          	current = data.current;
-	          	$("#logSection").html(log);
+
+	          	$("#logSection").text(log);
+			log = $("#logSection").html();
+			log = log.replace(re, "<a href=\"$1\" title=\"\">$1</a>");
+			$("#logSection").html(log);
+
 	          	model.set({"current": current, "log": log});
 	          	$(".logViewer").scrollTop(9999);
 	          }