You can disable polling so that the slave never polls the Master(In Solr 4.3 you can disable it from the Admin interface). . And you can trigger a replication using the HTTP API http://wiki.apache.org/solr/SolrReplication#HTTP_API or again, use the Admin interface to trigger a manual replication.
On Wed, May 15, 2013 at 12:47 PM, Jonathan Rochkind <rochk...@jhu.edu>wrote: > I want to set up Solr replication between a master and slave, where no > automatic polling every X minutes happens, instead the slave only > replicates on command. [1] > > So the basic question is: What's the best way to do that? But I'll provide > what I've been doing etc., for anyone interested. > > Until recently, my appliation was running on Solr 1.4. I had a setup that > was working to accomplish this in Solr 1.4, but as I work on moving it to > Solr 4.3, it's unclear to me if it can/will work the same way. > > In Solr 1.4, on slave, I supplied a masterUrl, but did NOT supply any > pollInterval at all on slave. I did NOT supply an "enable" > "false" in slave, because I think that would have prevented even manual > replication. > > This seemed to result in the slave never polling, although I'm not sure if > that was just an accident of Solr implementation or not. Can anyone say if > the same thing would happen in Solr 4.3? If I look at the admin screen for > my slave set up this way in Solr 4.3, it does say "polling enabled", but I > realize that doesn't neccesarily mean any polling will take place, since > I've set no pollInterval. > > In Solr 1.4 under this setup, I could go to the slave's admin/replication, > and there was a "replicate now" button that I could use for manually > triggered replication. This button seems to no longer be there in 4.3 > replication admin screen, although I suppose I could still, somewhat less > conveniently, issue a `replication?command=**fetchindex` to the slave, to > manually trigger a replication? > > > > Thanks for any advice or ideas. > > > > [1]: Why, you ask? The master is actually my 'indexing' server. Due to > business needs, indexing only happens in bulk/mass indexing, and only > happens periodically -- sometimes nightly, sometimes less. So I index on > master, at a periodic schedule, and then when indexing is complete and > verified, tell slave to replicate. I don't want slave accidentally > replicating in the middle of the bulk indexing process either, when the > index might be in an unfinished state. >