I've been developing a search application, and finally rolled it to production-testing yesterday, after a few million hits on our 5 search nodes, I've found a glitch in Lucene :-).
Unfortunately I don't have the queries that triggered this - it occurred a total of 11 times over the first 3 million hits according to my logging. Backtrace: java.lang.ArrayIndexOutOfBoundsException at org.apache.lucene.search.BooleanScorer2$Coordinator.coordFactor(BooleanScorer2.java:54) at org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:328) at org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:291) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:132) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:110) at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:65) at org.apache.lucene.search.Hits.<init>(Hits.java:52) at org.apache.lucene.search.Searcher.search(Searcher.java:62) at com.isohunt.isosearch.frontend.SearchHandlerFactory.search(SearchHandlerFactory.java:113) at com.isohunt.isosearch.frontend.SearchHandler.process(SearchHandler.java:503) at com.isohunt.isosearch.reactor.ReactorHandler.processAndHandOff(ReactorHandler.java:118) at com.isohunt.isosearch.reactor.ReactorHandler.access$200(ReactorHandler.java:19) at com.isohunt.isosearch.reactor.ReactorHandler$Processer.run(ReactorHandler.java:125) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Thread.java:816) The Hit instances is local to each thread, and not statically shared in any way. The Searcher is shared between threads - but this should be safe according to the Lucene documentation. The com.isohunt.isosearch.reactor package is my pluggable code based on Doug Lea's Reactor design. JDK is IBM 1.4.2SR4 on AMD64 hardware. -- Robin Hugh Johnson E-Mail : [EMAIL PROTECTED] Home Page : http://www.orbis-terrarum.net/?l=people.robbat2 ICQ# : 30269588 or 41961639 GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
pgpU3rDmdTndp.pgp
Description: PGP signature