public void reloadEnvironments()

in src/main/java/org/apache/pulsar/manager/service/impl/EnvironmentCacheServiceImpl.java [148:174]


    public void reloadEnvironments() {
        int pageNum = 0;
        final int pageSize = 100;
        Set<String> newEnvironments = new HashSet<>();
        Page<EnvironmentEntity> environmentPage = environmentsRepository.getEnvironmentsList(pageNum, pageSize);
        List<EnvironmentEntity> environmentList = environmentPage.getResult();
        while (!environmentList.isEmpty()) {
            environmentList.forEach(env -> {
                try {
                    reloadEnvironment(env);
                } catch (PulsarAdminOperationException e) {
                    log.error(e.getMessage(), e);
                }
                newEnvironments.add(env.getName());
            });
            ++pageNum;
            environmentPage = environmentsRepository.getEnvironmentsList(pageNum, pageSize);
            environmentList = environmentPage.getResult();
        }
        log.info("Successfully reloaded environments : {}", newEnvironments);
        Set<String> oldEnvironments = environments.keySet();
        Set<String> goneEnvironments = Sets.difference(oldEnvironments, newEnvironments);
        for (String env : goneEnvironments) {
            environments.remove(env);
            log.info("Removed cached environment {} since it is already deleted.", env);
        }
    }