OK, I've solved this. For posterity: The master doesn't make anything available for replication unless you set replicateAfter="startup", or unless you set replicateAfter="commit" and then both add a document and execute a commit. If you don't do one of those, even manually clicking "Replicate Now" on the slave will show failures without explaining why.
With replicateAfter="startup" and "commit" I was able to get a slave core in the same Solr instance to replicate upon startup and upon add-doc-and-commit. Michael On Tue, Nov 3, 2009 at 11:53 AM, Michael <solrco...@gmail.com> wrote: > I just tried setting up replication between two cores with the Nov 2 > nightly, and got the same result as below: replication reports as > failed but doesn't tell me why. > > Is replication not allowed from a master core to a slave core within > the same Solr instance? Or is there a way for me to find out if there > is something wrong with my index (which otherwise appears OK)? > > Thanks, > Michael > > On Wed, Oct 14, 2009 at 1:33 PM, Michael <solrco...@gmail.com> wrote: >> Hi, >> >> I have a multicore Solr 1.4 setup. core_master is a 3.7G master for >> replication, and core_slave is a 500 byte slave pointing to the >> master. I'm using the example replication configuration from >> solrconfig.xml, with ${enable.master} and ${enable.slave} properties >> so that the master and slave can use the same solrconfig.xml. >> >> When I attempt to replicate (every 60 seconds or by pressing the >> button on the slave replication admin page), it doesn't work. >> Unfortunately, neither the admin page nor the REST API "details" >> command show anything useful, and the logs show no errors. >> >> How can I get insight into what is causing the failure? I assume it's >> some configuration problem but don't know where to start. >> >> Thanks in advance for any help! Config files are below. >> Michael >> >> >> >> Here is my solr.xml: >> >> <?xml version='1.0' encoding='UTF-8'?><solr sharedLib="lib" >> persistent="true"> >> <cores adminPath="/admin/cores" shareSchema="true"> >> <core name="core_master" instanceDir="." dataDir="/home/search/solr/data/5"> >> <property name="enable.master" value="true" /> >> </core> >> <core name="core_slave" instanceDir="." dataDir="/home/search/solr/data/1"> >> <property name="enable.slave" value="true" /> >> </core> >> </cores> >> </solr> >> >> And here's the relevant chunk of my solrconfig.xml: >> >> <requestHandler name="/replication" class="solr.ReplicationHandler" > >> <lst name="master"> >> <str name="enable">${enable.master:false}</str> >> <str name="replicateAfter">commit</str> >> </lst> >> <lst name="slave"> >> <str name="enable">${enable.slave:false}</str> >> <str >> name="masterUrl">http://localhost:31000/solr/core_master/replication</str> >> <str name="pollInterval">00:00:60</str> >> </lst> >> </requestHandler> >> >> Here's what the "details" command on the slave has to say -- nothing >> explanatory that I can see. Is the "isReplicating=false" worrying? >> >> <lst name="details"> >> >> <str name="indexSize">589 bytes</str> >> <str name="indexPath">/home/search/solr/data/1/index</str> >> <arr name="commits"/> >> <str name="isMaster">false</str> >> <str name="isSlave">true</str> >> <long name="indexVersion">1254772638413</long> >> <long name="generation">2</long> >> >> <lst name="slave"> >> <lst name="masterDetails"> >> <str name="indexSize">3.75 GB</str> >> <str name="indexPath">/home/search/solr/data/5/index</str> >> <arr name="commits"/> >> <str name="isMaster">true</str> >> <str name="isSlave">false</str> >> <long name="indexVersion">1254772639291</long> >> <long name="generation">156</long> >> </lst> >> <str >> name="masterUrl">http://localhost:31000/solr/core_master/replication</str> >> <str name="pollInterval">00:00:60</str> >> <str name="indexReplicatedAt">Wed Oct 14 14:25:22 EDT 2009</str> >> >> <arr name="indexReplicatedAtList"> >> <str>Wed Oct 14 14:25:22 EDT 2009</str> >> <str>Wed Oct 14 14:25:22 EDT 2009</str> >> <str>Wed Oct 14 14:25:21 EDT 2009</str> >> <str>Wed Oct 14 14:24:27 EDT 2009</str> >> (etc) >> </arr> >> <arr name="replicationFailedAtList"> >> <str>Wed Oct 14 14:25:22 EDT 2009</str> >> <str>Wed Oct 14 14:25:22 EDT 2009</str> >> <str>Wed Oct 14 14:25:21 EDT 2009</str> >> <str>Wed Oct 14 14:24:27 EDT 2009</str> >> (etc) >> </arr> >> >> <str name="timesIndexReplicated">1481</str> >> <str name="lastCycleBytesDownloaded">0</str> >> <str name="timesFailed">1481</str> >> <str name="replicationFailedAt">Wed Oct 14 14:25:22 EDT 2009</str> >> <str name="previousCycleTimeInSeconds">0</str> >> <str name="isReplicating">false</str> >> </lst> >> >> </lst> >> >