Yonik Seeley wrote:
If the actual schema was null, then that was probably some problem
parsing the schema.
If that's the case, hopefully you saw an exception in the logs on
startup?
Using apache-solr-1.1.0-incubating.
Actually not at first, but now I do. But I've gone back and re-created
the (or a similar) error, and what the problem was happened to be the
way I was watching my logs. When I first started, I was just doing a
tail -F on catalina.out, but the exception was throwing to the logfile
localhost.2007-03-01.log. Ah, tomcat my best old buddy old pal. I've
learned to just do a "tail -F *". I've obviously grown desinsitized by
other java projects throwing exceptions to logs, and by so much logging
duplication between catalina.out and the tomcat contextual logs.
I almost didn't notice the exception fly by because there's soooo much
log output, and I can see why I might not have noticed. Yay for
scrollback! (Hrm, I might not have wanted to watch logging for 4
instances of solr all at once. Might explain why so much logging.)
Another helpful modification would be returning 500 errors codes in the
header. This would help a script detect error codes without needing to
grep or dom process the result element. The output of my php script to
load documents was showing me the snippet below. Possibly making the
error code configurable might help (I can see cases where forcing a 200
response is useful) .
Array
(
[errno] => 0
[errstr] =>
[response] => HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Content-Length: 1329
Date: Sat, 03 Mar 2007 02:04:12 GMT
Connection: close
<result status="1">java.lang.NullPointerException
at org.apache.solr.core.SolrCore.update(SolrCore.java:763)
at
org.apache.solr.servlet.SolrUpdateServlet.doPost(SolrUpdateServlet.java:53)
--snip--
</result>
)
Anyway, I agree that some config errors could be handled in a more
user-friendly manner, and it would be nice if config failures could
make it to the front-page admin screen or something.
That would groovy!
I was able to see instances where a field was not defined. Now that I'm
looking at all the log files, I'm seeing the error I should have seen
earlier.
Thanks guys!
Jed
PS Last night I was able to index about 180,000 documents in about 2.5
hours. The resulting index is a bit over 800M. Compared to my
self-crawling with Nutch, this is 1/4 the time to index and 1/30th the
disk space used by indicies. I am really impressed. I threw four
concurrent scripts making 50,000 distinct (select distinct tag from
taglist;) requests at this solr instance and my solr server was serving
50 requests per second per script and the solr server load average was
about 3.2. That's 200 requests per second against a 4 core box. The
tomcat instance was taking 606M ram, resident.