lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Johnson <brianmjohn...@yahoo.com>
Subject Re: ODD Solr Error on Update POST - XMLStreamException: ParseError
Date Fri, 18 Apr 2008 00:12:35 GMT
The XML parser is probably not threadsafe but is being reused concurrently by multiple post
threads resulting in these exceptions. The observed 'randomness' of the errors would be due
to the unpredictable nature of the race condition between threads. The reason you don't see
this with smaller documents would be that the likelihood of contention on small documents
is reduced because the race is eliminated. This would also be generally independent of JVM,
OS, memory allocation, etc as it seems to be.

I would look into how these classes/methods are dealing with the parser factory. (keeping
a static copy maybe?)

org.apache.solr.handler.XmlUpdateRequestHandler.processUpdate(XmlUpdateRequestHandler.java:148)
org.apache.solr.handler.XmlUpdateRequestHandler.doLegacyUpdate(XmlUpdateRequestHandler.java:386)
org.apache.solr.servlet.SolrUpdateServlet.doPost(SolrUpdateServlet.java:65)

This seems to me to be the most likely culprit given what I've seen so far on this thread.
I hope it helps.

-- Brian

----- Original Message ----
From: Yonik Seeley <yonik@apache.org>
To: solr-user@lucene.apache.org
Sent: Thursday, April 17, 2008 3:28:08 PM
Subject: Re: ODD Solr Error on Update POST - XMLStreamException: ParseError

On Thu, Apr 17, 2008 at 5:41 PM, realw5 <drdavis@improvementdirect.com> wrote:
>  Ok, so I tried tomcat 5.5, still not go. It might be helpful to note, that
>  when I decrease the size of the post (take fields out) I can get it to post
>  without error. It seems like it's barfing on a certain file size (buffer
>  issue maybe??). I'm running 32-bit Ubuntu on our production system and have
>  never seen these errors. Is it possible libc has a bug only in 64-bit
>  Ubuntu?
>
>  Lastly, I can try another OS...do you have any recommendations for a good
>  64-bit linux flavor?

Whatever you are comfortable with... if you don't already have
something lying around, perhaps the latest ubuntu beta (8.04)

Also double-check that you are sending exactly what you think you are.
If you haven't already, capture the XML you are sending to a file,
then use curl (the same version on the same box) to send the file to
both the server that works and the one that doesn't.

-Yonik




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