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

Reply via email to