You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Jason Huynh (JIRA)" <ji...@apache.org> on 2015/10/23 20:21:27 UTC
[jira] [Commented] (GEODE-480) CI failure:
ConcurrentIndexUpdateWithoutWLDUnitTest.testRangeIndex
[ https://issues.apache.org/jira/browse/GEODE-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14971538#comment-14971538 ]
Jason Huynh commented on GEODE-480:
-----------------------------------
This actually revealed a product issue. The numValues integer in RangeIndex is not thread safe in that the process in updating the value is not atomic.
The test itself (along with all tests in this class as well as many other similar written tests that use the PRQueryDUnitHelper) needs to be fixed as it has misleading thread join timeout times as well as heavy reliance on randomness.
> CI failure: ConcurrentIndexUpdateWithoutWLDUnitTest.testRangeIndex
> ------------------------------------------------------------------
>
> Key: GEODE-480
> URL: https://issues.apache.org/jira/browse/GEODE-480
> Project: Geode
> Issue Type: Bug
> Reporter: Sai Boorlagadda
> Assignee: Jason Huynh
> Labels: CI
>
> {noformat}
> Error Message
> dunit.RMIException: While invoking com.gemstone.gemfire.cache.query.internal.index.ConcurrentIndexUpdateWithoutWLDUnitTest$1.run in VM 0 running on Host angola.gemstone.com with 4 VMs
> Stacktrace
> dunit.RMIException: While invoking com.gemstone.gemfire.cache.query.internal.index.ConcurrentIndexUpdateWithoutWLDUnitTest$1.run in VM 0 running on Host angola.gemstone.com with 4 VMs
> at dunit.VM.invoke(VM.java:360)
> at dunit.VM.invoke(VM.java:303)
> at dunit.VM.invoke(VM.java:257)
> at com.gemstone.gemfire.cache.query.internal.index.ConcurrentIndexUpdateWithoutWLDUnitTest.testRangeIndex(ConcurrentIndexUpdateWithoutWLDUnitTest.java:208)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at junit.framework.TestCase.runTest(TestCase.java:176)
> at junit.framework.TestCase.runBare(TestCase.java:141)
> at junit.framework.TestResult$1.protect(TestResult.java:122)
> at junit.framework.TestResult.runProtected(TestResult.java:142)
> at junit.framework.TestResult.run(TestResult.java:125)
> at junit.framework.TestCase.run(TestCase.java:129)
> at junit.framework.TestSuite.runTest(TestSuite.java:252)
> at junit.framework.TestSuite.run(TestSuite.java:247)
> at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
> at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86)
> at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
> at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:64)
> at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
> at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
> at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
> at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
> at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
> at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:106)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
> at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
> at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
> at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: junit.framework.AssertionFailedError: No of index entries NOT equals the No of RegionEntries for index:secidIndex expected:<36> but was:<37>
> at junit.framework.Assert.fail(Assert.java:57)
> at junit.framework.Assert.failNotEquals(Assert.java:329)
> at junit.framework.Assert.assertEquals(Assert.java:78)
> at junit.framework.Assert.assertEquals(Assert.java:234)
> at junit.framework.TestCase.assertEquals(TestCase.java:401)
> at com.gemstone.gemfire.cache.query.internal.index.ConcurrentIndexUpdateWithoutWLDUnitTest$IndexValidator.validate(ConcurrentIndexUpdateWithoutWLDUnitTest.java:626)
> at com.gemstone.gemfire.cache.query.internal.index.ConcurrentIndexUpdateWithoutWLDUnitTest$IndexValidator.validate(ConcurrentIndexUpdateWithoutWLDUnitTest.java:439)
> at com.gemstone.gemfire.cache.query.internal.index.ConcurrentIndexUpdateWithoutWLDUnitTest$1.run2(ConcurrentIndexUpdateWithoutWLDUnitTest.java:179)
> at com.gemstone.gemfire.cache30.CacheSerializableRunnable.run(CacheSerializableRunnable.java:46)
> at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at hydra.MethExecutor.executeObject(MethExecutor.java:258)
> at dunit.standalone.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:68)
> at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
> at sun.rmi.transport.Transport$1.run(Transport.java:200)
> at sun.rmi.transport.Transport$1.run(Transport.java:197)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$241(TCPTransport.java:683)
> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$1/868282079.run(Unknown Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
> ... 3 more
> Standard Output
> Previously run tests: [PRQueryRemoteNodeExceptionDUnitTest, IndexTrackingQueryObserverDUnitTest, ConcurrentIndexOperationsOnOverflowRegionDUnitTest, MultiIndexCreationDUnitTest, InitializeIndexEntryDestroyQueryDUnitTest, ConcurrentIndexInitOnOverflowRegionDUnitTest, ConcurrentIndexUpdateWithInplaceObjectModFalseDUnitTest, CopyOnReadIndexDUnitTest, ConcurrentIndexUpdateWithoutWLDUnitTest]
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)