Regarding point 4, you will have to reload the indexes to preserve
consistency among the indexes.
When yo perform a commit in solr you have (for an instant) two versions of
the index. The commit produces new segments (with new documents, new
deletions, etc). After creating these new segments a new index searcher is
created and its caches begin to autowarm. At this point the old index
searcher that you were using is still active receiving requests. After the
new index searcher finishes loading and autowarming the old searcher is
discarded.
I think that the coordination needed to accomplish the same functionality in
a distributed environment (ie having multiple solr instances accessing the
same files) will be unnecessarily complicated.

Also is generally recommended to have the index stored locally for
performance. Even if a distributed file system is available the most
performant solution is to have the index stored locally in a disk (and much
simpler)

So in my opinion "replicating the state" is far easier than "sharing the
state".

Thank you
Emmanuel


2011/7/26 Gaetano Giunta <giunta.gaet...@gmail.com>

> Hello
>
> I've been looking for a definitive answer to the question: "is it possible
> to run Solr on multiple servers with a shared index folder instead of the
> native master/slave configuration?"
>
> So far I have found two threads in this ml about the topic:
> http://lucene.472066.n3.**nabble.com/Multiple-Solr-**
> servers-and-a-shared-index-vs-**master-slaves-td934359.html<http://lucene.472066.n3.nabble.com/Multiple-Solr-servers-and-a-shared-index-vs-master-slaves-td934359.html>
> http://lucene.472066.n3.**nabble.com/Shared-index-base-**td484439.html<http://lucene.472066.n3.nabble.com/Shared-index-base-td484439.html>
>
> But I am still not 100% sure. From what I understand:
> 1. having many servers serving reads and one doing writes might work - many
> servers doing writes definitely not
> 2. using lockType=native is a good idea whenever there is more than one
> process at a time accessing the index file...
> 3. ...which I suppose means that Solr will use flock() calls. Hence the
> need for a filesystem supporting them (eg. ocfs2 and gfs preferred to nfs)
> 4. "sending commit commands makes readers re-read the indexes"
>
> About point 4: does this mean only the readers on the current server, or
> the readers on other servers too?
> If the latter is the case, then this kind of setup is basically only good
> to have an active/passive cluster with a fast failover, not for doing
> master/slave load balancing.
>
> Bye
> Gaetano
>
> ps: please understand that I'd much rather go with native master/slave or
> with the upcoming zookeeper-based configurations, but the setup described
> above I have found installed at some customer...
>

Reply via email to