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

To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to