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 J G <sk...@hotmail.com> on 2009/08/25 21:10:52 UTC

Solr Replication

Hello,

We are running multiple slices in our environment. I have enabled JMX and I am inspecting the replication handler mbean to obtain some information about the master/slave configuration for replication. Is the replication handler mbean a singleton? I only see one mbean for the entire server and it's picking an arbitrary slice to report on. So I'm curious if every slice gets its own replication handler mbean? This is important because I have no way of knowing in this specific server any information about the other slices, in particular, information about the master/slave value for the other slices.

Reading through the Solr 1.4 replication strategy, I saw that a slice can be configured to be a master and a slave, i.e. a repeater. I'm wondering how repeaters work because let's say I have a slice named 'A' and the master is on server 1 and the slave is on server 2 then how are these two servers communicating to replicate? Looking at the jmx information I have in the MBean both the isSlave and isMaster is set to true for my repeater so how does this solr slice know if it's the master or slave? I'm a bit confused.

Thanks.




_________________________________________________________________
With Windows Live, you can organize, edit, and share your photos.
http://www.windowslive.com/Desktop/PhotoGallery

Re: Solr Replication

Posted by Noble Paul നോബിള്‍ नोब्ळ् <no...@corp.aol.com>.
Each instance has its own ReplicationHandler instance/MBean. I guess
the problem is with the jmx implementation. both MBeans may be
registered with the same name

On Fri, Aug 28, 2009 at 2:04 AM, J G<sk...@hotmail.com> wrote:
>
> We have multiple solr webapps all running from the same WAR file. Each webapp is running under the same Tomcat container and I consider each webapp the same thing as a "slice" (or "instance"). I've configured the Tomcat container to enable JMX and when I connect using JConsole I only see the replication handler for one of the webapps in the server. I was under the impression each webapp gets its own replication handler. Is this not true?
>
> It would be nice to be able to have a JMX MBean for each replication handler in the container so we can get all the same replication information using JMX as in using the replication admin page for each web app.
>
> Thanks.
>
>
>
>
>
>> From: noble.paul@corp.aol.com
>> Date: Thu, 27 Aug 2009 13:04:38 +0530
>> Subject: Re: Solr Replication
>> To: solr-user@lucene.apache.org
>>
>> when you say a slice you mean one instance of solr? So your JMX
>> console is connecting to only one solr?
>>
>> On Thu, Aug 27, 2009 at 3:19 AM, J G<sk...@hotmail.com> wrote:
>> >
>> > Thanks for the response.
>> >
>> > It's interesting because when I run jconsole all I can see is one ReplicationHandler jmx mbean. It looks like it is defaulting to the first slice it finds on its path. Is there anyway to have multiple replication handlers or at least obtain replication on a per "slice"/"instance" via JMX like how you can see attributes for each "slice"/"instance" via each replication admin jsp page?
>> >
>> > Thanks again.
>> >
>> >> From: noble.paul@corp.aol.com
>> >> Date: Wed, 26 Aug 2009 11:05:34 +0530
>> >> Subject: Re: Solr Replication
>> >> To: solr-user@lucene.apache.org
>> >>
>> >> The ReplicationHandler is not enforced as a singleton , but for all
>> >> practical purposes it is a singleton for one core.
>> >>
>> >> If an instance  (a slice as you say) is setup as a repeater, It can
>> >> act as both a master and slave
>> >>
>> >> in the repeater the configuration should be as follows
>> >>
>> >> MASTER
>> >>   |_____________SLAVE (I am a slave of MASTER)
>> >>   |
>> >> REPEATER (I am a slave of MASTER and master to my slaves )
>> >>  |
>> >>  |
>> >> REPEATER_SLAVE( of REPEATER)
>> >>
>> >>
>> >> the point is that REPEATER will have a slave section has a masterUrl
>> >> which points to master and REPEATER_SLAVE will have a slave section
>> >> which has a masterurl pointing to repeater
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> On Wed, Aug 26, 2009 at 12:40 AM, J G<sk...@hotmail.com> wrote:
>> >> >
>> >> > Hello,
>> >> >
>> >> > We are running multiple slices in our environment. I have enabled JMX and I am inspecting the replication handler mbean to obtain some information about the master/slave configuration for replication. Is the replication handler mbean a singleton? I only see one mbean for the entire server and it's picking an arbitrary slice to report on. So I'm curious if every slice gets its own replication handler mbean? This is important because I have no way of knowing in this specific server any information about the other slices, in particular, information about the master/slave value for the other slices.
>> >> >
>> >> > Reading through the Solr 1.4 replication strategy, I saw that a slice can be configured to be a master and a slave, i.e. a repeater. I'm wondering how repeaters work because let's say I have a slice named 'A' and the master is on server 1 and the slave is on server 2 then how are these two servers communicating to replicate? Looking at the jmx information I have in the MBean both the isSlave and isMaster is set to true for my repeater so how does this solr slice know if it's the master or slave? I'm a bit confused.
>> >> >
>> >> > Thanks.
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > _________________________________________________________________
>> >> > With Windows Live, you can organize, edit, and share your photos.
>> >> > http://www.windowslive.com/Desktop/PhotoGallery
>> >>
>> >>
>> >>
>> >> --
>> >> -----------------------------------------------------
>> >> Noble Paul | Principal Engineer| AOL | http://aol.com
>> >
>> > _________________________________________________________________
>> > Hotmail® is up to 70% faster. Now good news travels really fast.
>> > http://windowslive.com/online/hotmail?ocid=PID23391::T:WLMTAGL:ON:WL:en-US:WM_HYGN_faster:082009
>>
>>
>>
>> --
>> -----------------------------------------------------
>> Noble Paul | Principal Engineer| AOL | http://aol.com
>
> _________________________________________________________________
> With Windows Live, you can organize, edit, and share your photos.
> http://www.windowslive.com/Desktop/PhotoGallery



-- 
-----------------------------------------------------
Noble Paul | Principal Engineer| AOL | http://aol.com

RE: Solr Replication

Posted by J G <sk...@hotmail.com>.
We have multiple solr webapps all running from the same WAR file. Each webapp is running under the same Tomcat container and I consider each webapp the same thing as a "slice" (or "instance"). I've configured the Tomcat container to enable JMX and when I connect using JConsole I only see the replication handler for one of the webapps in the server. I was under the impression each webapp gets its own replication handler. Is this not true? 

It would be nice to be able to have a JMX MBean for each replication handler in the container so we can get all the same replication information using JMX as in using the replication admin page for each web app.

Thanks.





> From: noble.paul@corp.aol.com
> Date: Thu, 27 Aug 2009 13:04:38 +0530
> Subject: Re: Solr Replication
> To: solr-user@lucene.apache.org
> 
> when you say a slice you mean one instance of solr? So your JMX
> console is connecting to only one solr?
> 
> On Thu, Aug 27, 2009 at 3:19 AM, J G<sk...@hotmail.com> wrote:
> >
> > Thanks for the response.
> >
> > It's interesting because when I run jconsole all I can see is one ReplicationHandler jmx mbean. It looks like it is defaulting to the first slice it finds on its path. Is there anyway to have multiple replication handlers or at least obtain replication on a per "slice"/"instance" via JMX like how you can see attributes for each "slice"/"instance" via each replication admin jsp page?
> >
> > Thanks again.
> >
> >> From: noble.paul@corp.aol.com
> >> Date: Wed, 26 Aug 2009 11:05:34 +0530
> >> Subject: Re: Solr Replication
> >> To: solr-user@lucene.apache.org
> >>
> >> The ReplicationHandler is not enforced as a singleton , but for all
> >> practical purposes it is a singleton for one core.
> >>
> >> If an instance  (a slice as you say) is setup as a repeater, It can
> >> act as both a master and slave
> >>
> >> in the repeater the configuration should be as follows
> >>
> >> MASTER
> >>   |_____________SLAVE (I am a slave of MASTER)
> >>   |
> >> REPEATER (I am a slave of MASTER and master to my slaves )
> >>  |
> >>  |
> >> REPEATER_SLAVE( of REPEATER)
> >>
> >>
> >> the point is that REPEATER will have a slave section has a masterUrl
> >> which points to master and REPEATER_SLAVE will have a slave section
> >> which has a masterurl pointing to repeater
> >>
> >>
> >>
> >>
> >>
> >>
> >> On Wed, Aug 26, 2009 at 12:40 AM, J G<sk...@hotmail.com> wrote:
> >> >
> >> > Hello,
> >> >
> >> > We are running multiple slices in our environment. I have enabled JMX and I am inspecting the replication handler mbean to obtain some information about the master/slave configuration for replication. Is the replication handler mbean a singleton? I only see one mbean for the entire server and it's picking an arbitrary slice to report on. So I'm curious if every slice gets its own replication handler mbean? This is important because I have no way of knowing in this specific server any information about the other slices, in particular, information about the master/slave value for the other slices.
> >> >
> >> > Reading through the Solr 1.4 replication strategy, I saw that a slice can be configured to be a master and a slave, i.e. a repeater. I'm wondering how repeaters work because let's say I have a slice named 'A' and the master is on server 1 and the slave is on server 2 then how are these two servers communicating to replicate? Looking at the jmx information I have in the MBean both the isSlave and isMaster is set to true for my repeater so how does this solr slice know if it's the master or slave? I'm a bit confused.
> >> >
> >> > Thanks.
> >> >
> >> >
> >> >
> >> >
> >> > _________________________________________________________________
> >> > With Windows Live, you can organize, edit, and share your photos.
> >> > http://www.windowslive.com/Desktop/PhotoGallery
> >>
> >>
> >>
> >> --
> >> -----------------------------------------------------
> >> Noble Paul | Principal Engineer| AOL | http://aol.com
> >
> > _________________________________________________________________
> > Hotmail® is up to 70% faster. Now good news travels really fast.
> > http://windowslive.com/online/hotmail?ocid=PID23391::T:WLMTAGL:ON:WL:en-US:WM_HYGN_faster:082009
> 
> 
> 
> -- 
> -----------------------------------------------------
> Noble Paul | Principal Engineer| AOL | http://aol.com

_________________________________________________________________
With Windows Live, you can organize, edit, and share your photos.
http://www.windowslive.com/Desktop/PhotoGallery

Re: Solr Replication

Posted by Noble Paul നോബിള്‍ नोब्ळ् <no...@corp.aol.com>.
when you say a slice you mean one instance of solr? So your JMX
console is connecting to only one solr?

On Thu, Aug 27, 2009 at 3:19 AM, J G<sk...@hotmail.com> wrote:
>
> Thanks for the response.
>
> It's interesting because when I run jconsole all I can see is one ReplicationHandler jmx mbean. It looks like it is defaulting to the first slice it finds on its path. Is there anyway to have multiple replication handlers or at least obtain replication on a per "slice"/"instance" via JMX like how you can see attributes for each "slice"/"instance" via each replication admin jsp page?
>
> Thanks again.
>
>> From: noble.paul@corp.aol.com
>> Date: Wed, 26 Aug 2009 11:05:34 +0530
>> Subject: Re: Solr Replication
>> To: solr-user@lucene.apache.org
>>
>> The ReplicationHandler is not enforced as a singleton , but for all
>> practical purposes it is a singleton for one core.
>>
>> If an instance  (a slice as you say) is setup as a repeater, It can
>> act as both a master and slave
>>
>> in the repeater the configuration should be as follows
>>
>> MASTER
>>   |_____________SLAVE (I am a slave of MASTER)
>>   |
>> REPEATER (I am a slave of MASTER and master to my slaves )
>>  |
>>  |
>> REPEATER_SLAVE( of REPEATER)
>>
>>
>> the point is that REPEATER will have a slave section has a masterUrl
>> which points to master and REPEATER_SLAVE will have a slave section
>> which has a masterurl pointing to repeater
>>
>>
>>
>>
>>
>>
>> On Wed, Aug 26, 2009 at 12:40 AM, J G<sk...@hotmail.com> wrote:
>> >
>> > Hello,
>> >
>> > We are running multiple slices in our environment. I have enabled JMX and I am inspecting the replication handler mbean to obtain some information about the master/slave configuration for replication. Is the replication handler mbean a singleton? I only see one mbean for the entire server and it's picking an arbitrary slice to report on. So I'm curious if every slice gets its own replication handler mbean? This is important because I have no way of knowing in this specific server any information about the other slices, in particular, information about the master/slave value for the other slices.
>> >
>> > Reading through the Solr 1.4 replication strategy, I saw that a slice can be configured to be a master and a slave, i.e. a repeater. I'm wondering how repeaters work because let's say I have a slice named 'A' and the master is on server 1 and the slave is on server 2 then how are these two servers communicating to replicate? Looking at the jmx information I have in the MBean both the isSlave and isMaster is set to true for my repeater so how does this solr slice know if it's the master or slave? I'm a bit confused.
>> >
>> > Thanks.
>> >
>> >
>> >
>> >
>> > _________________________________________________________________
>> > With Windows Live, you can organize, edit, and share your photos.
>> > http://www.windowslive.com/Desktop/PhotoGallery
>>
>>
>>
>> --
>> -----------------------------------------------------
>> Noble Paul | Principal Engineer| AOL | http://aol.com
>
> _________________________________________________________________
> Hotmail® is up to 70% faster. Now good news travels really fast.
> http://windowslive.com/online/hotmail?ocid=PID23391::T:WLMTAGL:ON:WL:en-US:WM_HYGN_faster:082009



-- 
-----------------------------------------------------
Noble Paul | Principal Engineer| AOL | http://aol.com

RE: Solr Replication

Posted by J G <sk...@hotmail.com>.
Thanks for the response.

It's interesting because when I run jconsole all I can see is one ReplicationHandler jmx mbean. It looks like it is defaulting to the first slice it finds on its path. Is there anyway to have multiple replication handlers or at least obtain replication on a per "slice"/"instance" via JMX like how you can see attributes for each "slice"/"instance" via each replication admin jsp page? 

Thanks again.

> From: noble.paul@corp.aol.com
> Date: Wed, 26 Aug 2009 11:05:34 +0530
> Subject: Re: Solr Replication
> To: solr-user@lucene.apache.org
> 
> The ReplicationHandler is not enforced as a singleton , but for all
> practical purposes it is a singleton for one core.
> 
> If an instance  (a slice as you say) is setup as a repeater, It can
> act as both a master and slave
> 
> in the repeater the configuration should be as follows
> 
> MASTER
>   |_____________SLAVE (I am a slave of MASTER)
>   |
> REPEATER (I am a slave of MASTER and master to my slaves )
>  |
>  |
> REPEATER_SLAVE( of REPEATER)
> 
> 
> the point is that REPEATER will have a slave section has a masterUrl
> which points to master and REPEATER_SLAVE will have a slave section
> which has a masterurl pointing to repeater
> 
> 
> 
> 
> 
> 
> On Wed, Aug 26, 2009 at 12:40 AM, J G<sk...@hotmail.com> wrote:
> >
> > Hello,
> >
> > We are running multiple slices in our environment. I have enabled JMX and I am inspecting the replication handler mbean to obtain some information about the master/slave configuration for replication. Is the replication handler mbean a singleton? I only see one mbean for the entire server and it's picking an arbitrary slice to report on. So I'm curious if every slice gets its own replication handler mbean? This is important because I have no way of knowing in this specific server any information about the other slices, in particular, information about the master/slave value for the other slices.
> >
> > Reading through the Solr 1.4 replication strategy, I saw that a slice can be configured to be a master and a slave, i.e. a repeater. I'm wondering how repeaters work because let's say I have a slice named 'A' and the master is on server 1 and the slave is on server 2 then how are these two servers communicating to replicate? Looking at the jmx information I have in the MBean both the isSlave and isMaster is set to true for my repeater so how does this solr slice know if it's the master or slave? I'm a bit confused.
> >
> > Thanks.
> >
> >
> >
> >
> > _________________________________________________________________
> > With Windows Live, you can organize, edit, and share your photos.
> > http://www.windowslive.com/Desktop/PhotoGallery
> 
> 
> 
> -- 
> -----------------------------------------------------
> Noble Paul | Principal Engineer| AOL | http://aol.com

_________________________________________________________________
Hotmail® is up to 70% faster. Now good news travels really fast. 
http://windowslive.com/online/hotmail?ocid=PID23391::T:WLMTAGL:ON:WL:en-US:WM_HYGN_faster:082009

Re: Solr Replication

Posted by Noble Paul നോബിള്‍ नोब्ळ् <no...@corp.aol.com>.
The ReplicationHandler is not enforced as a singleton , but for all
practical purposes it is a singleton for one core.

If an instance  (a slice as you say) is setup as a repeater, It can
act as both a master and slave

in the repeater the configuration should be as follows

MASTER
  |_____________SLAVE (I am a slave of MASTER)
  |
REPEATER (I am a slave of MASTER and master to my slaves )
 |
 |
REPEATER_SLAVE( of REPEATER)


the point is that REPEATER will have a slave section has a masterUrl
which points to master and REPEATER_SLAVE will have a slave section
which has a masterurl pointing to repeater






On Wed, Aug 26, 2009 at 12:40 AM, J G<sk...@hotmail.com> wrote:
>
> Hello,
>
> We are running multiple slices in our environment. I have enabled JMX and I am inspecting the replication handler mbean to obtain some information about the master/slave configuration for replication. Is the replication handler mbean a singleton? I only see one mbean for the entire server and it's picking an arbitrary slice to report on. So I'm curious if every slice gets its own replication handler mbean? This is important because I have no way of knowing in this specific server any information about the other slices, in particular, information about the master/slave value for the other slices.
>
> Reading through the Solr 1.4 replication strategy, I saw that a slice can be configured to be a master and a slave, i.e. a repeater. I'm wondering how repeaters work because let's say I have a slice named 'A' and the master is on server 1 and the slave is on server 2 then how are these two servers communicating to replicate? Looking at the jmx information I have in the MBean both the isSlave and isMaster is set to true for my repeater so how does this solr slice know if it's the master or slave? I'm a bit confused.
>
> Thanks.
>
>
>
>
> _________________________________________________________________
> With Windows Live, you can organize, edit, and share your photos.
> http://www.windowslive.com/Desktop/PhotoGallery



-- 
-----------------------------------------------------
Noble Paul | Principal Engineer| AOL | http://aol.com