[
https://issues.apache.org/jira/browse/SOLR-5263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13791249#comment-13791249
]
ASF subversion and git services commented on SOLR-5263:
-------------------------------------------------------
Commit 1530861 from [email protected] in branch 'dev/branches/lucene_solr_4_5'
[ https://svn.apache.org/r1530861 ]
SOLR-4590, SOLR-5295, SOLR-5296, SOLR-5263, SOLR-5297, SOLR-5301, SOLR-5255,
SOLR-5305, SOLR-5314: Merging r1526616, r1528433, r1528441, r1528461, r1528488,
r1529341, r1529434, r1529503, r1530268 from branch_4x
> CloudSolrServer URL cache update race
> -------------------------------------
>
> Key: SOLR-5263
> URL: https://issues.apache.org/jira/browse/SOLR-5263
> Project: Solr
> Issue Type: Bug
> Components: clients - java, SolrCloud
> Affects Versions: 4.4, 4.5, 5.0
> Reporter: Jessica Cheng
> Assignee: Mark Miller
> Labels: solrcloud, solrj
> Fix For: 4.6, 5.0
>
> Attachments: SOLR-5263.patch
>
>
> In CloudSolrServer.request, urlLists (and the like) is updated if
> lastClusterStateHashCode is different from the current hash code of
> clusterState. However, each time this happen, only the cache entry for the
> current collection being requested is updated. In the following condition
> this causes a race:
> query collection A so a cache entry exists
> update collection A
> query collection B, request method notices the hash code changed and update
> cache for collection B, updates lastClusterStateHashCode
> query collection A, since lastClusterStateHashCode has been updated, no
> update for cache for collection A even though it's stale
> Can fix one of two ways:
> 1. Track lastClusterStateHashCode per collection and lazily update each entry
> 2. Every time we notice lastClusterStateHashCode != clusterState.hashCode(),
> 2a. rebuild the entire cache for all collections
> 2b. clear all current cache for collections
--
This message was sent by Atlassian JIRA
(v6.1#6144)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]