Jake, Maybe it's time to come up with the Solandra/Solr matrix so we can see Solandra's strengths (e.g. RT, no replication) and weaknesses (e.g. I think I saw a mention of some big indices?) or missing feature (e.g. no delete by query), etc.
Thanks! Otis ---- Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch Lucene ecosystem search :: http://search-lucene.com/ ----- Original Message ---- > From: Jake Luciani <jak...@gmail.com> > To: "solr-user@lucene.apache.org" <solr-user@lucene.apache.org> > Sent: Wed, March 9, 2011 6:04:13 PM > Subject: Re: True master-master fail-over without data gaps (choosing CA in >CAP) > > Jason, > > It's predecessor did, Lucandra. But Solandra is a new approach that manages >shards of documents across the cluster for you and uses solrs distributed >search to query indexes. > > > Jake > > On Mar 9, 2011, at 5:15 PM, Jason Rutherglen <jason.rutherg...@gmail.com> >wrote: > > > Doesn't Solandra partition by term instead of document? > > > > On Wed, Mar 9, 2011 at 2:13 PM, Smiley, David W. <dsmi...@mitre.org> wrote: > >> I was just about to jump in this conversation to mention Solandra and go >fig, Solandra's committer comes in. :-) It was nice to meet you at Strata, >Jake. > >> > >> I haven't dug into the code yet but Solandra strikes me as a killer way > >> to >scale Solr. I'm looking forward to playing with it; particularly looking at >disk requirements and performance measurements. > >> > >> ~ David Smiley > >> > >> On Mar 9, 2011, at 3:14 PM, Jake Luciani wrote: > >> > >>> Hi Otis, > >>> > >>> Have you considered using Solandra with Quorum writes > >>> to achieve master/master with CA semantics? > >>> > >>> -Jake > >>> > >>> > >>> On Wed, Mar 9, 2011 at 2:48 PM, Otis Gospodnetic ><otis_gospodne...@yahoo.com > >>>> wrote: > >>> > >>>> Hi, > >>>> > >>>> ---- Original Message ---- > >>>> > >>>>> From: Robert Petersen <rober...@buy.com> > >>>>> > >>>>> Can't you skip the SAN and keep the indexes locally? Then you would > >>>>> have two redundant copies of the index and no lock issues. > >>>> > >>>> I could, but then I'd have the issue of keeping them in sync, which >seems > >>>> more > >>>> fragile. I think SAN makes things simpler overall. > >>>> > >>>>> Also, Can't master02 just be a slave to master01 (in the master farm >and > >>>>> separate from the slave farm) until such time as master01 fails? Then > >>>> > >>>> No, because it wouldn't be in sync. It would always be N minutes >behind, > >>>> and > >>>> when the primary master fails, the secondary would not have all the > >>>> docs >- > >>>> data > >>>> loss. > >>>> > >>>>> master02 would start receiving the new documents with an indexes > >>>>> complete up to the last replication at least and the other slaves would > >>>>> be directed by LB to poll master02 also... > >>>> > >>>> Yeah, "complete up to the last replication" is the problem. It's a data > >>>> gap > >>>> that now needs to be filled somehow. > >>>> > >>>> Otis > >>>> ---- > >>>> Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch > >>>> Lucene ecosystem search :: http://search-lucene.com/ > >>>> > >>>> > >>>>> -----Original Message----- > >>>>> From: Otis Gospodnetic [mailto:otis_gospodne...@yahoo.com] > >>>>> Sent: Wednesday, March 09, 2011 9:47 AM > >>>>> To: solr-user@lucene.apache.org > >>>>> Subject: Re: True master-master fail-over without data gaps (choosing > >>>>> >CA > >>>>> in CAP) > >>>>> > >>>>> Hi, > >>>>> > >>>>> > >>>>> ----- Original Message ---- > >>>>>> From: Walter Underwood <wun...@wunderwood.org> > >>>>> > >>>>>> On Mar 9, 2011, at 9:02 AM, Otis Gospodnetic wrote: > >>>>>> > >>>>>>> You mean it's not possible to have 2 masters that are in nearly > >>>>> real-time > >>>>>> sync? > >>>>>>> How about with DRBD? I know people use DRBD to keep 2 Hadoop NNs > >>>>> (their > >>>>>> edit > >>>>>> > >>>>>>> logs) in sync to avoid the current NN SPOF, for example, so I'm > >>>>> thinking > >>>>>> this > >>>>>> > >>>>>>> could be doable with Solr masters, too, no? > >>>>>> > >>>>>> If you add fault-tolerant, you run into the CAP Theorem. >Consistency, > >>>>> > >>>>>> availability, partition: choose two. You cannot have it all. > >>>>> > >>>>> Right, so I'll take Consistency and Availability, and I'll put my 2 > >>>>> masters in > >>>>> the same rack (which has redundant switches, power supply, etc.) and > >>>>> thus > >>>>> minimize/avoid partitioning. > >>>>> Assuming the above actually works, I think my Q remains: > >>>>> > >>>>> How do you set up 2 Solr masters so they are in near real-time sync? > >>>>> DRBD? > >>>>> > >>>>> But here is maybe a simpler scenario that more people may be > >>>>> considering: > >>>>> > >>>>> Imagine 2 masters on 2 different servers in 1 rack, pointing to the >same > >>>>> index > >>>>> on the shared storage (SAN) that also happens to live in the same >rack. > >>>>> 2 Solr masters are behind 1 LB VIP that indexer talks to. > >>>>> The VIP is configured so that all requests always get routed to the > >>>>> primary > >>>>> master (because only 1 master can be modifying an index at a time), > >>>>> except when > >>>>> this primary is down, in which case the requests are sent to the > >>>>> secondary > >>>>> master. > >>>>> > >>>>> So in this case my Q is around automation of this, around Lucene index > >>>>> locks, > >>>>> around the need for manual intervention, and such. > >>>>> Concretely, if you have these 2 master instances, the primary master >has > >>>>> the > >>>>> Lucene index lock in the index dir. When the secondary master needs >to > >>>>> take > >>>>> over (i.e., when it starts receiving documents via LB), it needs to be > >>>>> able to > >>>>> write to that same index. But what if that lock is still around? One > >>>>> could use > >>>>> the Native lock to make the lock disappear if the primary master's JVM > >>>>> exited > >>>>> unexpectedly, and in that case everything *should* work and be > >>>>> completely > >>>>> transparent, right? That is, the secondary will start getting new >docs, > >>>>> it will > >>>>> use its IndexWriter to write to that same shared index, which won't be > >>>>> locked > >>>>> for writes because the lock is gone, and everyone will be happy. Did I > >>>>> miss > >>>>> something important here? > >>>>> > >>>>> Assuming the above is correct, what if the lock is *not* gone because > >>>>> the > >>>>> primary master's JVM is actually not dead, although maybe unresponsive, > >>>>> so LB > >>>>> thinks the primary master is dead. Then the LB will route indexing > >>>>> requests to > >>>>> the secondary master, which will attempt to write to the index, but be > >>>>> denied > >>>>> because of the lock. So a human needs to jump in, remove the lock, >and > >>>>> manually > >>>>> reindex failed docs if the upstream component doesn't buffer docs that > >>>>> failed to > >>>>> get indexed and doesn't retry indexing them automatically. Is this > >>>>> correct or > >>>>> is there a way to avoid humans here? > >>>>> > >>>>> Thanks, > >>>>> Otis > >>>>> ---- > >>>>> Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch > >>>>> Lucene ecosystem search :: http://search-lucene.com/ > >>>>> > >>>> > >>> > >>> > >>> > >>> -- > >>> http://twitter.com/tjake > >> > >> >