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 > >