On 10-Sep-07, at 1:50 PM, Adrian Sutton wrote:
We use DirectSolrConnection via JNI in a couple of client apps
that sometimes have 100s of thousands of new docs as fast as Solr
will have them. It would crash relentlessly if I didn't force all
calls to update or query to be on the same thread using objc's
@synchronized and a message queue. I never narrowed down if this
was a solr issue or a JNI one.
That doesn't sound promising. I'll throw in synchronization around
the update code and see what happens. That's doesn't seem good for
performance though. Can Solr as a web app handle multiple updates
at once or does it synchronize to avoid it?
Solr can handle multiple simultaneous updates. The entire request
processing is concurrent, as is the document analysis. Only the
final write is synchronized (this includes lucene segment merging).
In the future, segment merging will occur in a separate thread,
further improving concurrency.
-Mike