oracle / opengrok

OpenGrok is a fast and usable source code search and cross reference engine, written in Java
http://oracle.github.io/opengrok/
Other
4.36k stars 747 forks source link

SuggesterControllerTest.testGetSuggestionsMultipleProjects sometimes fails #2268

Closed vladak closed 6 years ago

vladak commented 6 years ago
[ERROR] Failures: 
[ERROR]   SuggesterControllerTest.testGetSuggestionsMultipleProjects:250 
Expected: iterable over ["me", "method", "message", "meta"] in any order
     but: No item matches: "meta" in ["me", "message", "method"]

such as in https://app.wercker.com/vladak/opengrok/runs/build/5b69aa90f3e12d0007143070?step=5b69aac082df1e0007ea226f

ahornace commented 6 years ago

I think this is caused by the same old testSearch error. You can notice that this exception was logged:

WARNING: ERROR addFile(): /tmp/source7732326596298446157/java/main.jar
java.lang.IllegalStateException: TokenStream contract violation: close() call missing
    at org.apache.lucene.analysis.Tokenizer.setReader(Tokenizer.java:90)
    at org.apache.lucene.analysis.Analyzer$TokenStreamComponents.setReader(Analyzer.java:412)
    at org.apache.lucene.analysis.Analyzer.tokenStream(Analyzer.java:202)
    at org.apache.lucene.document.Field.tokenStream(Field.java:505)
    at org.apache.lucene.index.DefaultIndexingChain$PerField.invert(DefaultIndexingChain.java:732)
    at org.apache.lucene.index.DefaultIndexingChain.processField(DefaultIndexingChain.java:428)
    at org.apache.lucene.index.DefaultIndexingChain.processDocument(DefaultIndexingChain.java:392)
    at org.apache.lucene.index.DocumentsWriterPerThread.updateDocument(DocumentsWriterPerThread.java:251)
    at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:494)
    at org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1602)
    at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1221)
    at org.opengrok.indexer.index.IndexDatabase.addFile(IndexDatabase.java:780)
    at org.opengrok.indexer.index.IndexDatabase.lambda$null$1(IndexDatabase.java:1183)
    at java.util.stream.Collectors.lambda$groupingByConcurrent$51(Collectors.java:1070)
    at java.util.stream.ReferencePipeline.lambda$collect$1(ReferencePipeline.java:496)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
    at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

And I think meta word is taken right from main.jar file.

vladak commented 6 years ago

Ok, closing as dup of #2030 for now.