protected Duration generateNodeStateRequestTimeout() {
        double intervalFraction = Math.random();
        long earliestTimeoutNanos =
                nodeStateRequestTimeoutIntervalMax.toNanos() * nodeStateRequestTimeoutIntervalStartPercentage / 100;
        long latestTimeoutNanos =
                nodeStateRequestTimeoutIntervalMax.toNanos() * nodeStateRequestTimeoutIntervalStopPercentage / 100;
        long interval = latestTimeoutNanos - earliestTimeoutNanos;
        long timeoutNanos = earliestTimeoutNanos + (long)(intervalFraction * interval);
        return Duration.ofNanos(timeoutNanos);
    }
Responsible for doing RPC requests to storage nodes.
This class is not thread-safe.
clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RPCCommunicator.java