[ 
https://issues.apache.org/jira/browse/SOLR-18434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris M. Hostetter updated SOLR-18434:
--------------------------------------
    Description: 
(See parent Jira for larger context: SOLR-18433)
 # {{SolrRequest.getPreferredNodes()}} is only respected by {{CloudSolrClient}} 
in the specific case of a request that is {{true == requresCollection)}} 
*_AND_* {{getApiVersion() != V2}}
 # _when_ {{SolrRequest.getPreferredNodes()}} is used, it's not just used as a 
list of "preferred" nodes – it's a list of nodes that are used *_exclusively_* 
– no replicas on any other liveNodes are even included in the list of Endpoints 
given the to {{{}LBSolrClient{}}}.

This is very strange, since:
 # There are no docs for {{SolrRequest.setPreferredNode()}} - let alone any 
impling that it's only for (non V2) collection specific requests.
 # The very _name_ of the method suggest it's a "preferrence" not an exclusive 
list

It's particularly strange since using {{SolrRequest.setPreferredNode()}} seems 
like the most obvious course of action for users trying to follow the 
recommended instructions (of trying to send collection admin requests to a 
consistent node) when disabling the overseer.
----
I seems to me that:
 * {{SolrRequest.getPreferredNodes()}} shouldn't be respected for *ALL* types 
of requests
 * either the docs of {{SolrRequest.setPreferredNode()}} should make it very 
clear that it is an *exclusive* list of nodes that the request will be sent to, 
_OR_ {{SolrRequest.getPreferredNodes()}} should only be used when 
sorting/prioritizing a larger list of endpoints
 ** which raises questions of how it should interact with 
{{ReplicaListTransformer}} ?

  was:
(See parent Jira for larger context: SOLR-18433)

{{SolrRequest.getPreferredNodes()}} is only respected by {{CloudSolrClient}} in 
the specific case of a request that is {{true == requresCollection)}} *_AND_* 
{{getApiVersion() != V2}}

This is very strange, since nothing in the docs for 
{{SolrRequest.setPreferredNode()}} implies that it's only for (non V2) 
collection specific requests.

It's particularly strange since using {{SolrRequest.setPreferredNode()}} seems 
like the most obvious course of action for users trying to follow the 
recommended instructions (of trying to send collection admin requests to a 
consistent node) when disabling the overseer.
----
I see no reason why {{SolrRequest.getPreferredNodes()}} shouldn't be respected 
for *ALL* types of requests?


> SolrRequest.getPreferredNodes() used very inconsistently in CloudSolrClient
> ---------------------------------------------------------------------------
>
>                 Key: SOLR-18434
>                 URL: https://issues.apache.org/jira/browse/SOLR-18434
>             Project: Solr
>          Issue Type: Sub-task
>            Reporter: Chris M. Hostetter
>            Priority: Major
>
> (See parent Jira for larger context: SOLR-18433)
>  # {{SolrRequest.getPreferredNodes()}} is only respected by 
> {{CloudSolrClient}} in the specific case of a request that is {{true == 
> requresCollection)}} *_AND_* {{getApiVersion() != V2}}
>  # _when_ {{SolrRequest.getPreferredNodes()}} is used, it's not just used as 
> a list of "preferred" nodes – it's a list of nodes that are used 
> *_exclusively_* – no replicas on any other liveNodes are even included in the 
> list of Endpoints given the to {{{}LBSolrClient{}}}.
> This is very strange, since:
>  # There are no docs for {{SolrRequest.setPreferredNode()}} - let alone any 
> impling that it's only for (non V2) collection specific requests.
>  # The very _name_ of the method suggest it's a "preferrence" not an 
> exclusive list
> It's particularly strange since using {{SolrRequest.setPreferredNode()}} 
> seems like the most obvious course of action for users trying to follow the 
> recommended instructions (of trying to send collection admin requests to a 
> consistent node) when disabling the overseer.
> ----
> I seems to me that:
>  * {{SolrRequest.getPreferredNodes()}} shouldn't be respected for *ALL* types 
> of requests
>  * either the docs of {{SolrRequest.setPreferredNode()}} should make it very 
> clear that it is an *exclusive* list of nodes that the request will be sent 
> to, _OR_ {{SolrRequest.getPreferredNodes()}} should only be used when 
> sorting/prioritizing a larger list of endpoints
>  ** which raises questions of how it should interact with 
> {{ReplicaListTransformer}} ?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to