geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Darrel Schneider (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GEODE-1602) CI failure MemoryThresholdsOffHeapDUnitTest.testPRClientPutRejection
Date Fri, 01 Jul 2016 23:52:11 GMT

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

Darrel Schneider commented on GEODE-1602:
-----------------------------------------

The OffHeapMemoryMonitorObserverImpl test hook this test installs expected the OffHeapMemoryMonitor
to tell it that it was going to send an event. In this test it expects this because it was
normal and because of a large put should have gone critical.
We know that it did call beginUpdateMemoryUsed() because beginUpdateMemoryUsed was set to
true. Also beginUpdateMemoryUsed_bytesUsed was set to the value we expect.
But it also set beginUpdateMemoryUsed_willSendEvent to false and we expected this to be true.
This indicates that when OffHeapMemoryMonitor.updateMemoryUsed called mightSendEvent that
it returned false.
What we expect in this test is that in mightSendEvent it would see the oldState set to NORMAL
and the new one set to EVICTION_DISABLED_CRITICAL. But this must not be happening since it
returns false (which means that oldState == newState).
So I think the MemoryThresholds mightSendEvent must not be what we expect.
We should modify mightSendEvent to record the thresholds it used when it returns false in
the OffHeapMemoryMonitorObserverIml. Since MemoryThresholds is an immutable object it can
do this by just passing a reference.
Then when we hit this assertion we can also print out the thresholds (oldState and newState
should also be recorded and printed). I think we may see that the thresholds in this case
do not have critical enabled which would cause this failure.


> CI failure MemoryThresholdsOffHeapDUnitTest.testPRClientPutRejection
> --------------------------------------------------------------------
>
>                 Key: GEODE-1602
>                 URL: https://issues.apache.org/jira/browse/GEODE-1602
>             Project: Geode
>          Issue Type: Bug
>          Components: offheap
>            Reporter: Dan Smith
>              Labels: ci
>
> Revision: 7ad9cc9451212f1c8a0acba3ec78a9eb562d3780 
> {noformat}
> com.gemstone.gemfire.test.dunit.RMIException: While invoking com.gemstone.gemfire.cache.management.MemoryThresholdsOffHeapDUnitTest$41.call
in VM 0 running on Host buildtest.gemstone.com with 4 VMs
> 	at com.gemstone.gemfire.test.dunit.VM.invoke(VM.java:389)
> 	at com.gemstone.gemfire.test.dunit.VM.invoke(VM.java:355)
> 	at com.gemstone.gemfire.test.dunit.VM.invoke(VM.java:320)
> 	at com.gemstone.gemfire.cache.management.MemoryThresholdsOffHeapDUnitTest.doClientServerTest(MemoryThresholdsOffHeapDUnitTest.java:1401)
> 	at com.gemstone.gemfire.cache.management.MemoryThresholdsOffHeapDUnitTest.testPRClientPutRejection(MemoryThresholdsOffHeapDUnitTest.java:1302)
> 	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.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.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.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:112)
> 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:56)
> 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:66)
> 	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: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:109)
> 	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.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
> 	at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
> 	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: java.lang.AssertionError: expected:<true> but was:<false>
> 	at org.junit.Assert.fail(Assert.java:88)
> 	at org.junit.Assert.failNotEquals(Assert.java:834)
> 	at org.junit.Assert.assertEquals(Assert.java:118)
> 	at org.junit.Assert.assertEquals(Assert.java:144)
> 	at com.gemstone.gemfire.cache.management.MemoryThresholdsOffHeapDUnitTest$OffHeapMemoryMonitorObserverImpl.verifyBeginUpdateMemoryUsed(MemoryThresholdsOffHeapDUnitTest.java:1559)
> 	at com.gemstone.gemfire.cache.management.MemoryThresholdsOffHeapDUnitTest$41.call(MemoryThresholdsOffHeapDUnitTest.java:1425)
> 	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 hydra.MethExecutor.executeObject(MethExecutor.java:268)
> 	at com.gemstone.gemfire.test.dunit.standalone.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:82)
> 	at sun.reflect.GeneratedMethodAccessor9.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$95(TCPTransport.java:683)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message