azkaban-developers

Removing nyx changes from master

4/1/2016 8:32:37 PM

Details

diff --git a/azkaban-common/src/main/java/azkaban/executor/ExecutionOptions.java b/azkaban-common/src/main/java/azkaban/executor/ExecutionOptions.java
index 5049743..d8b10f1 100644
--- a/azkaban-common/src/main/java/azkaban/executor/ExecutionOptions.java
+++ b/azkaban-common/src/main/java/azkaban/executor/ExecutionOptions.java
@@ -37,8 +37,6 @@ public class ExecutionOptions {
   /* override dispatcher selection and use executor id specified */
   public static final String USE_EXECUTOR = "useExecutor";
   public static final int DEFAULT_FLOW_PRIORITY = 5;
-  public static final String TRIGGER_SPEC = "triggerSpec";
-  public static final String TRIGGER_FILE = "triggerFile";
 
   private static final String FLOW_PARAMETERS = "flowParameters";
   private static final String NOTIFY_ON_FIRST_FAILURE = "notifyOnFirstFailure";
diff --git a/azkaban-common/src/main/java/azkaban/project/DirectoryFlowLoader.java b/azkaban-common/src/main/java/azkaban/project/DirectoryFlowLoader.java
index 79a6e87..2295435 100644
--- a/azkaban-common/src/main/java/azkaban/project/DirectoryFlowLoader.java
+++ b/azkaban-common/src/main/java/azkaban/project/DirectoryFlowLoader.java
@@ -18,7 +18,6 @@ package azkaban.project;
 
 import java.io.File;
 import java.io.FileFilter;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -29,7 +28,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.log4j.Logger;
 
 import azkaban.flow.CommonJobProperties;
@@ -49,7 +47,6 @@ import azkaban.utils.Utils;
 public class DirectoryFlowLoader implements ProjectValidator {
   private static final DirFilter DIR_FILTER = new DirFilter();
   private static final String PROPERTY_SUFFIX = ".properties";
-  private static final String TRIGGER_SUFFIX = ".trigger";
   private static final String JOB_SUFFIX = ".job";
   public static final String JOB_MAX_XMS = "job.max.Xms";
   public static final String MAX_XMS_DEFAULT = "1G";
@@ -63,7 +60,6 @@ public class DirectoryFlowLoader implements ProjectValidator {
   private HashSet<String> rootNodes;
   private HashMap<String, Flow> flowMap;
   private HashMap<String, Node> nodeMap;
-  private HashMap<String, String> triggerMap;
   private HashMap<String, Map<String, Edge>> nodeDependencies;
   private HashMap<String, Props> jobPropsMap;
 
@@ -112,16 +108,6 @@ public class DirectoryFlowLoader implements ProjectValidator {
   public Map<String, Props> getJobProps() {
     return jobPropsMap;
   }
-  
-  /**
-   * Returns triggers
-   *
-   * @return Map of trigger file name to trigger json
-   */
-  public Map<String, String> getTriggerMap() {
-    return triggerMap;
-  }
-
 
   /**
    * Returns list of properties.
@@ -144,7 +130,6 @@ public class DirectoryFlowLoader implements ProjectValidator {
     jobPropsMap = new HashMap<String, Props>();
     nodeMap = new HashMap<String, Node>();
     flowMap = new HashMap<String, Flow>();
-    triggerMap = new HashMap<String, String>();
     errors = new HashSet<String>();
     duplicateJobs = new HashSet<String>();
     nodeDependencies = new HashMap<String, Map<String, Edge>>();
@@ -188,28 +173,6 @@ public class DirectoryFlowLoader implements ProjectValidator {
       propsList.add(parent);
     }
 
-    //Loading all trigger files
-    File[] triggerFiles = dir.listFiles(new SuffixFilter(TRIGGER_SUFFIX));
-    for (File file : triggerFiles) {
-      FileInputStream fIStream = null;
-      try {
-        if(!triggerMap.containsKey(file.getName())) {
-          fIStream = new FileInputStream(file);
-          String triggerJSON = IOUtils.toString(fIStream);
-          //TODO: validate trigger JSON
-          triggerMap.put(file.getName(), triggerJSON);
-        }
-      } catch (IOException e) {
-        errors.add("Error loading trigger " + file.getName() + ":"
-            + e.getMessage());
-      } finally {
-        if(fIStream != null) {
-          IOUtils.closeQuietly(fIStream);
-        }
-      }
-      logger.info("Adding " + file.getName());
-    }
-    
     // Load all Job files. If there's a duplicate name, then we don't load
     File[] jobFiles = dir.listFiles(new SuffixFilter(JOB_SUFFIX));
     for (File file : jobFiles) {
diff --git a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
index fb8bbd0..52024f1 100644
--- a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
+++ b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
@@ -30,9 +30,6 @@ import java.util.zip.ZipFile;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.log4j.Logger;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
 
 import azkaban.flow.Flow;
 import azkaban.project.DirectoryFlowLoader;
@@ -52,7 +49,6 @@ import azkaban.utils.Utils;
 public class ProjectManager {
   private static final Logger logger = Logger.getLogger(ProjectManager.class);
 
-  public static final String TRIGGER_DATA = "triggers";
   private ConcurrentHashMap<Integer, Project> projectsById =
       new ConcurrentHashMap<Integer, Project>();
   private ConcurrentHashMap<String, Project> projectsByName =
@@ -531,7 +527,6 @@ public class ProjectManager {
         (DirectoryFlowLoader) validatorManager.getDefaultValidator();
     Map<String, Props> jobProps = loader.getJobProps();
     List<Props> propProps = loader.getProps();
-    Map<String, String> triggerMap = loader.getTriggerMap();
 
     synchronized (project) {
       int newVersion = projectLoader.getLatestProjectVersion(project) + 1;
@@ -555,10 +550,6 @@ public class ProjectManager {
           jobProps.values()));
       logger.info("Uploading Props properties");
       projectLoader.uploadProjectProperties(project, propProps);
-      
-      logger.info("Uploading trigger files");
-      project.getMetadata().put(TRIGGER_DATA, triggerMap);
-      projectLoader.updateProjectSettings(project);
     }
 
     logger.info("Uploaded project files. Cleaning up temp files.");
diff --git a/azkaban-common/src/main/java/azkaban/scheduler/TriggerBasedScheduleLoader.java b/azkaban-common/src/main/java/azkaban/scheduler/TriggerBasedScheduleLoader.java
index 5010d27..7a3c12a 100644
--- a/azkaban-common/src/main/java/azkaban/scheduler/TriggerBasedScheduleLoader.java
+++ b/azkaban-common/src/main/java/azkaban/scheduler/TriggerBasedScheduleLoader.java
@@ -23,7 +23,6 @@ import java.util.Map;
 
 import org.apache.log4j.Logger;
 
-import azkaban.executor.ExecutionOptions;
 import azkaban.trigger.Condition;
 import azkaban.trigger.ConditionChecker;
 import azkaban.trigger.Trigger;
@@ -33,7 +32,6 @@ import azkaban.trigger.TriggerManagerAdapter;
 import azkaban.trigger.TriggerManagerException;
 import azkaban.trigger.builtin.BasicTimeChecker;
 import azkaban.trigger.builtin.ExecuteFlowAction;
-import azkaban.trigger.builtin.NyxTriggerChecker;
 
 public class TriggerBasedScheduleLoader implements ScheduleLoader {
 
@@ -88,17 +86,6 @@ public class TriggerBasedScheduleLoader implements ScheduleLoader {
             s.getPeriod());
     checkers.put(checker.getId(), checker);
     String expr = checker.getId() + ".eval()";
-    
-    Map<String, String> flowParams =
-        s.getExecutionOptions().getFlowParameters();
-    if (flowParams != null
-        && flowParams.containsKey(ExecutionOptions.TRIGGER_SPEC)) {
-      ConditionChecker nyxChecker = new NyxTriggerChecker(
-          flowParams.get(ExecutionOptions.TRIGGER_SPEC), "NyxTriggerChecker_1");
-      checkers.put(nyxChecker.getId(), nyxChecker);
-      expr = " && " + nyxChecker.getId() + ".eval() ";
-    }
-
     Condition cond = new Condition(checkers, expr);
     return cond;
   }
diff --git a/azkaban-common/src/main/java/azkaban/server/HttpRequestUtils.java b/azkaban-common/src/main/java/azkaban/server/HttpRequestUtils.java
index 48b848d..fc159ec 100644
--- a/azkaban-common/src/main/java/azkaban/server/HttpRequestUtils.java
+++ b/azkaban-common/src/main/java/azkaban/server/HttpRequestUtils.java
@@ -31,8 +31,6 @@ import azkaban.executor.ExecutionOptions;
 import azkaban.executor.ExecutionOptions.FailureAction;
 import azkaban.executor.ExecutorManagerException;
 import azkaban.executor.mail.DefaultMailCreator;
-import azkaban.project.Project;
-import azkaban.project.ProjectManager;
 import azkaban.user.Permission;
 import azkaban.user.Permission.Type;
 import azkaban.user.Role;
@@ -317,36 +315,4 @@ public class HttpRequestUtils {
     return groupParam;
   }
 
-  /**
-   * Set correct trigger spec using runtime-config or .json file
-   * 
-   * @param flowOptions
-   * @param project
-   * @throws Exception
-   */
-  public static void setTriggerSpecification(ExecutionOptions flowOptions,
-      Project project) throws Exception {
-    Map<String, String> flowParams = flowOptions.getFlowParameters();
-    Map<String, Object> metaData = project.getMetadata();
-    // User specific TRIGGER_SPEC takes higher priority
-    if (flowParams != null
-        && !flowParams.containsKey(ExecutionOptions.TRIGGER_SPEC)
-        && metaData != null
-        && metaData.containsKey(ProjectManager.TRIGGER_DATA)) {
-      String triggerName = flowParams.get(ExecutionOptions.TRIGGER_FILE);
-      @SuppressWarnings("unchecked")
-      Map<String, String> triggers =
-          (Map<String, String>) metaData.get(ProjectManager.TRIGGER_DATA);
-      if (triggers.containsKey(triggerName)) {
-        flowParams.put(ExecutionOptions.TRIGGER_SPEC,
-            triggers.get(triggerName));
-      } else if (triggers.containsKey(triggerName + ".json")) {
-        flowParams.put(ExecutionOptions.TRIGGER_SPEC,
-            triggers.get(triggerName + ".json"));
-      } else {
-        throw new Exception("Unknown trigger file " + triggerName);
-      }
-    }
-  }
-
 }
diff --git a/azkaban-common/src/main/java/azkaban/trigger/TriggerManager.java b/azkaban-common/src/main/java/azkaban/trigger/TriggerManager.java
index a15f581..e825202 100644
--- a/azkaban-common/src/main/java/azkaban/trigger/TriggerManager.java
+++ b/azkaban-common/src/main/java/azkaban/trigger/TriggerManager.java
@@ -60,7 +60,6 @@ public class TriggerManager extends EventHandler implements
   private final Object syncObj = new Object();
 
   private String scannerStage = "";
-  private static Props azprops = null;
   
   public TriggerManager(Props props, TriggerLoader triggerLoader,
       ExecutorManager executorManager) throws TriggerManagerException {
@@ -73,8 +72,7 @@ public class TriggerManager extends EventHandler implements
 
     checkerTypeLoader = new CheckerTypeLoader();
     actionTypeLoader = new ActionTypeLoader();
-    setAzprops(props);
-    
+
     try {
       checkerTypeLoader.init(props);
       actionTypeLoader.init(props);
@@ -512,14 +510,6 @@ public class TriggerManager extends EventHandler implements
     actionTypeLoader.registerActionType(name, action);
   }
 
-  public static Props getAzprops() {
-    return azprops;
-  }
-
-  public static void setAzprops(Props azprops) {
-    TriggerManager.azprops = azprops;
-  }
-
   private class ExecutorManagerEventListener implements EventListener {
     public ExecutorManagerEventListener() {
     }
diff --git a/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ScheduleServlet.java b/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ScheduleServlet.java
index 4644468..a36505b 100644
--- a/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ScheduleServlet.java
+++ b/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ScheduleServlet.java
@@ -661,7 +661,6 @@ public class ScheduleServlet extends LoginAbstractAzkabanServlet {
     try {
       flowOptions = HttpRequestUtils.parseFlowOptions(req);
       HttpRequestUtils.filterAdminOnlyFlowParams(userManager, flowOptions, user);
-      HttpRequestUtils.setTriggerSpecification(flowOptions, project);
     } catch (Exception e) {
       ret.put("error", e.getMessage());
     }