stillalex commented on code in PR #1243: URL: https://github.com/apache/solr/pull/1243#discussion_r1058639863
########## solr/core/src/java/org/apache/solr/core/SolrCores.java: ########## @@ -99,37 +85,34 @@ protected void close() { waitForLoadingCoresToFinish(30 * 1000); Collection<SolrCore> coreList = new ArrayList<>(); - // Release transient core cache. - synchronized (modifyLock) { - if (transientSolrCoreCacheFactory != null) { - getTransientCacheHandler().close(); - } - } - // It might be possible for one of the cores to move from one list to another while we're // closing them. So loop through the lists until they're all empty. In particular, the core // could have moved from the transient list to the pendingCloses list. - do { - coreList.clear(); + while (true) { + synchronized (modifyLock) { - // make a copy of the cores then clear the map so the core isn't handed out to a request - // again - coreList.addAll(cores.values()); - cores.clear(); - if (transientSolrCoreCacheFactory != null) { - coreList.addAll(getTransientCacheHandler().prepareForShutdown()); + // remove all loaded cores; add to our working list. + for (String name : getLoadedCoreNames()) { + final var core = remove(name); + if (core != null) { Review Comment: I meant cognitive complexity. I needed to bounce around a bit to verify what those methods do only to find that they are calling the Map methods (and so realized that the null check was not needed). what is the need for extra methods when they don't do anything else, makes the code more difficult to understand. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org