Sorry for bunch of short self-replies, just trying to analyse...

CPU may get overloaded by constantly running GC trying to defragment&optimize memory, in a loop (constant queue of requests); response time will be few minutes (in best cases) and contain 500... so that sometimes we can't see OOM in log files (overloaded CPU).

At least during troubleshooting we need to comment this block out in SolrServlet:

} catch (Throwable e) {
      SolrException.log(log,e);
      sendErr(500, SolrException.toStr(e), request, response);
}


I can't understand also why it happened several times yesterday with SUN Java 5 (AMD64), and does not happen yet BEA JRockit. I had different problems with JRockit (HttpClient didn't not work with it) so that I avoided it till now...


==============
http://www.linkedin.com/in/liferay


Quoting Fuad Efendi <[EMAIL PROTECTED]>:

Just as a sample, SolrCore contains blocks like
} catch (Throwable e) {
     SolrException.logOnce(log,null,e);
}


And SolrServlet:
} catch (Throwable e) {
      SolrException.log(log,e);
      sendErr(500, SolrException.toStr(e), request, response);
}



What will happen with OutOfMemoryError? If memory is not
'enough'-enough it won't even output to catalina.out, and JVM/SOLR will
stop responding instead of 'abnormal' exit...



Quoting Fuad Efendi <[EMAIL PROTECTED]>:


I suspect that SolrException is used to catch ALL exceptions in order
to show "500 OutOfMemory" in HTML/XML/JSON etc., so that JVM simply
hangs... weird HTTP understanding...


Quoting Fuad Efendi <[EMAIL PROTECTED]>:

Following lines are strange, looks like SOLR deals with OOM and
rethrows own exception (so that in some cases JVM simply hangs instead
of exit):
Apr 4, 2008 1:20:53 PM org.apache.solr.common.SolrException log
SEVERE: java.lang.OutOfMemoryError: Java heap space




Reply via email to