@Override
  public void close() {
    try {
      primarySource.close();
    } finally {
      secondarySource.close();
    }
  }
@param primarySource the source of truth for users of this class.
@param secondarySource all operations are also attempted against this source, but if the results of the operation
                       differ from the primary, inconsistencies are just recorded with logs and metrics.
@param time a {@link Time} instance used for consistency verification.
@param metrics a {@link DataNodeConfigSourceMetrics} instance to use.
ambry-clustermap/src/main/java/com/github/ambry/clustermap/CompositeDataNodeConfigSource.java