You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Ivan Djurasevic (Jira)" <ji...@apache.org> on 2020/07/06 17:47:00 UTC
[jira] [Updated] (SOLR-14630) CloudSolrClient doesn't pick correct
core when server contains more shards
[ https://issues.apache.org/jira/browse/SOLR-14630?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan Djurasevic updated SOLR-14630:
-----------------------------------
Description:
Precondition: create collection with 4 shards on one server.
During search and update, solr cloud client picks wrong core even _route_ exists in query param. In BaseSolrClient class, method sendRequest,
{quote}sortedReplicas.forEach( replica -> {
if (seenNodes.add(replica.getNodeName()))
Unknown macro: \{ theUrlList.add(ZkCoreNodeProps.getCoreUrl(replica.getBaseUrl(), joinedInputCollections)); }
});
{quote}
Previous part of code adds base url(localhost:8983/solr/collection_name) to theUrlList, it doesn't create core address(localhost:8983/core_name). If we change previous code to:
{quote}sortedReplicas.forEach(replica -> {
if (seenNodes.add(replica.getNodeName())
Unknown macro: \{ theUrlList.add(replica.getCoreUrl()); }
});
{quote}
Solr cloud client picks core which is defined with _route_ parameter.
was:
Precondition: create collection with 4 shards on one server.
During search and update, solr cloud client picks wrong core even _route_ exists in query param. In BaseSolrClient class, method sendRequest,
{quote}{{sortedReplicas.forEach( replica -> {}}
{{ if (seenNodes.add(replica.getNodeName()))}}{{{ theUrlList.add(ZkCoreNodeProps.getCoreUrl(replica.getBaseUrl(), joinedInputCollections)); }}}{{});}}{quote}
Previous part of code adds base url(localhost:8983/solr/collection_name) to theUrlList, it doesn't create core address(localhost:8983/core_name). If we change previous code to:
{quote}sortedReplicas.forEach(replica -> {
if (seenNodes.add(replica.getNodeName())
{ theUrlList.add(replica.getCoreUrl()); }
});
{quote}
Solr cloud client picks core which is defined with _route_ parameter.
> CloudSolrClient doesn't pick correct core when server contains more shards
> --------------------------------------------------------------------------
>
> Key: SOLR-14630
> URL: https://issues.apache.org/jira/browse/SOLR-14630
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Components: SolrCloud, SolrJ
> Affects Versions: 8.5.1, 8.5.2
> Reporter: Ivan Djurasevic
> Priority: Major
>
> Precondition: create collection with 4 shards on one server.
> During search and update, solr cloud client picks wrong core even _route_ exists in query param. In BaseSolrClient class, method sendRequest,
> {quote}sortedReplicas.forEach( replica -> {
> if (seenNodes.add(replica.getNodeName()))
> Unknown macro: \{ theUrlList.add(ZkCoreNodeProps.getCoreUrl(replica.getBaseUrl(), joinedInputCollections)); }
> });
> {quote}
> Previous part of code adds base url(localhost:8983/solr/collection_name) to theUrlList, it doesn't create core address(localhost:8983/core_name). If we change previous code to:
> {quote}sortedReplicas.forEach(replica -> {
> if (seenNodes.add(replica.getNodeName())
> Unknown macro: \{ theUrlList.add(replica.getCoreUrl()); }
> });
> {quote}
> Solr cloud client picks core which is defined with _route_ parameter.
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org