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);
}
}