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

Solr replication should include the schema also



    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.4
    • 1.4
    • replication (java)
    • None


      The current Solr replication just copy the data directory . So if the
      schema changes and I do a re-index it will blissfully copy the index
      and the slaves will fail because of incompatible schema.

      So the steps we follow are

      • Stop rsync on slaves
      • Update the master with new schema
      • re-index data
      • forEach slave
        • Kill the slave
        • clean the data directory
        • install the new schema
        • restart
        • do a manual snappull

      The amount of work the admin needs to do is quite significant
      (depending on the no:of slaves). These are manual steps and very error

      The solution :
      Make the replication mechanism handle the schema replication also. So
      all I need to do is to just change the master and the slaves synch

      What is a good way to implement this?

      We have an idea along the following lines

      This should involve changes to the snapshooter and snappuller scripts
      and the snapinstaller components

      Everytime the snapshooter takes a snapshot it must keep the timestamps
      of schema.xml and elevate.xml (all the files which might affect the
      runtime behavior in slaves)
      For subsequent snapshots if the timestamps of any of them is changed
      it must copy the all of them also for replication.

      The snappuller copies the new directory as usual

      The snapinstaller checks if these config files are present ,

      if yes,

      • It can create a temporary core
      • install the changed index and configuration
      • load it completely and swap it out with the original core


        Issue Links



              shalin Shalin Shekhar Mangar
              noble.paul Noble Paul
              1 Vote for this issue
              3 Start watching this issue