void handlePreparePhaseTimeout(ServerIdentity identity, ServerUpdateTask task, long timeout) { blockingTimeout.proxyTimeoutDetected(identity.toPathAddress()); // Record a synthetic prepared result so the timeout can impact the updatePolicy and // possibly trigger a ServerRequestRestartTask if the overall rollout isn't rolled back final ServerTaskExecutor.ServerOperation serverOperation = new ServerTaskExecutor.ServerOperation(identity, task.getOperation(), null, null, OperationResultTransformer.ORIGINAL_RESULT); final String failureMsg = ControllerLogger.ROOT_LOGGER.proxiedOperationTimedOut(task.getOperation().get(OP).asString(), identity.toPathAddress(), timeout); final ModelNode failureNode = new ModelNode(); failureNode.get(OUTCOME).set(FAILED); failureNode.get(FAILURE_DESCRIPTION).set(failureMsg); final BlockingQueueOperationListener.FailedOperation<ServerTaskExecutor.ServerOperation> prepared = new BlockingQueueOperationListener.FailedOperation<>(serverOperation, failureNode, true); final ModelNode preparedResult = prepared.getPreparedResult(); updatePolicy.recordServerResult(identity, preparedResult); executor.recordOperationPrepareTimeout(prepared); } }
void handlePreparePhaseTimeout(ServerIdentity identity, ServerUpdateTask task, long timeout) { blockingTimeout.proxyTimeoutDetected(identity.toPathAddress()); // Record a synthetic prepared result so the timeout can impact the updatePolicy and // possibly trigger a ServerRequestRestartTask if the overall rollout isn't rolled back final ServerTaskExecutor.ServerOperation serverOperation = new ServerTaskExecutor.ServerOperation(identity, task.getOperation(), null, null, OperationResultTransformer.ORIGINAL_RESULT); final String failureMsg = ControllerLogger.ROOT_LOGGER.proxiedOperationTimedOut(task.getOperation().get(OP).asString(), identity.toPathAddress(), timeout); final ModelNode failureNode = new ModelNode(); failureNode.get(OUTCOME).set(FAILED); failureNode.get(FAILURE_DESCRIPTION).set(failureMsg); final BlockingQueueOperationListener.FailedOperation<ServerTaskExecutor.ServerOperation> prepared = new BlockingQueueOperationListener.FailedOperation<>(serverOperation, failureNode, true); final ModelNode preparedResult = prepared.getPreparedResult(); updatePolicy.recordServerResult(identity, preparedResult); executor.recordOperationPrepareTimeout(prepared); } }