[
https://issues.apache.org/jira/browse/SOLR-6252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14067750#comment-14067750
]
Mark Miller commented on SOLR-6252:
-----------------------------------
Hmm...now I'm looking at this beyond the correctness of how it was taken out...
Wasn't the intent to pull the creation of the UnInvertedField out of the sync
block on cache so that more of them can be constructed in parallel rather than
sequentially?
> Simplify UnInvertedField#getUnInvertedField synchronization module
> ------------------------------------------------------------------
>
> Key: SOLR-6252
> URL: https://issues.apache.org/jira/browse/SOLR-6252
> Project: Solr
> Issue Type: Improvement
> Components: search
> Affects Versions: 5.0
> Reporter: Vamsee Yarlagadda
> Assignee: Mark Miller
> Priority: Minor
> Attachments: SOLR-6252.patch, SOLR-6252v2.patch
>
>
> Looks like UnInvertedField#getUnInvertedField has implemented a bit
> additional synchronization module rather than what is required, and thereby
> increasing the complexity.
> https://github.com/apache/lucene-solr/blob/trunk/solr/core/src/java/org/apache/solr/request/UnInvertedField.java#L667
> As pointed out in the above link, as the synchronization is performed on the
> cache variable(which itself will protect the threads from obtaining access to
> the cache), we can safely remove all the placeholder flags. As long as
> cache.get() is in synchronized block, we can simply populate the cache with
> new entries and other threads will be able to see the changes.
> This change has been introduced in
> https://issues.apache.org/jira/browse/SOLR-2548 (Multithreaded faceting)
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]