You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Luke Kot-Zaniewski (Jira)" <ji...@apache.org> on 2025/08/14 15:46:00 UTC
[jira] [Updated] (SOLR-17863) SolrCore's perSegmentFingerprintCache Is Not Thread-safe
[ https://issues.apache.org/jira/browse/SOLR-17863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Luke Kot-Zaniewski updated SOLR-17863:
--------------------------------------
Summary: SolrCore's perSegmentFingerprintCache Is Not Thread-safe (was: SolrCore's perSegmentFingerprintCache Is Not Threadsafe)
> SolrCore's perSegmentFingerprintCache Is Not Thread-safe
> --------------------------------------------------------
>
> Key: SOLR-17863
> URL: https://issues.apache.org/jira/browse/SOLR-17863
> Project: Solr
> Issue Type: Bug
> Affects Versions: 9.3, 9.8.1
> Reporter: Luke Kot-Zaniewski
> Priority: Critical
> Attachments: image-2025-08-14-11-29-04-739.png, image-2025-08-14-11-29-42-832.png
>
>
> SOLR-16713 introduced a race condition into the perSegmentFingerprintCache as it changed it from the [thread-safe guava implementation to the thread-UNSAFE WeakHashMap|https://github.com/apache/solr/commit/375ac647ad507638686848c549c30e6c077dca1b#diff-3bf44f923643744a743460bb0f64301618dd7529a602d945fe2f7f193d4cdde0]. This flew under the radar for some time because this map previously had very little contention between threads. However after SOLR-17756 we turbo-charged the race after parallelizing at a much more granular level upstream of this call. The net effect is that WeakHashMap:put can get stuck in an infinite-loop (probably due to a cycle in the underlying linked-list that it modifies):
> !image-2025-08-14-11-29-04-739.png!
> !image-2025-08-14-11-29-42-832.png!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org