Behavioral Changes in Solr

Functional adjustments and behavioral updates for Solr are introduced in Cloudera Runtime 7.3.2, its service packs, and cumulative hotfixes.

Cloudera Runtime 7.3.2.20000 SP2

There are no behavioral changes in this release.

Cloudera Runtime 7.3.2.10000 SP1

Summary: FIPS 140-3 support for Solr
Previous behavior:

Solr did not support FIPS 140-3 compliance.

New behavior:

Solr supports FIPS 140-3 compliance on FIPS-enabled Cloudera Base on premises clusters. You must configure the required JVM flags and environment variables for the Solr service and all indexing clients, including the MapReduce Indexer Tool, CrunchIndexer Tool, HBase Indexer, and jobs submitted by using spark-submit, to ensure correct operation.

Summary: Truststore password configuration for MapReduce and CrunchIndexer jobs on FIPS-enabled clusters
Previous behavior:

You passed the truststore password to MapReduce Indexer Tool and CrunchIndexer Tool jobs by using the -Djavax.net.ssl.trustStorePassword JVM system property in job submission scripts.

New behavior:

You must set the truststore password by configuring the default_truststore_pwd parameter in the YARN service configuration in Cloudera Manager. Passing the password by using the -Djavax.net.ssl.trustStorePassword flag is no longer supported for these jobs on FIPS-enabled clusters.

Summary: ZooKeeper client configuration for Solr CLI on FIPS-enabled clusters
Previous behavior:

No specific ZooKeeper client environment variables were required for solrctl operations on FIPS-enabled clusters.

New behavior:

You must set the ZKCLI_JVM_FLAGS environment variable with the required JAAS configuration and ZooKeeper ACL provider before you run solrctl commands on a FIPS-enabled cluster. Do not set the SOLR_FIPS_ENABLED or SOLR_ZK_SSL_CONNECTION_ENABLED environment variables for solrctl operations.

Summary: Remote streaming and stream body disabled by default
Previous behavior:

The Cloudera-shipped Solr configuration templates enabled remote streaming (enableRemoteStreaming="true") by default, allowing requests to fetch content from remote stream.url or stream.file locations.

New behavior:

Remote streaming (enableRemoteStreaming) and stream body (enableStreamBody) are now disabled by default for newly created Solr collections. Existing collections are not modified, including during an upgrade. To disable these features for an existing Solr collection, complete the following steps:

  1. For a given Solr collection, locate and update the corresponding solrconfig.xml file by removing the enableRemoteStreaming="true" flag completely from the file.
  2. Upload the updated configuration to ZooKeeper using the solrctl command. For example:
    solrctl config --upload admin_collection1_instancedir /root/admin_collection1_configs/ -overwrite
  3. Reload the updated Solr collection. For example:
    solrctl collection --reload admin_collection1
  4. To verify that the configuration has been successfully updated for a given Solr collection, download the corresponding configuration from ZooKeeper and check the enableRemoteStreaming flag in solrconfig.xml. For example:
    solrctl instancedir --get admin_collection1_instancedir /tmp/1