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

Hitesh Khamesra edited comment on GEODE-1738 at 8/25/16 10:47 PM:
------------------------------------------------------------------

Test is just trying to disconnect DS continuously on certain condition. This 
disconnect picks static instance of GemfireCacheImpl. Thus, while creating 
cache test needs to make sure that other thread is not disconnecting. GEM-900 
fix may help here for some extent(Then test may see exception some other place).

/////////////////////////////
 public void run() {
        DistributionMessageObserver.setInstance(new 
DistributionMessageObserver() {

          @Override
          public void beforeSendMessage(DistributionManager dm,
              DistributionMessage msg) {
            if(msg instanceof ManageBucketReplyMessage) {
              Cache cache = getCache();
              disconnectFromDS();
              
              await().atMost(30, SECONDS).until(() -> {return (cache == null || 
cache.isClosed());});
              LogWriterUtils.getLogWriter().info("Cache is confirmed closed");
            }
          }
        });
//////////////////////////////


was (Author: hitesh.khamesra):
Test is just trying to disconnect DS continuously on certain condition. This 
disconnect picks static instance of GemfireCacheImpl. Thus test needs to make 
sure while creating cache that other thread is not disconnecting. GEM-900 fix 
may help here for some extent(Then test may see exception some other place).

/////////////////////////////
 public void run() {
        DistributionMessageObserver.setInstance(new 
DistributionMessageObserver() {

          @Override
          public void beforeSendMessage(DistributionManager dm,
              DistributionMessage msg) {
            if(msg instanceof ManageBucketReplyMessage) {
              Cache cache = getCache();
              disconnectFromDS();
              
              await().atMost(30, SECONDS).until(() -> {return (cache == null || 
cache.isClosed());});
              LogWriterUtils.getLogWriter().info("Cache is confirmed closed");
            }
          }
        });
//////////////////////////////

> CI Failure: 
> PersistentPartitionedRegionOldConfigDUnitTest.testCrashDuringBucketCreation 
> CacheClosedException
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-1738
>                 URL: https://issues.apache.org/jira/browse/GEODE-1738
>             Project: Geode
>          Issue Type: Bug
>          Components: regions
>    Affects Versions: 1.0.0-incubating
>            Reporter: Scott Jewell
>              Labels: ci
>
> GemFire Distributed Tests build 3526
> CacheClosedException
> com.gemstone.gemfire.test.dunit.RMIException: While invoking 
> com.gemstone.gemfire.internal.cache.partitioned.PersistentPartitionedRegionTestBase$14.run
>  in VM 0 running on Host cc4-rh6.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:293)
>       at 
> com.gemstone.gemfire.internal.cache.partitioned.PersistentPartitionedRegionTestBase.createPR(PersistentPartitionedRegionTestBase.java:298)
>       at 
> com.gemstone.gemfire.internal.cache.partitioned.PersistentPartitionedRegionDUnitTest.testCrashDuringBucketCreation(PersistentPartitionedRegionDUnitTest.java:1514)
>       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:114)
>       at 
> org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:57)
>       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.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: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.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
>       at 
> org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
>       at 
> org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:377)
>       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: com.gemstone.gemfire.cache.CacheClosedException: The cache is 
> closed.
>       at 
> com.gemstone.gemfire.internal.cache.GemFireCacheImpl$Stopper.generateCancelledException(GemFireCacheImpl.java:1434)
>       at 
> com.gemstone.gemfire.CancelCriterion.checkCancelInProgress(CancelCriterion.java:91)
>       at 
> com.gemstone.gemfire.internal.cache.GemFireCacheImpl.createVMRegion(GemFireCacheImpl.java:3033)
>       at 
> com.gemstone.gemfire.pdx.internal.PeerTypeRegistration.initialize(PeerTypeRegistration.java:187)
>       at 
> com.gemstone.gemfire.pdx.internal.TypeRegistry.initialize(TypeRegistry.java:112)
>       at 
> com.gemstone.gemfire.internal.cache.GemFireCacheImpl.initializePdxRegistry(GemFireCacheImpl.java:1361)
>       at 
> com.gemstone.gemfire.internal.cache.GemFireCacheImpl.initializeDeclarativeCache(GemFireCacheImpl.java:1295)
>       at 
> com.gemstone.gemfire.internal.cache.GemFireCacheImpl.initialize(GemFireCacheImpl.java:1121)
>       at 
> com.gemstone.gemfire.internal.cache.GemFireCacheImpl.basicCreate(GemFireCacheImpl.java:763)
>       at 
> com.gemstone.gemfire.internal.cache.GemFireCacheImpl.create(GemFireCacheImpl.java:751)
>       at com.gemstone.gemfire.cache.CacheFactory.create(CacheFactory.java:181)
>       at com.gemstone.gemfire.cache.CacheFactory.create(CacheFactory.java:172)
>       at 
> com.gemstone.gemfire.test.dunit.cache.internal.JUnit4CacheTestCase.createCache(JUnit4CacheTestCase.java:120)
>       at 
> com.gemstone.gemfire.test.dunit.cache.internal.JUnit4CacheTestCase.getCache(JUnit4CacheTestCase.java:263)
>       at 
> com.gemstone.gemfire.test.dunit.cache.internal.JUnit4CacheTestCase.getCache(JUnit4CacheTestCase.java:242)
>       at 
> com.gemstone.gemfire.test.dunit.cache.internal.JUnit4CacheTestCase.getCache(JUnit4CacheTestCase.java:234)
>       at 
> com.gemstone.gemfire.internal.cache.partitioned.PersistentPartitionedRegionTestBase$14.run(PersistentPartitionedRegionTestBase.java:401)
>       at sun.reflect.GeneratedMethodAccessor396.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:268)
>       at 
> com.gemstone.gemfire.test.dunit.standalone.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:82)
>       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$95(TCPTransport.java:683)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
>       ... 3 more



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

Reply via email to