You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Michael <so...@gmail.com> on 2009/11/03 17:53:34 UTC
Re: Opaque replication failures
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 <so...@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>
>
Re: Opaque replication failures
Posted by Michael <so...@gmail.com>.
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 <so...@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 <so...@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>
>>
>