lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erick Erickson <erickerick...@gmail.com>
Subject Re: SolrException: Unavailable Service
Date Tue, 12 Apr 2011 13:07:42 GMT
If your commit from the client fails, you don't really know the
state of your index anyway. All the threads you have sending
documents to Solr are adding them to a single internal buffer.
Committing flushes that buffer.

So if thread 1 gets an error on commit, it will presumably
have some documents from thread 2 in the commit. But
thread 2 won't necessarily see the results. So I don't think
your statement about needing to know if a commit fails
is really

On Tue, Apr 12, 2011 at 8:50 AM, Phong Dais <phong.gdais@gmail.com> wrote:

> Hi,
>
> I did not want to hijack this thread (
> http://www.mail-archive.com/solr-user@lucene.apache.org/msg34181.html)
> but I am experiencing the same exact problem mentioned here.
>
> To sum up the issue, I am getting intermittent "Unavailable Service"
> exception during indexing commit phase.
> I know that I am calling commit "very often" but I do not see any way
> around
> this.  This is my situation, I am
> indexing a huge amount of documents using multiple instance of SolrJ client
> running on multiple servers.  There is no way
> for me control when "commit" is called from these clients, so two different
> clients can call commit "at the same time".
> I am not sure if I can/should use auto/timed commit because I need to know
> if a commit failed so I can rollback the batch that failed.
>
> What kind of options do I have?
> Should I try to catch the exception and keep trying to "recommit" until it
> goes through?  I can see some potential of problems with this approach.
> Do I need to write a request broker to queue up all these commit and send
> them to solr one by one in a "timely" manner?
>
> Just wanted to know if anyone has a solution for this problem before I dive
> off the deep end.
>
> Thanks,
> Phong
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message