code: private void serverInventoryInitialized()
    {
      long start = System.currentTimeMillis();
      long serverSyncWaitTimeout = config.getServerTimeout() + 2 * ChangeRequestHttpSyncer.HTTP_TIMEOUT_EXTRA_MS;
  
      List<DruidServerHolder> uninitializedServers = new ArrayList<>();
      for (DruidServerHolder server : servers.values()) {
        if (!server.isSyncedSuccessfullyAtleastOnce()) {
          uninitializedServers.add(server);
        }
      }
  
      while (!uninitializedServers.isEmpty() && ((System.currentTimeMillis() - start) < serverSyncWaitTimeout)) {
        try {
          Thread.sleep(5000);
        }
        catch (InterruptedException ex) {
          throw new RE(ex, "Interrupted while waiting for queryable server initial successful sync.");
        }
  
        log.info("Checking whether all servers have been synced at least once yet....");
        Iterator<DruidServerHolder> iter = uninitializedServers.iterator();
        while (iter.hasNext()) {
          if (iter.next().isSyncedSuccessfullyAtleastOnce()) {
            iter.remove();
          }
        }
      }
  
      if (uninitializedServers.isEmpty()) {
        log.info("All servers have been synced successfully at least once.");
      } else {
        for (DruidServerHolder server : uninitializedServers) {
          log.warn(
              "Server[%s] might not yet be synced successfully. We will continue to retry that in the background.",
              server.druidServer.getName()
          );
        }
      }
  
      log.info("Calling SegmentCallback.segmentViewInitialized() for all callbacks.");
  
      runSegmentCallbacks(
          new Function<SegmentCallback, CallbackAction>()
          {
            @Override
            public CallbackAction apply(SegmentCallback input)
            {
              return input.segmentViewInitialized();
            }
          }
      );
    }
docs: segmentViewInitialized on all registered segment callbacks.