@Override
  public PartitionId getRandomWritablePartition(String partitionClass, List<PartitionId> partitionsToExclude) {
    return partitionSelectionHelper.getRandomWritablePartition(partitionClass, partitionsToExclude);
  }
Initialize HelixManager in local datacenter and complete subscription of HelixPropertyStore to listen for
PartitionOverride zNode. This needs to happen before other datacenters are initialized so that any partition
overrides can be properly honored.
@param dataCenterToZkAddress the map mapping each datacenter to its corresponding ZkAddress.
@param instanceName the String representation of the instance associated with this manager.
@param helixFactory the factory class to construct and get a reference to a {@link HelixManager}.
@return the HelixManager of local datacenter, or {@code null} if the local datacenter is
        {@link ReplicaType#CLOUD_BACKED}, as we currently do not support getting cluster state from Helix for cloud
        datacenters.
@throws Exception
ambry-clustermap/src/main/java/com/github/ambry/clustermap/HelixClusterManager.java