[ https://issues.apache.org/jira/browse/SOLR-5263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782033#comment-13782033 ]
Mark Miller commented on SOLR-5263: ----------------------------------- If there are no objections, I'll commit this shortly. > 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