Source:
<code>public void rollingUpdate(final DeploymentGroup deploymentGroup, final JobId jobId, final RolloutOptions options) throws DeploymentGroupDoesNotExistException, JobDoesNotExistException { checkNotNull(deploymentGroup, "deploymentGroup"); log.info("starting rolling-update on deployment-group: name={}, job={}", deploymentGroup.getName(), jobId); final DeploymentGroup updated = deploymentGroup.toBuilder() .setJobId(jobId) .setRolloutOptions(options) .build(); if (getJob(jobId) == null) { throw new JobDoesNotExistException(jobId); } final List<ZooKeeperOperation> operations = Lists.newArrayList(); final ZooKeeperClient client = provider.get("rollingUpdate"); operations.add(set(Paths.configDeploymentGroup(updated.getName()), updated)); try { final RollingUpdateOp op = getInitRollingUpdateOps(updated, MANUAL, client); operations.addAll(op.operations()); log.info("starting zookeeper transaction for rolling-update on " + "deployment-group name={} job={}. List of operations: {}", deploymentGroup.getName(), jobId, operations); client.transaction(operations); emitEvents(DEPLOYMENT_GROUP_EVENTS_KAFKA_TOPIC, op.events()); <START> log.info("finished rolling-update on deployment-group: name={}, job={}", <END> deploymentGroup.getName(), jobId); } catch (final NoNodeException e) { throw new DeploymentGroupDoesNotExistException(deploymentGroup.getName()); } catch (final KeeperException e) { throw new HeliosRuntimeException( "rolling-update on deployment-group " + deploymentGroup.getName() + " failed", e); } }</code><technical_language>a bit misleading rolling-update finished here. interpret "rolling-update finished" "my job rolled out hosts"</technical_language>

Target:
public void rollingUpdate(final DeploymentGroup deploymentGroup, final JobId jobId, final RolloutOptions options) throws DeploymentGroupDoesNotExistException, JobDoesNotExistException { checkNotNull(deploymentGroup, "deploymentGroup"); log.info("preparing to initiate rolling-update on deployment-group: name={}, jobId={}", deploymentGroup.getName(), jobId); final DeploymentGroup updated = deploymentGroup.toBuilder() .setJobId(jobId) .setRolloutOptions(options) .build(); if (getJob(jobId) == null) { throw new JobDoesNotExistException(jobId); } final List<ZooKeeperOperation> operations = Lists.newArrayList(); final ZooKeeperClient client = provider.get("rollingUpdate"); operations.add(set(Paths.configDeploymentGroup(updated.getName()), updated)); try { final RollingUpdateOp op = getInitRollingUpdateOps(updated, MANUAL, client); operations.addAll(op.operations()); log.info("starting zookeeper transaction for rolling-update on " + "deployment-group name={} jobId={}. List of operations: {}", deploymentGroup.getName(), jobId, operations); client.transaction(operations); emitEvents(DEPLOYMENT_GROUP_EVENTS_KAFKA_TOPIC, op.events()); log.info("initiated rolling-update on deployment-group: name={}, jobId={}", deploymentGroup.getName(), jobId); } catch (final NoNodeException e) { throw new DeploymentGroupDoesNotExistException(deploymentGroup.getName()); } catch (final KeeperException e) { throw new HeliosRuntimeException( "rolling-update on deployment-group " + deploymentGroup.getName() + " failed", e); } }