Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.4
-
None
Description
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
prone
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
automatically
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
Attachments
Issue Links
- is part of
-
SOLR-561 Solr replication by Solr (for windows also)
- Closed