You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Alan Woodward (JIRA)" <ji...@apache.org> on 2016/09/19 10:30:20 UTC
[jira] [Updated] (SOLR-9512) CloudSolrClient's cluster state cache
can break direct updates to leaders
[ https://issues.apache.org/jira/browse/SOLR-9512?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alan Woodward updated SOLR-9512:
--------------------------------
Attachment: SOLR-9512.patch
Patch, changing the 'buildUrlMap()' method to always include a full list of replica URLs, with the leader in front. In reality, this makes 'directUpdateToLeadersOnly' a no-op, so maybe we should just deprecate and remove it?
bq. When SolrJ makes a request to the node, it responds with a flag to invalidate the cache. So the next request will get the updated state
I don't think this is the case for update requests? At the least, when running the test in the patch, a breakpoint in ZkStateReader.compareStateVersions is never triggered. Looking at HttpSolrCall it appears that it's only used in /select requests, which may be a bug by itself, of course.
> CloudSolrClient's cluster state cache can break direct updates to leaders
> -------------------------------------------------------------------------
>
> Key: SOLR-9512
> URL: https://issues.apache.org/jira/browse/SOLR-9512
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Alan Woodward
> Attachments: SOLR-9512.patch
>
>
> This is the root cause of SOLR-9305 and (at least some of) SOLR-9390. The process goes something like this:
> Documents are added to the cluster via a CloudSolrClient, with directUpdatesToLeadersOnly set to true. CSC caches its view of the DocCollection. The leader then goes down, and is reassigned. Next time documents are added, CSC checks its cache again, and gets the old view of the DocCollection. It then tries to send the update directly to the old, now down, leader, and we get ConnectionRefused.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org