azkaban-developers

Details

diff --git a/azkaban-common/src/main/java/azkaban/executor/ActiveExecutors.java b/azkaban-common/src/main/java/azkaban/executor/ActiveExecutors.java
index 36691d4..c66c4af 100644
--- a/azkaban-common/src/main/java/azkaban/executor/ActiveExecutors.java
+++ b/azkaban-common/src/main/java/azkaban/executor/ActiveExecutors.java
@@ -58,7 +58,7 @@ public class ActiveExecutors {
     // }
   }
 
-  public static GetterCache<Collection<Executor>> getAllCache = new GetterCache<>("ActiveExecutors.getAll");
+  public GetterCache<Collection<Executor>> getAllCache = new GetterCache<>("ActiveExecutors.getAll");
 
   /**
    * Returns all executors. The result is cached. To reload, call {@link #setupExecutors()}.
diff --git a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
index 07eb85d..18b6755 100644
--- a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
+++ b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
@@ -64,8 +64,8 @@ public class ProjectManager {
       // new ConcurrentHashMap<>();
   // private final CaseInsensitiveConcurrentHashMap<Project> projectsByName =
       // new CaseInsensitiveConcurrentHashMap<>();
-  public static MultiCache<String, Project> projectsByNameCache = new MultiCache<>("ProjectManager.projectsByName");
-  public static MultiCache<Integer, Project> projectsByIdCache = new MultiCache<>("ProjectManager.projectsById");
+  public MultiCache<String, Project> projectsByNameCache = new MultiCache<>("ProjectManager.projectsByName");
+  public MultiCache<Integer, Project> projectsByIdCache = new MultiCache<>("ProjectManager.projectsById");
 
 
   @Inject
@@ -236,7 +236,12 @@ public class ProjectManager {
    */
   public Boolean isActiveProject(final int id) {
     // return this.projectsById.containsKey(id);
-    return this.projectsByIdCache.containsKey(id);
+    try {
+      this.projectsByIdCache.get(id);
+      return true;
+    } catch (KeyNotFoundException ex) {
+      return false;
+    }
   }
 
   /**
@@ -294,9 +299,10 @@ public class ProjectManager {
 
     final Project newProject;
     synchronized (this) {
-      // if (this.projectsByName.containsKey(projectName)) {
-      if (this.projectsByNameCache.containsKey(projectName)) {
+      try {
+        this.projectsByNameCache.get(projectName);
         throw new ProjectManagerException("Project already exists.");
+      } catch (KeyNotFoundException ex) {
       }
 
       logger.info("Trying to create " + projectName + " by user "