[ https://issues.apache.org/jira/browse/SOLR-5263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13783902#comment-13783902 ]
ASF subversion and git services commented on SOLR-5263: ------------------------------------------------------- Commit 1528461 from [~markrmil...@gmail.com] in branch 'dev/branches/branch_4x' [ https://svn.apache.org/r1528461 ] SOLR-5263: Fix CloudSolrServer URL cache update race. > 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: 5.0, 4.6 > > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org