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

Overseer.updateState tries to use router name from message but none is sent

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 4.5
    • 4.6, 6.0
    • SolrCloud
    • None

    Description

      Overseer.updateSlice method has the following code:

      String router = message.getStr(OverseerCollectionProcessor.ROUTER,DocRouter.DEFAULT_NAME);
              List<String> shardNames  = new ArrayList<String>();
      
              //collection does not yet exist, create placeholders if num shards is specified
              boolean collectionExists = state.getCollections().contains(collection);
              if (!collectionExists && numShards!=null) {
                if(ImplicitDocRouter.NAME.equals(router)){
                  getShardNames(shardNames, message.getStr("shards",null));
                  numShards = shardNames.size();
                }else {
                  getShardNames(numShards, shardNames);
                }
                state = createCollection(state, collection, shardNames, message);
              }
      

      Here it tries to read the router name from the message. Even if we ignore that the key to lookup the router is wrong here, the router name is never sent in a state message.

      Considering that we don't even support creating a collection with "implicit" router from command line, we should stop expecting the parameter.

      Attachments

        Activity

          People

            shalin Shalin Shekhar Mangar
            shalin Shalin Shekhar Mangar
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: