[
https://issues.apache.org/jira/browse/SOLR-561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Noble Paul updated SOLR-561:
----------------------------
Attachment: SOLR-561.patch
The first cut. very crude , but worx .No OS specific commands
The design for snapshoot , snappull is same as described in the design overview
snapinstall is done the following way
* write out a file index.properties in dataDirectory.
* call commit command
* The SolrCore is modified. A new method getNewIndexDir() is added. It loads
the properties file (if exists, else fall back to the old behavior), read a
property 'index' and return
* Any new SolrIndexWriter, SolrIndexSearcher is loaded from the new index dir
* Old ones continue to use the old index dir . getindexDir() returns the index
dir used by the current SolrIndexReader/SolrIndexWriter
Use the following configuration
in master
# register snapshooter
{code:xml}
<listener event="postCommit" class="solr.SnapShooter">
<bool name="wait">true</bool>
</listener>
{code}
# register replication Handler
{code:xml}
<requestHandler name="/replication" class="solr.ReplicationHandler" />
{code}
# register a new ResponseWriter
{code:xml}
<queryResponseWriter name="filestream"
class="org.apache.solr.request.CustomBinaryResponseWriter"/>
{code}
In the Slave
# register the replication handler
{code:xml}
<requestHandler name="/replication" class="solr.ReplicationHandler" >
<str name="masterUrl">http://localhost:8080/solr/replication</str>
<str name="pollInterval">00:00:30</str>
</requestHandler>
{code}
> Solr replication by Solr (for windows also)
> -------------------------------------------
>
> Key: SOLR-561
> URL: https://issues.apache.org/jira/browse/SOLR-561
> Project: Solr
> Issue Type: New Feature
> Components: replication
> Affects Versions: 1.3
> Environment: All
> Reporter: Noble Paul
> Attachments: SOLR-561.patch
>
>
> The current replication strategy in solr involves shell scripts . The
> following are the drawbacks with the approach
> * It does not work with windows
> * Replication works as a separate piece not integrated with solr.
> * Cannot control replication from solr admin/JMX
> * Each operation requires manual telnet to the host
> Doing the replication in java has the following advantages
> * Platform independence
> * Manual steps can be completely eliminated. Everything can be driven from
> solrconfig.xml .
> ** Adding the url of the master in the slaves should be good enough to enable
> replication. Other things like frequency of
> snapshoot/snappull can also be configured . All other information can be
> automatically obtained.
> * Start/stop can be triggered from solr/admin or JMX
> * Can get the status/progress while replication is going on. It can also
> abort an ongoing replication
> * No need to have a login into the machine
> This issue can track the implementation of solr replication in java
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.