You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2019/07/20 04:48:00 UTC
[jira] [Commented] (SOLR-13637) Core reloads not required for
reloading jars/adding plugins
[ https://issues.apache.org/jira/browse/SOLR-13637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16889361#comment-16889361 ]
ASF subversion and git services commented on SOLR-13637:
--------------------------------------------------------
Commit 4c008e2123fc082d5c94e82a485033896bed6c23 in lucene-solr's branch refs/heads/jira/SOLR-13637 from Noble Paul
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=4c008e2 ]
SOLR-13637: initial commit
> Core reloads not required for reloading jars/adding plugins
> -----------------------------------------------------------
>
> Key: SOLR-13637
> URL: https://issues.apache.org/jira/browse/SOLR-13637
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Noble Paul
> Priority: Major
>
> When we update jars or add/modify plugins no core reloading should be required .Core reloading is a very expensive operation. Optionally, we can just make the plugin depend on the corecontainer level classloader.
> {code:xml}
> <queryParser name="mycustomQParser" class="my.path.to.ClassName" runtimeLib="global">
>
> </queryParser>
> {code}
> or alternately using the config API
> {code:json}
> curl -X POST -H 'Content-type:application/json' --data-binary '
> {
> "create-queryparser": {
> "name": "mycustomQParser" ,
> "class" : "my.path.to.ClassName",
> "runtimeLib" : "global"
> }
> }' http://localhost:8983/api/c/mycollection/config
> {code}
> The global classloader is the corecontainer level classloader . So whenever this is reloaded The component gets reloaded. The only caveat is, this component cannot use core specific jars.
> We will deprecate the {{runtimeLib = true/false}} option and the new options are
> * {{runtimeLib=core}} : means this uses the runtimeLib of the collection
> * {{runtimeLib= global}} : means this uses the runtimeLib of the corecontainer
> example command to update global jar . This will lead to a reload of all components marked as {{runtimeLib=global}}
> {code}
> curl -X POST -H 'Content-type:application/json' --data-binary '
> {
> "update-runtimelib": {
> "name": "lib-name" ,
> "url" : "http://host:port/url/of/jar",
> "sha512":"<the-new-sha512>"
> }
> }' http://localhost:8983/api/cluster
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org