Hi,
----- Original Message ---- > > Yes, I think this should be pushed upstream - insert a "tee" in the > document stream so that all documents go to both masters. > Then use a load balancer to make requests of the masters. Hm, but this makes the tee app aware of this. What if I want to hide that from any code of mine? > The "tee" itself then becomes a possible single point of failure, but > you didn't say anything about the architecture of the document feed. Is > that also fault-tolerant? Let's say it is! :) Otis ---- Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch Lucene ecosystem search :: http://search-lucene.com/ > On 3/9/2011 1:06 AM, Jonathan Rochkind wrote: > > I'd honestly think about buffer the incoming documents in some store > > that's >actually made for fail-over persistence reliability, maybe CouchDB or >something. And then that's taking care of not losing anything, and the >problem >becomes how we make sure that our solr master indexes are kept in sync with >the >actual persistent store; which I'm still not sure about, but I'm thinking >it's >a simpler problem. The right tool for the right job, that kind of failover >persistence is not solr's specialty. > > ________________________________________ > > From: Otis Gospodnetic [otis_gospodne...@yahoo.com] > > Sent: Tuesday, March 08, 2011 11:45 PM > > To: solr-user@lucene.apache.org > > Subject: True master-master fail-over without data gaps > > > > Hello, > > > > What are some common or good ways to handle indexing (master) fail-over? > > Imagine you have a continuous stream of incoming documents that you have to > > index without losing any of them (or with losing as few of them as >possible). > > How do you set up you masters? > > In other words, you can't just have 2 masters where the secondary is the > > Repeater (or Slave) of the primary master and replicates the index >periodically: > > you need to have 2 masters that are in sync at all times! > > How do you achieve that? > > > > * Do you just put N masters behind a LB VIP, configure them both to point > > to >the > > index on some shared storage (e.g. SAN), and count on the LB to fail-over > > to >the > > secondary master when the primary becomes unreachable? > > If so, how do you deal with index locks? You use the Native lock and > > count >on > > it disappearing when the primary master goes down? That means you count > > on >the > > whole JVM process dying, which may not be the case... > > > > * Or do you use tools like DRBD, Corosync, Pacemaker, etc. to keep 2 masters > > with 2 separate indices in sync, while making sure you write to only 1 of >them > > via LB VIP or otherwise? > > > > * Or ... > > > > > > This thread is on a similar topic, but is inconclusive: > > http://search-lucene.com/m/aOsyN15f1qd1 > > > > Here is another similar thread, but this one doesn't cover how 2 masters are > > kept in sync at all times: > > http://search-lucene.com/m/aOsyN15f1qd1 > > > > Thanks, > > Otis > > ---- > > Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch > > Lucene ecosystem search :: http://search-lucene.com/ > > > >