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

2019-07-25 Thread Noble Paul (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-13637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Noble Paul updated SOLR-13637:
--
Attachment: BasicAuthFails.patch

> 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
>  Security Level: Public(Default Security Level. Issues are Public) 
>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}
>   runtimeLib="global">
>  
>   
> {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":""
>   }
> }' http://localhost:8983/api/cluster
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



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

2019-07-20 Thread Noble Paul (JIRA)


 [ 
https://issues.apache.org/jira/browse/SOLR-13637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Noble Paul updated SOLR-13637:
--
Summary: Enable loading of plugins from the corecontainer memclassloader  
(was: Core reloads not required for reloading jars/adding plugins)

> 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
>  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}
>   runtimeLib="global">
>  
>   
> {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":""
>   }
> }' http://localhost:8983/api/cluster
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org