/** * Get all metrics tracked by the given executor */ private void handleGetAllMetricName(final int executorId, final HttpServletRequest req, final HashMap<String, Object> ret) throws IOException { final Map<String, Object> result; try { result = this.execManagerAdapter.callExecutorStats(executorId, ConnectorParams.STATS_GET_ALLMETRICSNAME, (Pair<String, String>[]) null); if (result.containsKey(ConnectorParams.RESPONSE_ERROR)) { ret.put("error", result.get(ConnectorParams.RESPONSE_ERROR).toString()); } else { ret.put("metricList", result.get("data")); } } catch (final ExecutorManagerException e) { logger.error(e.getMessage(), e); ret.put("error", "Failed to fetch metric names for executor : " + executorId); } }
/** * Generic method to facilitate actionName action using Azkaban exec server * * @param actionName Name of the action */ private void handleChangeConfigurationRequest(final int executorId, final String actionName, final HttpServletRequest req, final HashMap<String, Object> ret) throws ServletException, IOException { try { final Map<String, Object> result = this.execManagerAdapter .callExecutorStats(executorId, actionName, getAllParams(req)); if (result.containsKey(ConnectorParams.RESPONSE_ERROR)) { ret.put(ConnectorParams.RESPONSE_ERROR, result.get(ConnectorParams.RESPONSE_ERROR).toString()); } else { ret.put(ConnectorParams.STATUS_PARAM, result.get(ConnectorParams.STATUS_PARAM)); } } catch (final ExecutorManagerException ex) { logger.error(ex.getMessage(), ex); ret.put("error", "Failed to change config change"); } }
/** * Get metric snapshots for a metric and date specification */ private void handleGetMetricHistory(final int executorId, final HttpServletRequest req, final HashMap<String, Object> ret, final User user) throws IOException, ServletException { try { final Map<String, Object> result = this.execManagerAdapter.callExecutorStats(executorId, ConnectorParams.STATS_GET_METRICHISTORY, getAllParams(req)); if (result.containsKey(ConnectorParams.RESPONSE_ERROR)) { ret.put(ConnectorParams.RESPONSE_ERROR, result.get(ConnectorParams.RESPONSE_ERROR).toString()); } else { ret.put("data", result.get("data")); } } catch (final ExecutorManagerException ex) { logger.error(ex.getMessage(), ex); ret.put("error", "Failed to fetch metric history"); } }
private void ajaxReloadExecutors(final HttpServletRequest req, final HttpServletResponse resp, final HashMap<String, Object> returnMap, final User user) { boolean wasSuccess = false; if (HttpRequestUtils.hasPermission(this.userManager, user, Type.ADMIN)) { try { this.executorManagerAdapter.setupExecutors(); returnMap.put(ConnectorParams.STATUS_PARAM, ConnectorParams.RESPONSE_SUCCESS); wasSuccess = true; } catch (final ExecutorManagerException e) { returnMap.put(ConnectorParams.RESPONSE_ERROR, "Failed to refresh the executors " + e.getMessage()); } } else { returnMap.put(ConnectorParams.RESPONSE_ERROR, "Only Admins are allowed to refresh the executors"); } if (!wasSuccess) { returnMap.put(ConnectorParams.STATUS_PARAM, ConnectorParams.RESPONSE_ERROR); } }
wasSuccess = true; } catch (final ExecutorManagerException e) { returnMap.put(ConnectorParams.RESPONSE_ERROR, e.getMessage());
private void ajaxCancelFlow(final HttpServletRequest req, final HttpServletResponse resp, final HashMap<String, Object> ret, final User user, final ExecutableFlow exFlow) throws ServletException { final Project project = getProjectAjaxByPermission(ret, exFlow.getProjectId(), user, Type.EXECUTE); if (project == null) { return; } try { this.executorManagerAdapter.cancelFlow(exFlow, user.getUserId()); } catch (final ExecutorManagerException e) { ret.put("error", e.getMessage()); } }
private void ajaxPauseFlow(final HttpServletRequest req, final HttpServletResponse resp, final HashMap<String, Object> ret, final User user, final ExecutableFlow exFlow) throws ServletException { final Project project = getProjectAjaxByPermission(ret, exFlow.getProjectId(), user, Type.EXECUTE); if (project == null) { return; } try { this.executorManagerAdapter.pauseFlow(exFlow, user.getUserId()); } catch (final ExecutorManagerException e) { ret.put("error", e.getMessage()); } }
private void ajaxResumeFlow(final HttpServletRequest req, final HttpServletResponse resp, final HashMap<String, Object> ret, final User user, final ExecutableFlow exFlow) throws ServletException { final Project project = getProjectAjaxByPermission(ret, exFlow.getProjectId(), user, Type.EXECUTE); if (project == null) { return; } try { this.executorManagerAdapter.resumeFlow(exFlow, user.getUserId()); } catch (final ExecutorManagerException e) { ret.put("resume", e.getMessage()); } }
private void ajaxRestartFailed(final HttpServletRequest req, final HttpServletResponse resp, final HashMap<String, Object> ret, final User user, final ExecutableFlow exFlow) throws ServletException { final Project project = getProjectAjaxByPermission(ret, exFlow.getProjectId(), user, Type.EXECUTE); if (project == null) { return; } if (exFlow.getStatus() == Status.FAILED || exFlow.getStatus() == Status.SUCCEEDED) { ret.put("error", "Flow has already finished. Please re-execute."); return; } try { this.executorManagerAdapter.retryFailures(exFlow, user.getUserId()); } catch (final ExecutorManagerException e) { ret.put("error", e.getMessage()); } }
if (e.getReason() == ExecutorManagerException.Reason.SkippedExecution) { logger.info("Skipped action [" + action.getDescription() + "] for [" + t + "] because: " + e.getMessage()); } else { logger.error("Failed to do action [" + action.getDescription() + "] for [" + t + "]",
} catch (final ExecutorManagerException e) { ret.put("error", "Error fetching execution '" + execid + "': " + e.getMessage());
page.add("errorMsg", e.getMessage());
page.add("error", e.getMessage()); page.add("error", e.getMessage());
page.add("errorMsg", "Error loading executing flow: " + e.getMessage()); page.render(); return;
page.add("jobViewerPlugins", jobViewerPlugins); } catch (final ExecutorManagerException e) { page.add("errorMsg", "Error loading executing flow: " + e.getMessage()); page.render(); return;
page.add("jobViewerPlugins", jobViewerPlugins); } catch (final ExecutorManagerException e) { page.add("errorMsg", "Error loading executing flow: " + e.getMessage()); page.render(); return;
private void handleAjaxCancel(Map<String, Object> respMap, int execid, String user) throws ServletException { if (user == null) { respMap.put(RESPONSE_ERROR, "user has not been set"); return; } try { flowRunnerManager.cancelFlow(execid, user); respMap.put(STATUS_PARAM, RESPONSE_SUCCESS); } catch (ExecutorManagerException e) { logger.error(e); respMap.put(RESPONSE_ERROR, e.getMessage()); } }
private void handleAjaxResume(Map<String, Object> respMap, int execid, String user) throws ServletException { if (user == null) { respMap.put(RESPONSE_ERROR, "user has not been set"); return; } try { flowRunnerManager.resumeFlow(execid, user); respMap.put(STATUS_PARAM, RESPONSE_SUCCESS); } catch (ExecutorManagerException e) { e.printStackTrace(); respMap.put(RESPONSE_ERROR, e.getMessage()); } }
private void ajaxResumeFlow(HttpServletRequest req, HttpServletResponse resp, HashMap<String, Object> ret, User user, ExecutableFlow exFlow) throws ServletException{ Project project = getProjectAjaxByPermission(ret, exFlow.getProjectId(), user, Type.EXECUTE); if (project == null) { return; } try { executorManager.resumeFlow(exFlow, user.getUserId()); } catch (ExecutorManagerException e) { ret.put("resume", e.getMessage()); } }
private void ajaxPauseFlow(HttpServletRequest req, HttpServletResponse resp, HashMap<String, Object> ret, User user, ExecutableFlow exFlow) throws ServletException{ Project project = getProjectAjaxByPermission(ret, exFlow.getProjectId(), user, Type.EXECUTE); if (project == null) { return; } try { executorManager.pauseFlow(exFlow, user.getUserId()); } catch (ExecutorManagerException e) { ret.put("error", e.getMessage()); } }