DataNodeId getCloudDataNode() throws ReplicationException {
    List<CloudDataNode> nodes = vcrNodes.get();
    if (nodes.isEmpty()) {
      throw new ReplicationException("No VCR node found to replicate partition from cloud.");
    }
    return nodes.get(Utils.getRandomShort(random) % nodes.size());
  }
Randomly select a {@link DataNodeId} from list of {@code vcrNodes}.
@return randomly selected {@link DataNodeId} object.
@throws ReplicationException if there are no vcr nodes.
ambry-cloud/src/main/java/com/github/ambry/cloud/RecoveryManager.java