@Override
  public void close() throws IOException {
    shutDownExecutorService(scheduler, config.consistencyCheckerShutdownTimeoutMinutes, TimeUnit.MINUTES);
    try {
      primaryAccountService.close();
    } catch (Exception e) {
      logger.error("Close failed for primary source", e);
    }
    try {
      secondaryAccountService.close();
    } catch (Exception e) {
      logger.error("Close failed for secondary source", e);
    }
  }
An implementation of {@link AccountService} that combines two sources. The "primary" acts as the source of
truth for users of this class, but results obtained are compared against the "secondary" source. This class can be
useful for safe migrations between account service implementations using different backing stores.
ambry-account/src/main/java/com/github/ambry/account/CompositeAccountService.java