Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-7271

4.4 client to 4.5+ server compatibility Issue due to DocRouter format

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 4.5
    • Fix Version/s: 4.10.5
    • Component/s: SolrCloud
    • Labels:
      None

      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)
      

        Attachments

        1. SOLR-7271.patch
          8 kB
          Gregory Chanan
        2. SOLR-7271ClusterState.patch
          0.7 kB
          Gregory Chanan

          Activity

            People

            • Assignee:
              gchanan Gregory Chanan
              Reporter:
              gchanan Gregory Chanan
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: