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