You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2022/02/07 17:04:00 UTC

[jira] [Commented] (SOLR-15964) Transient cores should not be unloaded/evicted while it's being used

    [ https://issues.apache.org/jira/browse/SOLR-15964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17488264#comment-17488264 ] 

ASF subversion and git services commented on SOLR-15964:
--------------------------------------------------------

Commit e4302b10ea9990823e3873e2aca23192d7b63bce in solr's branch refs/heads/main from David Smiley
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=e4302b1 ]

SOLR-15964: Transient cores: don't evict open ones (#580)

Transient cores: be careful to not evict a core that is being used, either because of query/indexing, or because the core is undergoing a load/unload/reload operation at that moment.  If that were to happen, it could lead to errors with this core and it being stuck until the node is restarted.

Also:
* Removed CoreContainer methods not needed to be exposed by having the transient cache access the SolrCores from CoreContainer

> Transient cores should not be unloaded/evicted while it's being used
> --------------------------------------------------------------------
>
>                 Key: SOLR-15964
>                 URL: https://issues.apache.org/jira/browse/SOLR-15964
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: David Smiley
>            Assignee: David Smiley
>            Priority: Major
>          Time Spent: 3h 10m
>  Remaining Estimate: 0h
>
> 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.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org