azkaban-aplcache

Check for invalid schedule id in scheduling APIs (#966) Issue: If

4/21/2017 12:39:52 AM

Details

diff --git a/azkaban-web-server/src/main/java/azkaban/webapp/servlet/ScheduleServlet.java b/azkaban-web-server/src/main/java/azkaban/webapp/servlet/ScheduleServlet.java
index f013451..baf59b8 100644
--- a/azkaban-web-server/src/main/java/azkaban/webapp/servlet/ScheduleServlet.java
+++ b/azkaban-web-server/src/main/java/azkaban/webapp/servlet/ScheduleServlet.java
@@ -130,6 +130,12 @@ public class ScheduleServlet extends LoginAbstractAzkabanServlet {
     try {
       int scheduleId = getIntParam(req, "scheduleId");
       Schedule sched = scheduleManager.getSchedule(scheduleId);
+      if (sched == null) {
+        ret.put("error",
+                "Error loading schedule. Schedule " + scheduleId
+                        + " doesn't exist");
+        return;
+      }
 
       Project project = projectManager.getProject(sched.getProjectId());
       if (!hasPermission(project, user, Permission.Type.SCHEDULE)) {
@@ -268,6 +274,13 @@ public class ScheduleServlet extends LoginAbstractAzkabanServlet {
     try {
       scheduleId = getIntParam(req, "scheduleId");
       Schedule sched = scheduleManager.getSchedule(scheduleId);
+      if (sched == null) {
+        ret.put("error",
+                "Error loading schedule. Schedule " + scheduleId
+                        + " doesn't exist");
+        return;
+      }
+
       Project project =
           getProjectAjaxByPermission(ret, sched.getProjectId(), user, Type.READ);
       if (project == null) {