Search code examples
solr

SOLR 9.4 "using sys-prop" when Enabling Remote Stream and Stream Body


I am upgrading from Solr 8.11.1 to Solr 9.4.

I have Solr 9.4 up and running.

I'm loading an 8.11.1 core in 9.4 where I have remote streaming and remote body turned on in solrconfig.xml:

<requestParsers enableRemoteStreaming="true"         
                    enableStreamBody="true"     
                    multipartUploadLimitInKB="2048000"
                    formdataUploadLimitInKB="2048"
                    addHttpRequestToContext="false"/>

When I load the core, I get the following messages in the log:

SolrConfig - Ignored deprecated enableRemoteStreaming in config; use sys-prop
SolrConfig - Ignored deprecated enableStreamBody in config; use sys-prop

How do I use sys-prop to configure this?


Solution

  • If you're using the standard bin/solr script, you can set the environment variables SOLR_ENABLE_REMOTE_STREAMING and SOLR_ENABLE_STREAM_BODY to true before starting the script - that will set the system properties for the JVM when starting it:

    # Remote streaming and stream body
    if [ "${SOLR_ENABLE_REMOTE_STREAMING:-false}" == "true" ]; then
      SCRIPT_SOLR_OPTS+=("-Dsolr.enableRemoteStreaming=true")
    fi
    if [ "${SOLR_ENABLE_STREAM_BODY:-false}" == "true" ]; then
      SCRIPT_SOLR_OPTS+=("-Dsolr.enableStreamBody=true")
    fi
    

    If you're not using the bin/solr script, you'll have to give those properties yourself as arguments to java when starting the instance (as you would with any other system property).