DataStax Enterprise 3.0 Documentation

Updating Solr configuration and indexes

This documentation corresponds to an earlier product version. Make sure this document corresponds to your version.

Latest DSE documentation | Earlier DSE documentation

After upgrading a DSE Search/Solr node, you might need to update the old solrconfig.xml file and Solr indexes to run on DataStax Enterprise 3.0. If a DSE Search/Solr node hangs and the system.log shows errors, you need to modify your custom solrconfig.xml file to make it Solr 4.0.x-compliant.

To modify your custom Solr configuration file

  1. Open the system.log and look for the message about the Solr error.

    The error message briefly describes the changes you need to make.

  2. Correct these errors in your solrconfig.xml files, then post the corrected files.

    Existing cores cannot be loaded until the solrconfig.xml errors are resolved.

  3. HTTP-POST the modified Solr configuration file and recover indexes as described in the next procedure.

To HTTP-POST modified solrconfig.xml files and recover indexes

This procedure uses as examples the demo solrconfig.xml files included with DataStax Enterprise 3.0.

  1. Go to the directory containing your Solr app. For example, go to the demos directory:

    • Binary installation

      cd <install_location>/demos
    • Package installation

      cd /usr/share/dse-demos
  2. Run the following commands to HTTP-POST your modified custom solrconfig.xml to DSE-Search. For example, from the demos or dse-demos directory, run the following commands:

    • From the solr_stress directory

      curl -v --data-binary @solrconfig.xml -H 'Content-type:text/xml; charset=utf-8'
    • From the wikipedia directory

      curl -v --data-binary @solrconfig.xml -H 'Content-type:text/xml; charset=utf-8'
    • From the log_search directory

      curl -v --data-binary @solrconfig.xml -H 'Content-type:text/xml; charset=utf-8'

      After running each curl command, a SUCCESS message appears.

    This step is only required once, when the first node is upgraded.

  3. If you use a rolling restart, run the CREATE command with the recovery and distributed (false) options for each index as shown in rolling restart.

    If you do not want to use rolling restart, you can run these commands on one node after the other by upgrading all nodes, bringing down the entire cluster, and restarting all nodes. These commands use a different value--true, which is the default, for the distributed option.

    curl -v "http://localhost:8983/solr/admin/cores?action=CREATE&name=demo.solr&recovery=true"
    curl -v "http://localhost:8983/solr/admin/cores?action=CREATE&name=wiki.solr&recovery=true"
    curl -v "http://localhost:8983/solr/admin/cores?action=CREATE&name=Logging.log_entries&recovery=true"
  4. Monitor the log files for any issues.

  5. Check for schema disagreements.

  6. If necessary, upgrade any CQL drivers and client libraries, such as python-cql, Hector, or Pycassa that are incompatible with the new DSE version. You can download CQL drivers and client libraries from the DataStax download page.

    The CQL utility is included in the DataStax Enterprise installation, so no upgrade of the CQL utility is necessary.

  7. Restart client applications.

  8. If you created column families using the default SizeTieredCompaction, continue to the next step. If you created column families having LeveledCompactionStrategy, scrub the SSTables that store those column families.

  9. Check for schema disagreements.

  10. If you meet conditions for, upgrading SSTables, upgrade SSTables now.

By default, DataStax Enterprise 3.0.x enables legacy DSE Search/Solr type mapping. You can configure the solrconfig.xml to use the new type mapping.