private void expireServicesAsOwner(Operation maintOp, long deadline) { try { applyDocumentExpirationPolicy(deadline); } catch (Throwable e) { logWarning("Expiration failed: %s", e); } maintOp.complete(); }
visitor, documentSelfLink); } catch (Exception e) { logWarning("Error getting state for %s: %s", documentSelfLink, e);
private void expandLinks(Operation o, Operation get) { ServiceDocumentQueryResult r = o.getBody(ServiceDocumentQueryResult.class); if (r.documentLinks == null || r.documentLinks.isEmpty()) { get.setBodyNoCloning(r).complete(); return; } r.documents = new HashMap<>(); AtomicInteger i = new AtomicInteger(r.documentLinks.size()); CompletionHandler c = (op, e) -> { try { if (e != null) { logWarning("failure expanding %s: %s", op.getUri().getPath(), e); return; } synchronized (r.documents) { r.documents.put(op.getUri().getPath(), op.getBodyRaw()); } } finally { if (i.decrementAndGet() == 0) { get.setBodyNoCloning(r).complete(); } } }; for (String selfLink : r.documentLinks) { sendRequest(Operation.createGet(this, selfLink) .setCompletion(c)); } }
switch (task.taskInfo.stage) { case CREATED: logWarning("Task %s is in invalid state: %s", task.taskInfo.stage); op.fail(new IllegalStateException("Stage not supported")); return true;
.setCompletion((op, t) -> { if (t != null) { logWarning("owner selection failed: %s", t); maintOp.fail(t); return; rsp = Utils.fromJson(r.getValue(), NodeSelectorService.SelectOwnerResponse.class); } catch (Exception e) { logWarning("Exception thrown in de-serializing json response: %s", e); logWarning("%s responded with '%s'", r.getKey(), r.getValue()); } else if (!rsp.ownerNodeId.equals(getHost().getId())) { logWarning("SelectOwner response from %s does not indicate that " + "local node %s is the owner for factory %s. JsonResponse: %s", r.getKey(), getHost().getId(), getSelfLink(), r.getValue());
return; logWarning("Attempting recovery due to error: %s", Utils.toString(e)); op.fail(e);
OperationContext.restoreOperationContext(opContext); if (e != null) { logWarning("owner selection failed: %s", e); maintOp.fail(e); return;