@Override protected void handleExpiringObject(SingularityExpiringScale expiringObject, SingularityRequestWithState requestWithState, String message) { final SingularityRequest oldRequest = requestWithState.getRequest(); final SingularityRequest newRequest = oldRequest.toBuilder().setInstances(expiringObject.getRevertToInstances()).build(); try { Optional<SingularityBounceRequest> maybeBounceRequest = Optional.absent(); if (expiringObject.getBounce().or(false) || newRequest.getBounceAfterScale().or(false)) { LOG.info("Attempting to bounce request {} after expiring scale", newRequest.getId()); Optional<String> maybeActiveDeployId = deployManager.getInUseDeployId(newRequest.getId()); if (maybeActiveDeployId.isPresent()) { maybeBounceRequest = Optional.of(SingularityBounceRequest.defaultRequest()); } else { LOG.debug("No active deploy id present for request {}, not bouncing after expiring scale", newRequest.getId()); } } requestHelper.updateRequest(newRequest, Optional.of(oldRequest), requestWithState.getState(), Optional.of(RequestHistoryType.SCALE_REVERTED), expiringObject.getUser(), Optional.<Boolean>absent(), Optional.of(message), maybeBounceRequest); mailer.sendRequestScaledMail(newRequest, Optional.<SingularityScaleRequest>absent(), oldRequest.getInstances(), expiringObject.getUser()); } catch (WebApplicationException wae) { LOG.error("While trying to apply {} for {}", expiringObject, expiringObject.getRequestId(), wae); } }
if (scaleRequest.getBounce().or(newRequest.getBounceAfterScale().or(false))) { validator.checkActionEnabled(SingularityAction.BOUNCE_REQUEST);
@Override protected void handleExpiringObject(SingularityExpiringScale expiringObject, SingularityRequestWithState requestWithState, String message) { final SingularityRequest oldRequest = requestWithState.getRequest(); final SingularityRequest newRequest = oldRequest.toBuilder().setInstances(expiringObject.getRevertToInstances()).build(); try { Optional<SingularityBounceRequest> maybeBounceRequest = Optional.absent(); if (expiringObject.getBounce().or(false) || newRequest.getBounceAfterScale().or(false)) { LOG.info("Attempting to bounce request {} after expiring scale", newRequest.getId()); Optional<String> maybeActiveDeployId = deployManager.getInUseDeployId(newRequest.getId()); if (maybeActiveDeployId.isPresent()) { maybeBounceRequest = Optional.of(SingularityBounceRequest.defaultRequest()); } else { LOG.debug("No active deploy id present for request {}, not bouncing after expiring scale", newRequest.getId()); } } requestHelper.updateRequest(newRequest, Optional.of(oldRequest), requestWithState.getState(), Optional.of(RequestHistoryType.SCALE_REVERTED), expiringObject.getUser(), Optional.<Boolean>absent(), Optional.of(message), maybeBounceRequest); mailer.sendRequestScaledMail(newRequest, Optional.<SingularityScaleRequest>absent(), oldRequest.getInstances(), expiringObject.getUser()); } catch (WebApplicationException wae) { LOG.error("While trying to apply {} for {}", expiringObject, expiringObject.getRequestId(), wae); } }
if (scaleRequest.getBounce().or(newRequest.getBounceAfterScale().or(false))) { validator.checkActionEnabled(SingularityAction.BOUNCE_REQUEST);