[ https://issues.apache.org/jira/browse/SOLR-17921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18021536#comment-18021536 ]
David Smiley commented on SOLR-17921: ------------------------------------- Yes, this is a problem. The same is true of a collection's state; no? That is, I think CloudSolrClient ideally should act on whatever stale information it has (expiring after a rather long time to bound the cache), while asynchronously updating it once it's aware that its state is no longer current. CloudSolrClient becomes aware of stale collection state via {{\_stateVer\_}} but currently has no similar mechanism for live nodes. A hash could work. Only time expiry is crude. See this related issue: SOLR-17601 and comments. > BaseHttpClusterStateProvider should prefetch refreshes of liveNodes > ------------------------------------------------------------------- > > Key: SOLR-17921 > URL: https://issues.apache.org/jira/browse/SOLR-17921 > Project: Solr > Issue Type: New Feature > Components: SolrJ > Reporter: Houston Putman > Priority: Major > Labels: pull-request-available > Time Spent: 0.5h > Remaining Estimate: 0h > > Currently the BaseHttpClusterStateProvider synchronously updates the > liveNodes when a request comes in and the cached liveNodes has expired. There > should be an asynchronous re-fetching of this data so that requests are not > blocked after expiration. > Also the getLiveNodes() method was made synchronized in SOLR-17607, which is > very expensive for multiThreaded solrJ applications, as getLiveNodes() is > called very often. So that needs to be fixed to only block when the liveNodes > need to be fetched. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org