murblanc commented on a change in pull request #580: URL: https://github.com/apache/solr/pull/580#discussion_r797792950
########## File path: solr/core/src/java/org/apache/solr/core/TransientSolrCoreCacheDefault.java ########## @@ -89,6 +86,25 @@ public TransientSolrCoreCacheDefault(CoreContainer coreContainer) { transientDescriptors = new LinkedHashMap<>(initialCapacity); } + private void onEvict(SolrCore core) { + if (coreContainer.hasPendingCoreOps(core.getName())) { Review comment: After offline discussion with David, this can happen when a core load takes too much time (registering in ZK etc) and we try to unload it before it has completed. Likely deserves a comment here. This means the cache can grow pretty big, as evictions will not be allowed for a while, or if we prevent additions to the cache when it's over max size, this can cause global slowdown on node startup. If the cache grows big, we need to make sure there is some process shrinking it back to reasonable size in reasonable time. If we only evict one core when we add one (I don't know if that's the case), the cache might never reduce in size. **EDIT: after more discussion with David, this likely cannot happen if the core loading thread pool is smaller than the transient core cache limit.** -- 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