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

Jayson Minard commented on SOLR-551:
------------------------------------

Why is the schema stored outside of the index?  Is another possible option to 
store it in a magic record within the index?  That allows anyone to retrieve it 
that wants to see the schema, for example the UI might want to know the static 
fields quickly and can use the schema to determine that information.  

Basically, can some meta-data about the index be stored in the index which 
solves the replication problem, and makes it more easily accessible to the 
outside world?

> SOlr replication should include the schema also
> -----------------------------------------------
>
>                 Key: SOLR-551
>                 URL: https://issues.apache.org/jira/browse/SOLR-551
>             Project: Solr
>          Issue Type: Improvement
>          Components: replication
>    Affects Versions: 1.3
>            Reporter: Noble Paul
>
> 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

-- 
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