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 "