Changes to solrconfig.xml are not reflected in SolrCloud

2.9k Views Asked by At

Solr Version: 7.1.0

Changes I made to solrconfig.xml:

Added a updateRequestProcessorChain using TolerantUpdateProcessorFactory as suggested here

<updateRequestProcessorChain name="tolerant">
    <processor class="solr.TolerantUpdateProcessorFactory">
      <int name="maxErrors">10</int>
    </processor>
    <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>

Error:

{
  "responseHeader": {
    "status": 400, 
    "QTime": 1
  },
  "error": {
    "msg": "unknown UpdateRequestProcessorChain: tolerant", 
    "code": 400, 
    "metadata": [
      "error-class", 
      "org.apache.solr.common.SolrException", 
      "root-error-class", 
      "org.apache.solr.common.SolrException"
    ]
  }
}

POST request:
http://<solr-endpoint>/solr/<core-name>/update/json?update.chain=tolerant&maxErrors=3

solrconfig.xml location:

/opt/solr-7.1.0/server/solr/configsets/_default/conf/solrconfig.xml

which is symlinked to /opt/solr directory, which is Solr install directory.

I have tried restarting Solr ($ sudo service solr restart) and also reloading the cores from Solr AdminUI but the request keeps giving the same error saying unknown UpdateRequestProcessorChain.

1

There are 1 best solutions below

0
On

When you're running in SolrCloud mode, all the configuration is stored in Zookeeper and not inside the Solr directory itself (so the config set file you're editing is not being used except when a new collection is created).

The reference guide has a section for Using Zookeeper to manage configuration files that you can use for future reference.

In your case you'll have to first download the currently active configuration by using

bin/solr zk downconfig -n <name of config set> -d <path to directory>

and make your changes, then upload the new configuration to Zookeeper by using

bin/solr zk upconfig -n <name for configset> -d <path to directory with configset>

It's recommended that you keep the actual configuration that you use in a version control system such as git to keep the full history of your configuration (.. and in case your Zookeeper infrastructure disappears).