[infinispan-issues] [JBoss JIRA] (ISPN-4258) *MassIndexing.testReindexing test fails randomly on RHEL7

Sanne Grinovero (JIRA) issues at jboss.org
Wed Aug 13 08:58:30 EDT 2014


    [ https://issues.jboss.org/browse/ISPN-4258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12992608#comment-12992608 ] 

Sanne Grinovero commented on ISPN-4258:
---------------------------------------

I guess it's not a deadlock but high contention: the {{SharedIndexWorkspaceImpl}} is the one which by contract requires the indexwriter lock for each operation, then releases it.
This backend is not suggested for high load, so this problem would be fixed by using the exclusive index option: that would replace the stack with usage of {{org.hibernate.search.backend.impl.lucene.ExclusiveIndexWorkspaceImpl}} which is non-blocking.

An alternative could be to improve the {{SharedIndexWorkspaceImpl}} to have a "not fair" option which allows a different request to reuse an IW which is already open, if it's still open, to postpone the close operation for as long as work is incoming. You think we should do that? It's probably a useful mode for other situations too, but it implies other requestors might never receive access to an IW under high load.. still under high load the Shared implementation is an horrible choice anyway as it would generate the contention shown above.

>  *MassIndexing.testReindexing test fails randomly on RHEL7 
> -----------------------------------------------------------
>
>                 Key: ISPN-4258
>                 URL: https://issues.jboss.org/browse/ISPN-4258
>             Project: Infinispan
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Embedded Querying
>    Affects Versions: 7.0.0.Alpha3
>            Reporter: Vitalii Chepeliuk
>            Assignee: Gustavo Fernandes
>              Labels: testsuite_stability
>         Attachments: MassIndexingTests.zip
>
>
> Following tests fail with assertion error
> DistProgrammaticMassIndexTest.testReindexing
> TopologyAwareDistMassIndexingTest.testReindexing
> DistributedMassIndexingTest.testReindexing
> DistributedMassIndexingViaJmxTest.testReindexing
> DistributedMassIndexingViaJmxTest.createBeforeClass
> {noformat}
> java.lang.AssertionError: expected:<3> but was:<0>
> 	at org.junit.Assert.fail(Assert.java:88)
> 	at org.junit.Assert.failNotEquals(Assert.java:743)
> 	at org.junit.Assert.assertEquals(Assert.java:118)
> 	at org.junit.Assert.assertEquals(Assert.java:555)
> 	at org.junit.Assert.assertEquals(Assert.java:542)
> 	at org.infinispan.query.distributed.DistributedMassIndexingTest.verifyFindsCar(DistributedMassIndexingTest.java:89)
> 	at org.infinispan.query.distributed.DistributedMassIndexingTest.verifyFindsCar(DistributedMassIndexingTest.java:80)
> 	at org.infinispan.query.distributed.DistributedMassIndexingTest.testReindexing(DistributedMassIndexingTest.java:58)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
> 	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
> 	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
> 	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
> 	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
> 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
> 	at org.testng.TestRunner.privateRun(TestRunner.java:767)
> 	at org.testng.TestRunner.run(TestRunner.java:617)
> 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
> 	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
> 	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
> 	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:744)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the infinispan-issues mailing list