You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2019/10/02 08:55:02 UTC

[jira] [Commented] (SOLR-13637) Enable loading of plugins from the corecontainer memclassloader

    [ https://issues.apache.org/jira/browse/SOLR-13637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16942614#comment-16942614 ] 

ASF subversion and git services commented on SOLR-13637:
--------------------------------------------------------

Commit 9c80975bde51e0ee589e7e3622b62b39cf4f0f5f in lucene-solr's branch refs/heads/jira/SOLR-13661-reverted from Ishan Chattopadhyaya
[ https://gitbox.apache.org/repos/asf?p=lucene-solr.git;h=9c80975 ]

SOLR-13707, SOLR-13659, SOLR-13565, SOLR-13650, SOLR-13710, SOLR-13721, SOLR-13637: Reverted these commits for a fresh start


> Enable loading of plugins from the corecontainer memclassloader
> ---------------------------------------------------------------
>
>                 Key: SOLR-13637
>                 URL: https://issues.apache.org/jira/browse/SOLR-13637
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Noble Paul
>            Priority: Major
>         Attachments: BasicAuthFails.patch
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org