[ 
https://issues.apache.org/jira/browse/LUCENE-4402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shai Erera resolved LUCENE-4402.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 4.0
                   3.6.2
                   5.0
         Assignee: Shai Erera

Committed revisions 1387540, 1387542 and 1387546 (3x, trunk and 4x 
respectively).
I also modified testConcurrency to create atLeast(10000) categories instead of 
5000, so that we catch such issues sooner (hopefully).
                
> TestAddTaxonomy.testConcurrency failure
> ---------------------------------------
>
>                 Key: LUCENE-4402
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4402
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/facet
>    Affects Versions: 3.6.2
>            Reporter: Robert Muir
>            Assignee: Shai Erera
>             Fix For: 5.0, 3.6.2, 4.0
>
>
> on the 3.x branch:
> {noformat}
>     [junit] Testsuite: 
> org.apache.lucene.facet.taxonomy.directory.TestAddTaxonomy
>     [junit] Testcase: 
> testConcurrency(org.apache.lucene.facet.taxonomy.directory.TestAddTaxonomy):  
>   Caused an ERROR
>     [junit] Index: 1, Size: 2
>     [junit] java.lang.IndexOutOfBoundsException: Index: 1, Size: 2
>     [junit]   at java.util.ArrayList.rangeCheck(ArrayList.java:604)
>     [junit]   at java.util.ArrayList.get(ArrayList.java:382)
>     [junit]   at 
> org.apache.lucene.facet.taxonomy.writercache.cl2o.CharBlockArray.charAt(CharBlockArray.java:148)
>     [junit]   at 
> org.apache.lucene.facet.taxonomy.CategoryPath.equalsToSerialized(CategoryPath.java:888)
>     [junit]   at 
> org.apache.lucene.facet.taxonomy.writercache.cl2o.CompactLabelToOrdinal.getOrdinal(CompactLabelToOrdinal.java:323)
>     [junit]   at 
> org.apache.lucene.facet.taxonomy.writercache.cl2o.CompactLabelToOrdinal.getOrdinal(CompactLabelToOrdinal.java:163)
>     [junit]   at 
> org.apache.lucene.facet.taxonomy.writercache.cl2o.Cl2oTaxonomyWriterCache.get(Cl2oTaxonomyWriterCache.java:49)
>     [junit]   at 
> org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.findCategory(DirectoryTaxonomyWriter.java:386)
>     [junit]   at 
> org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.addTaxonomy(DirectoryTaxonomyWriter.java:833)
>     [junit]   at 
> org.apache.lucene.facet.taxonomy.directory.TestAddTaxonomy.testConcurrency(TestAddTaxonomy.java:206)
>     [junit]   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     [junit]   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     [junit]   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     [junit]   at java.lang.reflect.Method.invoke(Method.java:601)
>     [junit]   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
>     [junit]   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>     [junit]   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
>     [junit]   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>     [junit]   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>     [junit]   at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
>     [junit]   at 
> org.apache.lucene.util.LuceneTestCase$SubclassSetupTeardownRule$1.evaluate(LuceneTestCase.java:630)
>     [junit]   at 
> org.apache.lucene.util.LuceneTestCase$InternalSetupTeardownRule$1.evaluate(LuceneTestCase.java:536)
>     [junit]   at 
> org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:67)
>     [junit]   at 
> org.apache.lucene.util.LuceneTestCase$TestResultInterceptorRule$1.evaluate(LuceneTestCase.java:457)
>     [junit]   at 
> org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:74)
>     [junit]   at 
> org.apache.lucene.util.LuceneTestCase$SaveThreadAndTestNameRule$1.evaluate(LuceneTestCase.java:508)
>     [junit]   at org.junit.rules.RunRules.evaluate(RunRules.java:18)
>     [junit]   at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
>     [junit]   at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
>     [junit]   at 
> org.apache.lucene.util.LuceneTestCaseRunner.runChild(LuceneTestCaseRunner.java:146)
>     [junit]   at 
> org.apache.lucene.util.LuceneTestCaseRunner.runChild(LuceneTestCaseRunner.java:50)
>     [junit]   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
>     [junit]   at 
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
>     [junit]   at 
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
>     [junit]   at 
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
>     [junit]   at 
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
>     [junit]   at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>     [junit]   at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
>     [junit]   at 
> org.apache.lucene.util.UncaughtExceptionsRule$1.evaluate(UncaughtExceptionsRule.java:74)
>     [junit]   at 
> org.apache.lucene.util.StoreClassNameRule$1.evaluate(StoreClassNameRule.java:36)
>     [junit]   at 
> org.apache.lucene.util.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:67)
>     [junit]   at org.junit.rules.RunRules.evaluate(RunRules.java:18)
>     [junit]   at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>     [junit]   at 
> junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
>     [junit]   at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
>     [junit]   at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)
>     [junit]   at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:879)
>     [junit] 
>     [junit] 
>     [junit] Tests run: 5, Failures: 0, Errors: 1, Time elapsed: 0.342 sec
>     [junit] 
>     [junit] ------------- Standard Error -----------------
>     [junit] NOTE: Ignoring nightly-only test method 'testBig'
>     [junit] WARNING: test method: 'testConcurrency' left thread running: 
> Thread[Thread-1,5,main]
>     [junit] RESOURCE LEAK: test method: 'testConcurrency' left 1 thread(s) 
> running
>     [junit] NOTE: reproduce with: ant test -Dtestcase=TestAddTaxonomy 
> -Dtestmethod=testConcurrency 
> -Dtests.seed=ad99a0aac3d5bf3:4af538a36d0c94b4:-7b609955992bc1c9 
> -Dargs="-Dfile.encoding=UTF-8"
>     [junit] NOTE: reproduce with: ant test -Dtestcase=TestAddTaxonomy 
> -Dtestmethod=testConcurrency 
> -Dtests.seed=ad99a0aac3d5bf3:4af538a36d0c94b4:-7b609955992bc1c9 
> -Dargs="-Dfile.encoding=UTF-8"
>     [junit] NOTE: test params are: locale=mt_MT, timezone=Etc/GMT+6
>     [junit] NOTE: all tests run in this JVM:
>     [junit] [TwoEnhancementsTest, TestAdaptiveExample, 
> CategoryListPayloadStreamTest, CategoryAttributeImplTest, 
> PerDimensionIndexingParamsTest, AdaptiveAccumulatorTest, TestFacetArrays, 
> TestFacetsAccumulatorWithComplement, FacetSearchParamsTest, 
> SamplingAccumulatorTest, TestTaxonomyCombined, TestAddTaxonomy]
>     [junit] NOTE: Linux 3.2.0-24-generic amd64/Oracle Corporation 1.7.0_01 
> (64-bit)/cpus=8,threads=1,free=171017984,total=269352960
>     [junit] ------------- ---------------- ---------------
>     [junit] TEST org.apache.lucene.facet.taxonomy.directory.TestAddTaxonomy 
> FAILED
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to