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

Erick Erickson commented on SOLR-1306:
--------------------------------------

Hmmm. Looking at this a little more, the isPersist method looks like one of 
those ideas that doesn't work. Originally I thought it would be a way to 
manipulate the persisted values in solr.xml, but there's a chicken-and-egg 
problem here.

There's no provision for getting a CoreDescriptor unless the core is loaded. 
And persisting a core that has _not_ been loaded seems like a bad idea. So I'm 
removing the method from the interface. My thinking now is that anything 
provided by a CoreDescriptorProvider should just NOT be persisted.

We can revisit this later if there's a demonstrated need, but for the nonce I 
think it's unwise to conflate persistence with this.
                
> 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
>          Components: multicore
>            Reporter: Noble Paul
>            Assignee: Erick Erickson
>             Fix For: 4.1
>
>         Attachments: SOLR-1306.patch
>
>
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to