You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Dale Emery (Jira)" <ji...@apache.org> on 2020/03/30 16:44:00 UTC

[jira] [Commented] (GEODE-2458) RegionManagementDUnitTest fails with AssertionError in verifyMemberNotifications

    [ https://issues.apache.org/jira/browse/GEODE-2458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17071132#comment-17071132 ] 

Dale Emery commented on GEODE-2458:
-----------------------------------

Failure in CI today: https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/DistributedTestOpenJDK8/builds/1690

Test results: http://files.apachegeode-ci.info/builds/apache-develop-main/1.13.0-SNAPSHOT.0128/test-results/distributedTest/1585547397/

Stack trace:

{noformat}
org.apache.geode.test.dunit.RMIException: While invoking org.apache.geode.management.RegionManagementDUnitTest$$Lambda$54/840813390.run in VM 0 running on Host 202d105afa0a with 4 VMs
	at org.apache.geode.test.dunit.VM.executeMethodOnObject(VM.java:610)
	at org.apache.geode.test.dunit.VM.invoke(VM.java:437)
	at org.apache.geode.management.RegionManagementDUnitTest.testPartitionedRegion(RegionManagementDUnitTest.java:215)
	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:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.apache.geode.test.dunit.rules.AbstractDistributedRule$1.evaluate(AbstractDistributedRule.java:59)
	at org.apache.geode.test.dunit.rules.AbstractDistributedRule$1.evaluate(AbstractDistributedRule.java:59)
	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
	at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
	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:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
	at org.gradle.internal.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:118)
	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:498)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157)
	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a lambda expression in org.apache.geode.management.RegionManagementDUnitTest that uses int 
Expected size:<6> but was:<4> in:
<[javax.management.Notification[source=172.17.0.19(246)<v24>-41001][type=gemfire.distributedsystem.cache.region.created][message=Region Created With Name /RegionManagementDUnitTest_testPartitionedRegion_partitionedRegion],
    javax.management.Notification[source=172.17.0.19(274)<v26>-41003][type=gemfire.distributedsystem.cache.region.created][message=Region Created With Name /RegionManagementDUnitTest_testPartitionedRegion_partitionedRegion],
    javax.management.Notification[source=172.17.0.19(246)<v24>-41001][type=gemfire.distributedsystem.cache.region.closed][message=Region Destroyed/Closed With Name /RegionManagementDUnitTest_testPartitionedRegion_partitionedRegion],
    javax.management.Notification[source=172.17.0.19(274)<v26>-41003][type=gemfire.distributedsystem.cache.region.closed][message=Region Destroyed/Closed With Name /RegionManagementDUnitTest_testPartitionedRegion_partitionedRegion]]> within 300 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:145)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:122)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:32)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:902)
	at org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:723)
	at org.apache.geode.management.RegionManagementDUnitTest.verifyMemberNotifications(RegionManagementDUnitTest.java:652)
	at org.apache.geode.management.RegionManagementDUnitTest.lambda$testPartitionedRegion$bb17a952$5(RegionManagementDUnitTest.java:215)
	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:498)
	at org.apache.geode.test.dunit.internal.MethodInvoker.executeObject(MethodInvoker.java:123)
	at org.apache.geode.test.dunit.internal.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:78)
	at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
	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:573)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	... 1 more
Caused by: java.lang.AssertionError: 
Expected size:<6> but was:<4> in:
<[javax.management.Notification[source=172.17.0.19(246)<v24>-41001][type=gemfire.distributedsystem.cache.region.created][message=Region Created With Name /RegionManagementDUnitTest_testPartitionedRegion_partitionedRegion],
    javax.management.Notification[source=172.17.0.19(274)<v26>-41003][type=gemfire.distributedsystem.cache.region.created][message=Region Created With Name /RegionManagementDUnitTest_testPartitionedRegion_partitionedRegion],
    javax.management.Notification[source=172.17.0.19(246)<v24>-41001][type=gemfire.distributedsystem.cache.region.closed][message=Region Destroyed/Closed With Name /RegionManagementDUnitTest_testPartitionedRegion_partitionedRegion],
    javax.management.Notification[source=172.17.0.19(274)<v26>-41003][type=gemfire.distributedsystem.cache.region.closed][message=Region Destroyed/Closed With Name /RegionManagementDUnitTest_testPartitionedRegion_partitionedRegion]]>
	at org.apache.geode.management.RegionManagementDUnitTest.lambda$verifyMemberNotifications$8(RegionManagementDUnitTest.java:652)
	at org.awaitility.core.AssertionCondition$1.eval(AssertionCondition.java:55)
	at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:201)
	at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:188)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	... 3 more
{noformat}


> RegionManagementDUnitTest fails with AssertionError in verifyMemberNotifications
> --------------------------------------------------------------------------------
>
>                 Key: GEODE-2458
>                 URL: https://issues.apache.org/jira/browse/GEODE-2458
>             Project: Geode
>          Issue Type: Bug
>          Components: management, tests
>            Reporter: Kirk Lund
>            Assignee: Kirk Lund
>            Priority: Major
>              Labels: Flaky
>             Fix For: 1.2.0
>
>
> This appears to be a race condition. The assertion finds 5 members when 6 is expected and then lists the members as part of the assertion message which then shows 6 members.
> {noformat}
> org.apache.geode.management.RegionManagementDUnitTest > testFixedPRRegionMBean FAILED
>     org.apache.geode.test.dunit.RMIException: While invoking org.apache.geode.test.dunit.NamedRunnable.run in VM 0 running on Host 242824700ff7 with 4 VMs
>         at org.apache.geode.test.dunit.VM.invoke(VM.java:377)
>         at org.apache.geode.test.dunit.VM.invoke(VM.java:347)
>         at org.apache.geode.test.dunit.VM.invoke(VM.java:280)
>         at org.apache.geode.management.RegionManagementDUnitTest.verifyMemberNotifications(RegionManagementDUnitTest.java:580)
>         at org.apache.geode.management.RegionManagementDUnitTest.testFixedPRRegionMBean(RegionManagementDUnitTest.java:227)
>         Caused by:
>         java.lang.AssertionError: 
>         Expected size:<6> but was:<5> in:
>         <[javax.management.Notification[source=172.17.0.4(161)<v37>-32770][type=gemfire.distributedsystem.cache.region.created][message=Region Created With Name /MANAGEMENT_FIXED_PR],
>             javax.management.Notification[source=172.17.0.4(166)<v38>-32771][type=gemfire.distributedsystem.cache.region.created][message=Region Created With Name /MANAGEMENT_FIXED_PR],
>             javax.management.Notification[source=172.17.0.4(171)<v39>-32772][type=gemfire.distributedsystem.cache.region.created][message=Region Created With Name /MANAGEMENT_FIXED_PR],
>             javax.management.Notification[source=172.17.0.4(161)<v37>-32770][type=gemfire.distributedsystem.cache.region.closed][message=Region Destroyed/Closed With Name /MANAGEMENT_FIXED_PR],
>             javax.management.Notification[source=172.17.0.4(166)<v38>-32771][type=gemfire.distributedsystem.cache.region.closed][message=Region Destroyed/Closed With Name /MANAGEMENT_FIXED_PR],
>             javax.management.Notification[source=172.17.0.4(171)<v39>-32772][type=gemfire.distributedsystem.cache.region.closed][message=Region Destroyed/Closed With Name /MANAGEMENT_FIXED_PR]]>
>             at org.apache.geode.management.RegionManagementDUnitTest.lambda$verifyMemberNotifications$3d0515b3$1(RegionManagementDUnitTest.java:582)
> {noformat}
> Each of these tests call verifyMemberNotifications and may fail with this timing failure:
> * testDistributedRegion
> * testFixedPRRegionMBean
> * testPartitionedRegion



--
This message was sent by Atlassian Jira
(v8.3.4#803005)