On Tue, Oct 11, 2011 at 8:17 PM, Otis Gospodnetic < otis_gospodne...@yahoo.com> wrote:
> > In the case of using a shared (SAN) index between 2 masters, what happens > if the > > live master fails in such a way that the index remains "locked" (such > > as if some hardware failure and it did not unlock/close index). Will the > other > > master be able to open/write to the index as new documents are added? > > > You'd use native locks, which should disappear if the JVM dies. If it does > not, then I'm not 100% sure what happens, but in the worst case there would > be a need for a quick manual (or scripted) intervention. But your index > would be up to date! > Or use ZK which was designed for this. The quality of implementation of locks varies a lot and I would much prefer ZK. > Also, if that can work ok, would it work if you have a LB (VIP) from both > > indexing and replication sides of the 2 masters, such that some VIP used > by > > solrj for indexing new documents via HTTP, and the same VIP used by slave > > searchers for replication? That sounds like it would work. > > > Precisely what you should do. e.g. "master-vip" is the "hostname" that > both SolrJ would post new docs to and the master "server" slaves would poll > for index changes. Most load balancer appliances can be scripted enough to keep an eye on ZK. It would also be the work of a moment to write a program to watch a ZK leader election for changes. That would allow you to have faster response to failures if you like.