private void invokeFutureAndCallback(String completionContext) {
    if (callbackInvoked.compareAndSet(false, true)) {
      responseFuture.done(new ResponseParts(responseParts, completionContext), exception);
      if (callback != null) {
        callback.onCompletion(new ResponseParts(responseParts, completionContext), exception);
      }
    }
  }
Invokes the future and callback associated with the current request.
@param completionContext a description of where this method was called from.
ambry-test-utils/src/main/java/com/github/ambry/rest/NettyClient.java