You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "David Smiley (JIRA)" <ji...@apache.org> on 2017/10/13 21:17:00 UTC

[jira] [Commented] (SOLR-11292) Querying against an alias can lead to incorrect routing

    [ https://issues.apache.org/jira/browse/SOLR-11292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16204203#comment-16204203 ] 

David Smiley commented on SOLR-11292:
-------------------------------------

I think it's bizarre that you can create an alias with a name that is also that of a collection.  It seems ripe for problems.

I'm not sure how this particular issue is happening.  SOLR-11444 maybe fixes it?.  CloudSolrClient.sendRequest should resolve the collection list and aliases to a list of target collections.  Then it should loop over the slices across all of them to build a list of URLs to the nodes it will communicate with.  SOLR-11444 improves the clarity of this logic substantially IMO; I'm not sure if there is a change in behavior with respect to the issue here.  [~varunthacker] might you apply SOLR-11444 and see if there is an impact?

> Querying against an alias can lead to incorrect routing
> -------------------------------------------------------
>
>                 Key: SOLR-11292
>                 URL: https://issues.apache.org/jira/browse/SOLR-11292
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Varun Thacker
>            Assignee: Varun Thacker
>
> collection1 has 2 shards and 1 replica
> collection2 has 8 shards and 1 replica
> I have 8 nodes so collection2 is spread across all 8 , while collection1 is hosted by two nodes
> If we create an alias called "collection1" and point it to "collection2".
> Querying against the alias "collection1" works as expected but what I noticed was the top level queries would only hit 2 out of the 8 JVMs when querying using SolrJ
> It turns out that SolrJ is using the state.json of collection1 ( the actual collection ) and routing queries to only those nodes.
> There are two negatives to this:
>  - If those two nodes are down all queries fail.
>  - Top level queries are only routed to those two nodes thus causing a skew in the top level requests
> The obvious solution would be to use the state.json file of the underlying collection that the alias is pointing to  . But if we have the alias pointing to multiple collections then this might get tricky?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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