@Override
  public void restarting(DistributedSystem ds, GemFireCache cache,
      InternalConfigurationPersistenceService sharedConfig) {
    if (ds != null) {
      loadSnapshot = new LocatorLoadSnapshot();
      this.ds = (InternalDistributedSystem) ds;
      advisor = ControllerAdvisor.createControllerAdvisor(this); // escapes constructor but
    }
  }
A ServerLocator may be in place but non-functional during auto-reconnect because peer location
services have been initialized while the servers reconnect but server location services aren't
reconnected until a cache is available
geode-core/src/main/java/org/apache/geode/distributed/internal/ServerLocator.java