[ 
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}
>  <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-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to