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

Noble Paul updated SOLR-1306:
-----------------------------

    Description: 
Persisting and loading details from one xml is fine if the no:of cores are 
small and the no:of cores are few/fixed . If there are 10's of thousands of 
cores in a single box adding a new core (with persistent=true) becomes very 
expensive because every core creation has to write this huge xml. 

Moreover , there is a good chance that the file gets corrupted and all the 
cores become unusable . In that case I would prefer it to be stored in a 
centralized DB which is backed up/replicated and all the information is 
available in a centralized location. 

We may need to refactor CoreContainer to have a pluggable implementation which 
can load/persist the details . The default implementation should write/read 
from/to solr.xml . And the class should be pluggable as follows in solr.xml
{code:xml}
<solr>
  <dataProvider class="com.foo.FooDataProvider" attr1="val1" attr2="val2"/>
</solr>
{code}
There will be a new interface (or abstract class ) called SolrDataProvider 
which this class must implement

  was:
Persisting and loading details from one xml is fine if the no:of cores are 
small and the no:of cores are few/fixed . If there are 10's of thousands of 
cores in a single box adding a new core (with persistent=true) becomes very 
expensive because every core creation has to write this huge xml. 

Moreover , there is a good chance that the file gets corrupted and all the 
cores become unusable . In that case I would prefer it to be stored in a 
centralized DB which is backed up/replicated and all the information is 
available in a centralized location. 

We may need to refactor CoreContainer to have a pluggable implementation which 
can load/persist the details . The default implementation should write/read 
from/to solr.xml . And the class should be pluggable as follows in solr.xml
{code:xml}
<solr dataProvider="com.foo.FoodataProvider">
</solr>
{code}
There will be a new interface (or abstract class ) called SolrDataProvider 
which this class must implement


> Support pluggable persistence/loading of solr.xml details
> ---------------------------------------------------------
>
>                 Key: SOLR-1306
>                 URL: https://issues.apache.org/jira/browse/SOLR-1306
>             Project: Solr
>          Issue Type: New Feature
>            Reporter: Noble Paul
>             Fix For: 1.5
>
>
> Persisting and loading details from one xml is fine if the no:of cores are 
> small and the no:of cores are few/fixed . If there are 10's of thousands of 
> cores in a single box adding a new core (with persistent=true) becomes very 
> expensive because every core creation has to write this huge xml. 
> Moreover , there is a good chance that the file gets corrupted and all the 
> cores become unusable . In that case I would prefer it to be stored in a 
> centralized DB which is backed up/replicated and all the information is 
> available in a centralized location. 
> We may need to refactor CoreContainer to have a pluggable implementation 
> which can load/persist the details . The default implementation should 
> write/read from/to solr.xml . And the class should be pluggable as follows in 
> solr.xml
> {code:xml}
> <solr>
>   <dataProvider class="com.foo.FooDataProvider" attr1="val1" attr2="val2"/>
> </solr>
> {code}
> There will be a new interface (or abstract class ) called SolrDataProvider 
> which this class must implement

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to