In the below mentioned git commit, I see SolrCloudClient has been changed to
generate solr core urls differently than before.

In the previous version, solr urls were computed using "url =
coreNodeProps.getCoreUrl()".
This concatenated "base_url" + "core" name from the clusterstate for a
tenant's shards.
re: http://<solr host>:<port>/solr/<core>

Now, the solr url is computed using "url =
ZkCoreNodeProps.getCoreUrl(nodeProps.getStr(ZkStateReader.BASE_URL_PROP),
joinedInputCollections)"
This concatenates "base_url" + "collection" name from the clusterstate for a
tenant's shards.
re: http://<solr host>:<port>/solr/<collection>

This change broke a custom client which used to previously work for me. Can
someone provide guidance ?

Thank you.

> commit da71587196eccefd8b58923dc162916c808762a9
> Author: David Smiley <dsmi...@apache.org>
> Date:   Thu Oct 19 00:02:24 2017 -0400
>
>    SOLR-11444: Improve consistency of collection alias handling and
> collection list references.
>    Other refactorings of nearby code too.
>
>    (cherry picked from commit e001f35)
>
> diff --git
> a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
> b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
> index 6a208f48c0..f63eedd742 100644
> ---
> a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
> +++
> b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
>...
>-          if (!liveNodes.contains(coreNodeProps.getNodeName())
>-              || Replica.State.getState(coreNodeProps.getState()) !=
Replica.State.ACTIVE) continue;
>-          if (nodes.put(node, nodeProps) == null) {
>-            if (!sendToLeaders || coreNodeProps.isLeader()) {
>-              String url;
>-              if (reqParams.get(UpdateParams.COLLECTION) == null) {
>-                url =
ZkCoreNodeProps.getCoreUrl(nodeProps.getStr(ZkStateReader.BASE_URL_PROP),
collection);
>-              } else {
>-                url = coreNodeProps.getCoreUrl();
> -              }
> -              urlList2.add(url);

+          if (!liveNodes.contains(node) // Must be a live node to continue
+              || Replica.State.getState(coreNodeProps.getState()) !=
Replica.State.ACTIVE) // Must be an ACTIVE replica to continue
+            continue;
+          if (seenNodes.add(node)) { // if we haven't yet collected a URL
to this node...
+            String url =
ZkCoreNodeProps.getCoreUrl(nodeProps.getStr(ZkStateReader.BASE_URL_PROP),
joinedInputCollections);
+            if (sendToLeaders && coreNodeProps.isLeader()) {
+              theUrlList.add(url); // put leaders here eagerly (if
sendToLeader mode)




--
Sent from: http://lucene.472066.n3.nabble.com/Solr-User-f472068.html

Reply via email to