public final void issueResourceRequest(SamzaResourceRequest request) {
    resourceRequestState.addResourceRequest(request);
    state.containerRequests.incrementAndGet();
    if (ResourceRequestState.ANY_HOST.equals(request.getPreferredHost())) {
      state.anyHostRequests.incrementAndGet();
    } else {
      state.preferredHostRequests.incrementAndGet();
    }
    if (!request.getFaultDomains().isEmpty()) {
      state.faultDomainAwareContainerRequests.incrementAndGet();
    }
  }
Creates a {@link SamzaResourceRequest} to send to the cluster manager with a request timestamp of the current time
plus the specified delay.
@param processorId Samza processor ID that will be run when a resource is allocated for this request
@param preferredHost name of the host that you prefer to run the processor on
@param delay the {@link Duration} to add to the request timestamp
@param faultDomains set of fault domains on which to schedule this resource
@return the created request
samza-core/src/main/java/org/apache/samza/clustermanager/ContainerAllocator.java