[ https://issues.apache.org/jira/browse/SOLR-921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12658754#action_12658754 ]
Noble Paul commented on SOLR-921: --------------------------------- The patch currently caches the result only if the default set of packages are used . If you pass an extra list of package names , then the result is not cached. The ideal solution is to consider the package names also in the key . I have ignored those usecases for simplicity. I have also ignored cases where classes are loaded by parent classloader. Ideally the classloader also must be considered for making the key for the cache . This is useful when cores are loaded/unloaded very frequently and there are a large number of cores (tens of thousands) . In other cases the perf benefits are negligible. So this is not applicable for loading plugins as well. > SolrResourceLoader must cache name vs class > ------------------------------------------- > > Key: SOLR-921 > URL: https://issues.apache.org/jira/browse/SOLR-921 > Project: Solr > Issue Type: Improvement > Reporter: Noble Paul > Attachments: SOLR-921.patch > > > every class that is loaded through SolrResourceLoader does a Class.forName() > and when if it is not found a ClassNotFoundExcepton is thrown > Then , it looks up with the various packages and finds the right class if the > name starts with solr. Considering the fact that we usually use this > solr.<classname> format we pay too much of a price for this. After every > lookup the result can be cached in a Map<String,Class> and can be shared > across all the cores and this Map can be stored at the CoreContainer level -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.