private static File findCustomProfile(File file, String customProfileName) { if (customProfileName == null) { return file; } String fileName = file.getName(); int index = fileName.lastIndexOf('.'); String extension = ""; //$NON-NLS-1$ if (index >= 0) { extension = fileName.substring(index); } File result = new File(file.getParentFile(), customProfileName + extension); YSLOG.info("I01001", //$NON-NLS-1$ result); return result; }
/** * Program entry. * @param args program arguments */ public static void main(String... args) { CommandLineUtil.prepareLogContext(); YSLOG.info("I00000"); long start = System.currentTimeMillis(); int status = execute(args); long end = System.currentTimeMillis(); YSLOG.info("I00999", status, end - start); System.exit(status); }
private File getConfDirectory(ServiceProfile<?> profile) { assert profile != null; String value = profile.getConfiguration(KEY_DIRECTORY, true, true); File dir = new File(value); if (dir.exists() == false) { YSLOG.info("I00001", profile.getPrefix(), KEY_DIRECTORY, value); } return dir; }
YSLOG.info("I00001", user, host, port, privateKey); long sessionStart = System.currentTimeMillis(); session.connect((int) TimeUnit.SECONDS.toMillis(60)); long sessionEnd = System.currentTimeMillis(); YSLOG.info("I00002", user, host, port, privateKey, sessionEnd - sessionStart); try { Map<String, String> newEnv = resolveBlobs(session, environmentVariables, extensions, output);
private void waitForComplete() throws InterruptedException, IOException { LOG.debug("Waiting for running jobflows complete: {}", batchId); FlowScriptTask done = doneQueue.take(); assert done.isDone(); FlowScript flow = done.script; try { done.get(); boolean blocked = blocking.remove(flow.getId()); assert blocked; } catch (CancellationException e) { YSLOG.info(e, "I01005", batchId, flow.getId()); } catch (ExecutionException e) { if (e.getCause() instanceof IOException) { throw (IOException) e.getCause(); } else if (e.getCause() instanceof InterruptedException) { throw (InterruptedException) e.getCause(); } else if (e.getCause() instanceof Error) { throw (Error) e.getCause(); } else { throw new IOException("Flow execution failed by unknown error", e); } } finally { FlowScriptTask ran = running.remove(flow.getId()); assert ran != null; } } }
private int execute0(Session session, List<String> commandLineTokens, Map<String, String> environmentVariables, OutputStream output) throws JSchException, InterruptedException { ChannelExec channel = (ChannelExec) session.openChannel("exec"); channel.setCommand(buildCommand(commandLineTokens, environmentVariables)); channel.setInputStream(new ByteArrayInputStream(new byte[0]), true); channel.setOutputStream(output, true); channel.setErrStream(output, true); YSLOG.info("I00003", user, host, port, privateKey, commandLineTokens.get(0)); long channelStart = System.currentTimeMillis(); channel.connect((int) TimeUnit.SECONDS.toMillis(60)); long channelEnd = System.currentTimeMillis(); YSLOG.info("I00004", user, host, port, privateKey, commandLineTokens.get(0), channelEnd - channelStart); int exitStatus; try { while (true) { if (channel.isClosed()) { break; } Thread.sleep(100); } exitStatus = channel.getExitStatus(); } finally { channel.disconnect(); } YSLOG.info("I00005", user, host, port, privateKey, commandLineTokens.get(0), exitStatus); return exitStatus; }
private void submit(FlowScript flow) { LOG.debug("Submitting jobflow \"{}\": {}", flow.getId(), batchId); FlowScriptTask task = new FlowScriptTask(flow, doneQueue, new Callable<Void>() { @Override public Void call() throws InterruptedException, IOException { if (Thread.interrupted()) { throw new InterruptedException(); } String executionId = UUID.randomUUID().toString(); LOG.debug("Generated execution ID for \"{}\": {}", flow.getId(), executionId); lock.beginFlow(flow.getId(), executionId); executeFlow(batchId, flow, executionId); lock.endFlow(flow.getId(), executionId); LOG.debug("Completing jobflow \"{}\": {}", flow.getId(), batchId); return null; } }); YSLOG.info("I01003", batchId, flow.getId()); executor.execute(task); running.put(flow.getId(), task); }
private void send( Session session, Blob blob, String remotePath, int localIndex, OutputStream output) throws IOException, JSchException { long size = blob.getSize(); String exec = String.format("scp -t \"%s\"", toLiteral(remotePath)); //$NON-NLS-1$ String header = String.format("C0644 %d BLOB-%d", size, localIndex); //$NON-NLS-1$ YSLOG.info("I01001", size, remotePath); long start = System.currentTimeMillis(); ChannelExec channel = (ChannelExec) session.openChannel("exec"); channel.setCommand(exec); channel.setErrStream(output, true); try (InputStream stdin = channel.getInputStream(); OutputStream stdout = channel.getOutputStream()) { channel.connect(); stdout.write(header.getBytes(ENCODING)); stdout.write('\n'); stdout.flush(); checkAck(blob, stdin); putBlob(blob, stdout); stdout.write(0); stdout.flush(); checkAck(blob, stdin); } finally { channel.disconnect(); } long end = System.currentTimeMillis(); YSLOG.info("I01002", size, remotePath, end - start); }
YSLOG.info("I01004", batchId); for (FlowScriptTask task : running.values()) { task.cancel(true);
/** * Performs as {@link #setUp(ExecutionMonitor, ExecutionContext)} that does nothing. * @param context current context * @since 0.4.0 */ protected final void voidSetUp(ExecutionContext context) { YSLOG.info("I51001", context.getBatchId(), context.getFlowId(), context.getExecutionId(), context.getPhase(), getHandlerId()); }
/** * Performs as {@link #cleanUp(ExecutionMonitor, ExecutionContext)} that does nothing. * @param context current context * @since 0.4.0 */ protected final void voidCleanUp(ExecutionContext context) { YSLOG.info("I51002", context.getBatchId(), context.getFlowId(), context.getExecutionId(), context.getPhase(), getHandlerId()); } }
@Override public void cleanUp(ExecutionMonitor monitor, ExecutionContext context) throws InterruptedException, IOException { ExecutionScriptHandler<T> target; if (forceCleanUp != null) { target = delegations.get(forceCleanUp); } else { target = resolve(context, null); } assert target != null; YSLOG.info("I01003", target.getHandlerId(), context.getBatchId(), context.getFlowId(), context.getPhase(), context.getExecutionId()); target.cleanUp(monitor, context); }
@Override public void setUp(ExecutionMonitor monitor, ExecutionContext context) throws InterruptedException, IOException { ExecutionScriptHandler<T> target; if (forceSetUp != null) { target = delegations.get(forceSetUp); } else { target = resolve(context, null); } assert target != null; YSLOG.info("I01001", target.getHandlerId(), context.getBatchId(), context.getFlowId(), context.getPhase(), context.getExecutionId()); target.setUp(monitor, context); }
@Override public void cleanUp( ExecutionMonitor monitor, ExecutionContext context) throws InterruptedException, IOException { monitor.open(1); try { if (cleanup) { YSLOG.info("I51001", context.getBatchId(), context.getFlowId(), context.getExecutionId(), getHandlerId()); HadoopScript script = new HadoopScript( context.getPhase().getSymbol(), Collections.emptySet(), CLEANUP_STAGE_CLASS, Collections.emptyMap(), Collections.emptyMap()); execute0(monitor, context, script); } else { YSLOG.info("I51002", context.getBatchId(), context.getFlowId(), context.getExecutionId(), getHandlerId()); } } finally { monitor.close(); } }
assert flow != null; assert executionId != null; YSLOG.info("I02000", batchId, flow.getId(), executionId); long start = System.currentTimeMillis(); try { if (skipFlows.contains(flow.getId())) { YSLOG.info("I02002", batchId, flow.getId(), executionId); return; executePhase(batchId, flow, executionId, ExecutionPhase.FINALIZE); } else { YSLOG.info("I02003", batchId, flow.getId(), executionId); try { executePhase(batchId, flow, executionId, ExecutionPhase.FINALIZE); YSLOG.warn(e, "W02003", batchId, flow.getId(), executionId); YSLOG.info("I02001", batchId, flow.getId(), executionId); } catch (ExitCodeException e) { YSLOG.error("E02001", batchId, flow.getId(), executionId); } finally { long end = System.currentTimeMillis(); YSLOG.info("I02999", batchId, flow.getId(), executionId, end - start);
executor = defaultExecutor; } else { YSLOG.info("I01001", context.getBatchId(), context.getFlowId(),
@Override public void execute( ExecutionMonitor monitor, ExecutionContext context, T script) throws InterruptedException, IOException { ExecutionScriptHandler<T> target = resolve(context, script); assert target != null; YSLOG.info("I01002", target.getHandlerId(), context.getBatchId(), context.getFlowId(), context.getPhase(), context.getExecutionId(), script.getId()); target.execute(monitor, context, script); }
throw new IllegalArgumentException("context must not be null"); //$NON-NLS-1$ YSLOG.info("I04000", context.getBatchId(), context.getFlowId(), context.getExecutionId(), context.getPhase(), getJobLabel(), getServiceLabel(), getTrackingId(context)); try { execute(monitor, context); YSLOG.info("I04001", context.getBatchId(), context.getFlowId(), context.getExecutionId(), context.getPhase(), getJobLabel(), getServiceLabel(), getTrackingId(context)); } finally { long end = System.currentTimeMillis(); YSLOG.info("I04999", context.getBatchId(), context.getFlowId(), context.getExecutionId(), context.getPhase(), getJobLabel(), getServiceLabel(), getTrackingId(context), end - start);