Description
SOLR-4221 changed the router format from e.g.:
...
"router":"compositeId”,
...
to:
... "router":{"name":"compositeId"}, ...
This later commit: https://github.com/apache/lucene-solr/commit/54a94eedfd5651bb088e8cbd132393b771f5f5c2 added backwards compatibility in the sense that the server can read the old router format. But the old 4.4 client can't read the new format, e.g. you get:
org.apache.solr.common.SolrException: Unknown document router '{name=compositeId}'
at org.apache.solr.common.cloud.DocRouter.getDocRouter(DocRouter.java:46)
at org.apache.solr.common.cloud.ClusterState.collectionFromObjects(ClusterState.java:289)
at org.apache.solr.common.cloud.ClusterState.load(ClusterState.java:257)
at org.apache.solr.common.cloud.ClusterState.load(ClusterState.java:233)
at org.apache.solr.common.cloud.ZkStateReader.createClusterStateWatchersAndUpdate(ZkStateReader.java:357)
at com.cloudera.itest.search.util.ZkExecutor.<init>(ZkExecutor.java:39)
at com.cloudera.itest.search.util.SearchTestBase.getZkExecutor(SearchTestBase.java:648)
at com.cloudera.itest.search.util.SearchTestBase.setupSolrURL(SearchTestBase.java:584)
at com.cloudera.itest.search.util.SearchTestBase.setupEnvironment(SearchTestBase.java:371)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)