Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-1306

Support pluggable persistence/loading of solr.xml details

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: 4.1
    • Component/s: multicore
    • Labels:
      None

      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

      <solr>
        <dataProvider class="com.foo.FooDataProvider" attr1="val1" attr2="val2"/>
      </solr>
      

      There will be a new interface (or abstract class ) called SolrDataProvider which this class must implement

        Attachments

        1. SOLR-1306.patch
          16 kB
          Erick Erickson
        2. SOLR-1306.patch
          40 kB
          Erick Erickson
        3. SOLR-1306.patch
          42 kB
          Erick Erickson
        4. SOLR-1306.patch
          42 kB
          Erick Erickson

          Issue Links

            Activity

              People

              • Assignee:
                erickerickson Erick Erickson
                Reporter:
                noble.paul Noble Paul
              • Votes:
                2 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: