Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
When using "transient cores" (transient=true on the core and configure transientCacheSize in solr.xml), Solr will evict/unload a core that appears to be getting little use when there is pressure on this cache. However, this mechanism doesn't truly check that the core isn't being used when making this decision. It could happen that a core is undergoing a long running operation (huge indexing batch?) but otherwise nothing else, and assuming some cache pressure on many others cores during this time, Solr will then "evict" this core. Solr will then consider this core unloaded even though it exists in memory and is open for this long-running operation for some time. If by bad luck a request comes in to use this core, Solr will attempt to load a new SolrCore for it which will fail due to the write lock file. At this point, the core is unusable until the node is restarted.
Attachments
Issue Links
- causes
-
SOLR-16104 Test failure in TestCoreDiscovery.testTooManyTransientCores
- Closed
- links to