private void doStats(ContainerHostRequest request, ComputeState computeState) { String hostLink = computeState.documentSelfLink; Operation post = Operation.createPost(this, ShellContainerExecutorService.SELF_LINK) .setContextId(request.getRequestId()); post.setUri(UriUtils.appendQueryParam(post.getUri(), ShellContainerExecutorService.HOST_LINK_URI_PARAM, hostLink)); HashMap<String, Object> command = new HashMap<>(); command.put(ShellContainerExecutorService.COMMAND_KEY, ShellContainerExecutorService.buildComplexCommand( COMMAND_AVAILABLE_MEMORY, COMMAND_CPU_USAGE)); post.setBodyNoCloning(command); sendRequest(post.setCompletion((o2, ex2) -> { if (ex2 != null) { // We should not fail if the command does not succeed logSevere(ex2); patchTaskStage(request, TaskStage.FINISHED, null); return; } ShellContainerExecutorResult result = o2.getBody(ShellContainerExecutorResult.class); Map<String, Object> properties = parseStatsOutput(result.output, hostLink); Operation op = Operation .createPatch(null) .setBodyNoCloning(properties); getHostPatchCompletionHandler(request).handle(op, null); })); }
false, ServiceOption.PERSISTENCE); previousStateQueryUri = UriUtils.appendQueryParam(previousStateQueryUri, ServiceDocument.FIELD_NAME_VERSION, Long.toString(clearTransactionRequest.originalVersion));
localQueryUri = UriUtils.appendQueryParam(localQueryUri, ServiceDocument.FIELD_NAME_VERSION, Long.toString(version));
localQueryUri = UriUtils.appendQueryParam(localQueryUri, ServiceDocument.FIELD_NAME_VERSION, Long.toString(version));
post.setUri(UriUtils.appendQueryParam(post.getUri(), ShellContainerExecutorService.HOST_LINK_URI_PARAM, hostLink));
private CompositeDescription cloneCompositeDesc(CompositeDescription compositeDesc, boolean reverse) throws Throwable { CompositeDescription[] result = new CompositeDescription[] { null }; URI cloneOpUri = UriUtils.buildUri(host, CompositeDescriptionCloneService.SELF_LINK); if (reverse) { cloneOpUri = UriUtils.appendQueryParam(cloneOpUri, CompositeDescriptionCloneService.REVERSE_PARENT_LINKS_PARAM, Boolean.TRUE.toString()); } Operation cloneCompositeDesc = Operation.createPost(cloneOpUri) .setBody(compositeDesc) .setCompletion( (o, e) -> { if (e != null) { host.log("Can't clone composite description.", Utils.toString(e)); host.failIteration(e); return; } CompositeDescription cd = o.getBody(CompositeDescription.class); result[0] = cd; host.completeIteration(); }); host.testStart(1); host.send(cloneCompositeDesc); host.testWait(); CompositeDescription clonedCompositeDesc = result[0]; return clonedCompositeDesc; }