static void setClusterConfig(HelixZkClient destZkClient, String destClusterName, VcrHelixConfig config,
      boolean dryRun) {
    ConfigAccessor configAccessor = new ConfigAccessor(destZkClient);
    ClusterConfig clusterConfig = configAccessor.getClusterConfig(destClusterName);
    clusterConfig.setPersistBestPossibleAssignment(true);
    ClusterConfigFields clusterConfigFields = config.getClusterConfigFields();
    // if offline instances >= max offline instances allowed config, helix enters maintenance mode.
    clusterConfig.setMaxOfflineInstancesAllowed(clusterConfigFields.getMaxOfflineInstancesAllowed());
    // if offline instances <= number of offline instances config, helix exit maintenance mode.
    clusterConfig.setNumOfflineInstancesForAutoExit(clusterConfigFields.getNumOfflineInstancesForAutoExit());
    if (dryRun) {
      logger.info("Will update cluster config to: {}", clusterConfig.toString());
    } else {
      configAccessor.setClusterConfig(destClusterName, clusterConfig);
    }
  }
Set the cluster config in the destination cluster using the latest settings.
@param destZkClient the {@link HelixZkClient} for the cluster.
@param destClusterName the cluster name.
@param dryRun run without actual change.
ambry-commons/src/main/java/com/github/ambry/clustermap/HelixVcrUtil.java