[ https://issues.apache.org/jira/browse/LUCENE-1067?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12545885 ]
Michael McCandless commented on LUCENE-1067: -------------------------------------------- OK I think this is just a thread safety issue on RAMFile. That class has these comments: // Only one writing stream with no concurrent reading streams, so no file synchronization required // Direct read-only access to state supported for streams since a writing stream implies no other concurrent streams which were true before lockless commits but after lockless commits are not true, specifically for the segments_N and segments.gen files. I think this fix is to make "ArrayList buffers" private (it's package private now), add methods to get a buffer & get the number of buffers, and make sure all methods that access "buffers" are synchronized. > TestStressIndexing has intermittent failures > -------------------------------------------- > > Key: LUCENE-1067 > URL: https://issues.apache.org/jira/browse/LUCENE-1067 > Project: Lucene - Java > Issue Type: Bug > Reporter: Grant Ingersoll > Assignee: Michael McCandless > Priority: Minor > Fix For: 2.3 > > > See http://www.gossamer-threads.com/lists/lucene/java-dev/55092 copied below: > OK, I have seen this twice in the last two days: > Testsuite: org.apache.lucene.index.TestStressIndexing > [junit] Tests run: 1, Failures: 1, Errors: 0, Time elapsed: 18.58 > sec > [junit] > [junit] ------------- Standard Output --------------- > [junit] java.lang.NullPointerException > [junit] at > org.apache.lucene.store.RAMInputStream.readByte(RAMInputStream.java:67) > [junit] at > org.apache.lucene.store.IndexInput.readInt(IndexInput.java:66) > [junit] at org.apache.lucene.index.SegmentInfos > $FindSegmentsFile.run(SegmentInfos.java:544) > [junit] at > org > .apache > .lucene.index.DirectoryIndexReader.open(DirectoryIndexReader.java:63) > [junit] at > org.apache.lucene.index.IndexReader.open(IndexReader.java:209) > [junit] at > org.apache.lucene.index.IndexReader.open(IndexReader.java:192) > [junit] at > org.apache.lucene.search.IndexSearcher.<init>(IndexSearcher.java:56) > [junit] at org.apache.lucene.index.TestStressIndexing > $SearcherThread.doWork(TestStressIndexing.java:111) > [junit] at org.apache.lucene.index.TestStressIndexing > $TimedThread.run(TestStressIndexing.java:55) > [junit] ------------- ---------------- --------------- > [junit] Testcase: > testStressIndexAndSearching > (org.apache.lucene.index.TestStressIndexing): FAILED > [junit] hit unexpected exception in search1 > [junit] junit.framework.AssertionFailedError: hit unexpected > exception in search1 > [junit] at > org > .apache > .lucene.index.TestStressIndexing.runStressTest(TestStressIndexing.java: > 159) > [junit] at > org > .apache > .lucene > .index > .TestStressIndexing > .testStressIndexAndSearching(TestStressIndexing.java:187) > [junit] > [junit] > [junit] Test org.apache.lucene.index.TestStressIndexing FAILED > Subsequent runs have, however passed. Has anyone else hit this on > trunk? > I am running using "ant clean test" > I'm on a Mac Pro 4 core, 4GB machine, if that helps at all. Not sure > how to reproduce at this point, but strikes me as a threading issue. > Oh joy! > I'll try to investigate more tomorrow to see if I can dream up a test > case. > -Grant -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]