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

Shard splitting fails with ClassCastException on clusterstate.json with router as string

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.6, 4.6.1
    • Fix Version/s: 4.7
    • Component/s: SolrCloud
    • Labels:
      None

      Description

      SOLR-5246 added support for splitting collections configured with a router.field but the fix was not back-compatible.

      After upgrading an old SolrCloud cluster to 4.6 or 4.6.1, shard splitting can fail with the following message:

      ERROR o.a.s.handler.admin.CoreAdminHandler - ERROR executing split:
      java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
      at org.apache.solr.handler.admin.CoreAdminHandler.handleSplitAction(CoreAdminHandler.java:285) [solr-core-4.6.1.jar:4.6.1 1560866 - mark - 2014-01-23 20:21:50]
      at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:193) [solr-core-4.6.1.jar:4.6.1 1560866 - mark - 2014-01-23 20:21:50]
      at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) [solr-core-4.6.1.jar:4.6.1 1560866 - mark - 2014-01-23 20:21:50]

      This happens because the cluster state still contains the router as a string. The clusterstate.json is supposed to auto-upgrade if cluster state is upgraded but according to the user report that did not happen. In any case, we need to fix the core admin split.

        Attachments

          Activity

            People

            • Assignee:
              shalinmangar Shalin Shekhar Mangar
              Reporter:
              shalinmangar Shalin Shekhar Mangar
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: