[ 
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

Reply via email to