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
Open the system.log and look for the message about the Solr error.
The error message briefly describes the changes you need to make.
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.
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.
Go to the directory containing your Solr app. For example, go to the demos directory:
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' http://localhost:8983/solr/resource/demo.solr/solrconfig.xml
From the wikipedia directory
curl -v --data-binary @solrconfig.xml -H 'Content-type:text/xml; charset=utf-8' http://localhost:8983/solr/resource/wiki.solr/solrconfig.xml
From the log_search directory
curl -v --data-binary @solrconfig.xml -H 'Content-type:text/xml; charset=utf-8' http://localhost:8983/solr/resource/Logging.log_entries/solrconfig.xml
After running each curl command, a SUCCESS message appears.
This step is only required once, when the first node is upgraded.
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"
Monitor the log files for any issues.
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.
Restart client applications.
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.
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.