private static String formatRolloutOptions(final RolloutOptions options) { if (options == null) { return ""; } final List<String> output = new ArrayList<>(); output.add(String.format("timeout: %d", options.getTimeout())); output.add(String.format("parallelism: %d", options.getParallelism())); output.add(String.format("migrate: %s", options.getMigrate())); output.add(String.format("overlap: %s", options.getOverlap())); output.add(String.format("token: %s", options.getToken())); output.add(String.format("ignoreFailures: %s", options.getIgnoreFailures())); return Joiner.on(", ").join(output); }
private boolean isRolloutTimedOut(final ZooKeeperClient client, final DeploymentGroup deploymentGroup) { final String groupName = deploymentGroup.getName(); final RolloutOptions defaultOptions = RolloutOptions.getDefault(); final long groupTimeoutSetting = deploymentGroup.getRolloutOptions() == null ? defaultOptions.getTimeout() : deploymentGroup.getRolloutOptions().withFallback(defaultOptions).getTimeout(); final long secondsSinceDeploy; try { final String statusPath = Paths.statusDeploymentGroupTasks(groupName); secondsSinceDeploy = MILLISECONDS.toSeconds( System.currentTimeMillis() - client.getNode(statusPath).getStat().getMtime()); } catch (KeeperException e) { // statusPath doesn't exist or some other ZK issue. probably this deployment group // was removed. log.warn("error determining deployment group modification time: name={}", groupName, e); return false; } if (secondsSinceDeploy > groupTimeoutSetting) { log.info("rolling-update on deployment-group name={} has timed out after " + "{} seconds (rolloutOptions.timeout={})", groupName, secondsSinceDeploy, groupTimeoutSetting); return true; } return false; }
out.printf(" Overlap: %s%n", rolloutOptions.getOverlap()); out.printf(" Parallelism: %d%n", rolloutOptions.getParallelism()); out.printf(" Timeout: %d%n", rolloutOptions.getTimeout()); if (!isNullOrEmpty(rolloutOptions.getToken())) { out.printf(" Token: %s%n", rolloutOptions.getToken());
final Integer actualParallelism = nullableWithFallback(parallelism, optionsFromJob.getParallelism()); final Long actualTimeout = nullableWithFallback(timeout, optionsFromJob.getTimeout()); final Boolean actualOverlap = nullableWithFallback(overlap, optionsFromJob.getOverlap()); final String actualToken = nullableWithFallback(token, optionsFromJob.getToken());
private boolean isRolloutTimedOut(final DeploymentGroup deploymentGroup, final ZooKeeperClient client) { try { final String statusPath = Paths.statusDeploymentGroup(deploymentGroup.getName()); final long secondsSinceDeploy = MILLISECONDS.toSeconds( System.currentTimeMillis() - client.getNode(statusPath).getStat().getMtime()); return secondsSinceDeploy > deploymentGroup.getRolloutOptions().getTimeout(); } catch (KeeperException e) { // statusPath doesn't exist or some other ZK issue. probably this deployment group // was removed. log.warn("error determining deployment group modification time: {} - {}", deploymentGroup.getName(), e); return false; } }