diff --git a/azkaban-web-server/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java b/azkaban-web-server/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
index c52b9b3..203f6e6 100644
--- a/azkaban-web-server/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
+++ b/azkaban-web-server/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
@@ -1671,6 +1671,11 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
final User user = session.getUser();
final String projectName = (String) multipart.get("project");
final Project project = this.projectManager.getProject(projectName);
+ if (!project.isActive()) {
+ registerError(ret, "Installation Failed. Project '" + project.getName()
+ + "' was already removed.", resp, 410);
+ return;
+ }
logger.info(
"Upload: reference of project " + projectName + " is " + System.identityHashCode(project));
diff --git a/azkaban-web-server/src/restli/java/azkaban/restli/ProjectManagerResource.java b/azkaban-web-server/src/restli/java/azkaban/restli/ProjectManagerResource.java
index f890641..5f418e1 100644
--- a/azkaban-web-server/src/restli/java/azkaban/restli/ProjectManagerResource.java
+++ b/azkaban-web-server/src/restli/java/azkaban/restli/ProjectManagerResource.java
@@ -77,6 +77,12 @@ public class ProjectManagerResource extends ResourceContextHolder {
throw new RestLiServiceException(HttpStatus.S_400_BAD_REQUEST, errorMsg);
}
+ if (!project.isActive()) {
+ final String errorMsg =
+ "Installation Failed. Project '" + projectName + "' was already removed.";
+ throw new RestLiServiceException(HttpStatus.S_410_GONE, errorMsg);
+ }
+
if (!ResourceUtils.hasPermission(project, user, Permission.Type.WRITE)) {
final String errorMsg =
"User " + user.getUserId()