Hi,

I'm looking at upgrading our solr docker from 9.2.1 to 9.3.0. However,
after upgrading I'm finding that our unit tests are failing for certain
scenarios when a SolrJ client is used. The version of SolrJ we use is
8.11.2, but our applications cannot upgrade the client.

I am unable to create a category-routed alias when using SolrJ.
Specifically, it fails to create the initial collection. I can create a
category-routed alias when using the REST endpoint (the new one for 9.3.0).
I also have no issue creating normal collections using either SolrJ or
REST, so I am confused why only one of these four scenarios fails.

To reproduce this, you need to first initialise collection defaults on the
Solr Cluster. For the servers we test on we send the following to http://
<solrhost>:8983/api/cluster

{
"set-obj-property": {
"defaults" : {
"collection": {
"numShards": 3,
"nrtReplicas": 3
}
}
}
}

Our applications can then omit these values from any request used to create
a collection since it isn't their concern. (Set these values to null in
SolrJ). When the issue occurs with SolrJ you will get an exception with the
message numShards is a required param (when using CompositeId router).

Is there a way for me to be able to get this working using SolrJ?
Category-routed aliases are the main structure we use for indexes. If there
isn't a workaround we would need to keep our docker images on 9.2.1 since
we know that version works.

Cheers
Dave Driver

Reply via email to