[ https://issues.apache.org/jira/browse/LUCENE-1596?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael McCandless reopened LUCENE-1596: ---------------------------------------- I'm seeing this new AIOOBE when tracking down the intermittent failure in TestStressIndexing2: {code} 1) testRandomIWReader(org.apache.lucene.index.TestStressIndexing2) java.lang.ArrayIndexOutOfBoundsException: 6 at org.apache.lucene.index.MultiSegmentReader$MultiTermDocs.next(MultiSegmentReader.java:672) at org.apache.lucene.index.TestStressIndexing2.verifyEquals(TestStressIndexing2.java:292) at org.apache.lucene.index.TestStressIndexing2.verifyEquals(TestStressIndexing2.java:250) at org.apache.lucene.index.TestStressIndexing2.testRandomIWReader(TestStressIndexing2.java:67) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at junit.framework.TestCase.runTest(TestCase.java:168) at org.apache.lucene.util.LuceneTestCase.runTest(LuceneTestCase.java:88) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81) at org.junit.internal.runners.CompositeRunner.runChildren(CompositeRunner.java:33) at org.junit.internal.runners.CompositeRunner.run(CompositeRunner.java:28) at org.junit.runner.JUnitCore.run(JUnitCore.java:130) at org.junit.runner.JUnitCore.run(JUnitCore.java:109) at org.junit.runner.JUnitCore.run(JUnitCore.java:100) at org.junit.runner.JUnitCore.runMain(JUnitCore.java:81) at org.junit.runner.JUnitCore.main(JUnitCore.java:44) {code} I think it's because this optimization isn't admissible in the case when one calls MultiTermDocs.seek on a MultiTermEnum derived from a different MultiSegmentReader. Ie, I think there needs to be another check that verifies in fact the MultiTermEnum passed to MultiTermDocs.seek share the same MultiSegmentReader? Before this optimiztion, this was OK (only the term was used from the MultiTermEnum). > optimize MultiTermEnum/MultiTermDocs > ------------------------------------ > > Key: LUCENE-1596 > URL: https://issues.apache.org/jira/browse/LUCENE-1596 > Project: Lucene - Java > Issue Type: Improvement > Components: Search > Reporter: Yonik Seeley > Assignee: Yonik Seeley > Fix For: 2.9 > > Attachments: LUCENE-1596.patch > > > Optimize MultiTermEnum and MultiTermDocs to avoid seeks on TermDocs that > don't match the term. -- 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: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org