SOLR-13971: Revert changes to the default configset.

* clarified these are Java system properties
* trivial dead code change; Boolean.getBoolean returns a primitive
This commit is contained in:
David Smiley 2019-11-28 10:45:58 -05:00
parent b4cc3c6ad2
commit 6a72b81ed3
6 changed files with 34 additions and 13 deletions

View File

@ -228,10 +228,9 @@ Jetty 9.4.19.v20190610
Upgrade Notes Upgrade Notes
---------------------- ----------------------
* Velocity response writer is no longer available to be used through the _default configset. In order * Velocity: The initialization parameters
to use it, you would need to manually add it to your configset. Also, the initialization parameters
"params.resource.loader.enabled" and "solr.resource.loader.enabled" have been removed and replaced by "params.resource.loader.enabled" and "solr.resource.loader.enabled" have been removed and replaced by
startup parameters "velocity.resourceloader.params.enabled" and "velocity.resourceloader.solr.enabled" Java system properties "velocity.resourceloader.params.enabled" and "velocity.resourceloader.solr.enabled"
respectively (both turned off by default). Please see SOLR-13971 for more details. respectively (both turned off by default). Please see SOLR-13971 for more details.
Bug Fixes Bug Fixes
@ -239,8 +238,8 @@ Bug Fixes
* SOLR-13963: JavaBinCodec has concurrent modification of CharArr resulting in corrupt internode updates (Colvin Cowie, noble) * SOLR-13963: JavaBinCodec has concurrent modification of CharArr resulting in corrupt internode updates (Colvin Cowie, noble)
* SOLR-13971: Velocity response writer's resource loading now possible only through startup parameters. Also, removed velocity * SOLR-13971: Velocity response writer's resource loading now possible only through startup parameters.
response writer from _default configset. (Ishan Chattopadhyaya) (Ishan Chattopadhyaya, David Smiley)
================== 8.3.0 ================== ================== 8.3.0 ==================

View File

@ -108,12 +108,10 @@ public class VelocityResponseWriter implements QueryResponseWriter, SolrCoreAwar
} }
// params resource loader: off by default // params resource loader: off by default
Boolean prle = Boolean.getBoolean(PARAMS_RESOURCE_LOADER_ENABLED); paramsResourceLoaderEnabled = Boolean.getBoolean(PARAMS_RESOURCE_LOADER_ENABLED);
paramsResourceLoaderEnabled = (null == prle ? false : prle);
// solr resource loader: off by default // solr resource loader: off by default
Boolean srle = Boolean.getBoolean(SOLR_RESOURCE_LOADER_ENABLED); solrResourceLoaderEnabled = Boolean.getBoolean(SOLR_RESOURCE_LOADER_ENABLED);
solrResourceLoaderEnabled = (null == srle ? false : srle);
initPropertiesFileName = (String) args.get(PROPERTIES_FILE); initPropertiesFileName = (String) args.get(PROPERTIES_FILE);

View File

@ -81,6 +81,8 @@
<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" />
<!-- an exact 'path' can be used instead of a 'dir' to specify a <!-- an exact 'path' can be used instead of a 'dir' to specify a
@ -778,7 +780,7 @@
(SearchHandler) can be registered multiple times with different (SearchHandler) can be registered multiple times with different
names (and different init parameters) names (and different init parameters)
--> -->
<requestHandler name="/browse" class="solr.SearchHandler" useParams="query,facets,browse"> <requestHandler name="/browse" class="solr.SearchHandler" useParams="query,facets,velocity,browse">
<lst name="defaults"> <lst name="defaults">
<str name="echoParams">explicit</str> <str name="echoParams">explicit</str>
</lst> </lst>
@ -1290,6 +1292,15 @@
</queryResponseWriter> </queryResponseWriter>
--> -->
<!--
Custom response writers can be declared as needed...
-->
<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy">
<str name="template.base.dir">${velocity.template.base.dir:}</str>
<str name="solr.resource.loader.enabled">${velocity.solr.resource.loader.enabled:true}</str>
<str name="params.resource.loader.enabled">${velocity.params.resource.loader.enabled:false}</str>
</queryResponseWriter>
<!-- XSLT response writer transforms the XML output by any xslt file found <!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds. every xsltCacheLifetimeSeconds.

View File

@ -81,6 +81,8 @@
<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" />
<!-- an exact 'path' can be used instead of a 'dir' to specify a <!-- an exact 'path' can be used instead of a 'dir' to specify a
@ -778,7 +780,7 @@
(SearchHandler) can be registered multiple times with different (SearchHandler) can be registered multiple times with different
names (and different init parameters) names (and different init parameters)
--> -->
<requestHandler name="/browse" class="solr.SearchHandler" useParams="query,facets,browse"> <requestHandler name="/browse" class="solr.SearchHandler" useParams="query,facets,velocity,browse">
<lst name="defaults"> <lst name="defaults">
<str name="echoParams">explicit</str> <str name="echoParams">explicit</str>
</lst> </lst>
@ -1290,6 +1292,15 @@
</queryResponseWriter> </queryResponseWriter>
--> -->
<!--
Custom response writers can be declared as needed...
-->
<queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy">
<str name="template.base.dir">${velocity.template.base.dir:}</str>
<str name="solr.resource.loader.enabled">${velocity.solr.resource.loader.enabled:true}</str>
<str name="params.resource.loader.enabled">${velocity.params.resource.loader.enabled:false}</str>
</queryResponseWriter>
<!-- XSLT response writer transforms the XML output by any xslt file found <!-- XSLT response writer transforms the XML output by any xslt file found
in Solr's conf/xslt directory. Changes to xslt files are checked for in Solr's conf/xslt directory. Changes to xslt files are checked for
every xsltCacheLifetimeSeconds. every xsltCacheLifetimeSeconds.

View File

@ -17,8 +17,8 @@
// specific language governing permissions and limitations // specific language governing permissions and limitations
// under the License. // under the License.
Solr allows you to load custom code to perform a variety of tasks within Solr, from custom Request Handlers to process your searches, to custom Analyzers and Token Filters for your text field. You can even load custom Field Types. These pieces of custom code are called plugins. Solr allows you to load custom code to perform a variety of tasks within Solr, from custom Request Handlers to process your searches, to custom Analyzers and Token Filters for your text field. You can even load custom Field Types. These pieces of custom code are called _plugins_.
Not everyone will need to create plugins for their Solr instances - what's provided is usually enough for most applications. However, if there's something that you need, you may want to review the Solr Wiki documentation on plugins at http://wiki.apache.org/solr/SolrPlugins[SolrPlugins]. Not everyone will need to create plugins for their Solr instances - what's provided is usually enough for most applications. However, if there's something that you need, you may want to review the Solr Wiki documentation on plugins at https://cwiki.apache.org/confluence/display/solr/SolrPlugins[SolrPlugins].
If you have a plugin you would like to use, and you are running in SolrCloud mode, you can use the Blob Store API and the Config API to load the jars to Solr. The commands to use are described in the section <<adding-custom-plugins-in-solrcloud-mode.adoc#adding-custom-plugins-in-solrcloud-mode,Adding Custom Plugins in SolrCloud Mode>>. If you have a plugin you would like to use, and you are running in SolrCloud mode, you can use the Blob Store API and the Config API to load the jars to Solr. The commands to use are described in the section <<adding-custom-plugins-in-solrcloud-mode.adoc#adding-custom-plugins-in-solrcloud-mode,Adding Custom Plugins in SolrCloud Mode>>.

View File

@ -40,6 +40,8 @@ The above example shows the optional initialization and custom tool parameters u
=== VelocityResponseWriter Startup Parameters === VelocityResponseWriter Startup Parameters
These are Java system properties to mitigate security risks.
`velocity.resourceloader.params.enabled`:: `velocity.resourceloader.params.enabled`::
The "params" resource loader allows templates to be specified in Solr request parameters. For example: The "params" resource loader allows templates to be specified in Solr request parameters. For example:
+ +