]
Tristan Tarrant updated ISPN-9836:
----------------------------------
Fix Version/s: 10.0.0.Beta1
(was: 10.0.0.Alpha3)
RemoteCacheImpl.ping may hang when the server is stopped
--------------------------------------------------------
Key: ISPN-9836
URL:
https://issues.jboss.org/browse/ISPN-9836
Project: Infinispan
Issue Type: Bug
Components: Server, Test Suite - Server
Affects Versions: 10.0.0.Alpha2, 9.4.4.Final
Reporter: Dan Berindei
Priority: Major
Fix For: 10.0.0.Beta1
Attachments:
RemoteStoreWrapperTest_infinispan-infinispan-cachestore-remote.log_20181218.log,
threaddump-org_infinispan_persistence_remote_RemoteStoreWrapperTest_tearDown-2018-12-17-25284.log
{{RemoteStoreWrapperTest.tearDown()}} first stops the server, then it stops the remote
store connected to the server. Sometimes the store cannot be stopped because it is blocked
in an availability check for > 5 min:
{noformat}
"testng-RemoteStoreWrapperTest" #14 prio=5 os_prio=0 tid=0x00007f1c74a1e000
nid=0x62e0 waiting on condition [0x00007f1c3cde4000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c00028f8> (a
java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
at
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:943)
at
org.infinispan.persistence.manager.PersistenceManagerImpl.stop(PersistenceManagerImpl.java:214)
at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:181)
at
org.infinispan.factories.impl.BasicComponentRegistryImpl.performStop(BasicComponentRegistryImpl.java:599)
at
org.infinispan.factories.impl.BasicComponentRegistryImpl.stopWrapper(BasicComponentRegistryImpl.java:588)
at
org.infinispan.factories.impl.BasicComponentRegistryImpl.stop(BasicComponentRegistryImpl.java:461)
at
org.infinispan.factories.AbstractComponentRegistry.internalStop(AbstractComponentRegistry.java:441)
at
org.infinispan.factories.AbstractComponentRegistry.stop(AbstractComponentRegistry.java:376)
at org.infinispan.cache.impl.CacheImpl.performImmediateShutdown(CacheImpl.java:1159)
at org.infinispan.cache.impl.CacheImpl.stop(CacheImpl.java:1124)
at
org.infinispan.cache.impl.AbstractDelegatingCache.stop(AbstractDelegatingCache.java:520)
at org.infinispan.manager.DefaultCacheManager.terminate(DefaultCacheManager.java:734)
at org.infinispan.manager.DefaultCacheManager.stopCaches(DefaultCacheManager.java:786)
at org.infinispan.manager.DefaultCacheManager.stop(DefaultCacheManager.java:762)
at org.infinispan.test.TestingUtil.killCacheManagers(TestingUtil.java:839)
at org.infinispan.test.TestingUtil.killCacheManagers(TestingUtil.java:830)
at
org.infinispan.persistence.remote.RemoteStoreWrapperTest.tearDown(RemoteStoreWrapperTest.java:86)
"persistence-thread-RemoteStoreWrapperTest-NodeB-p120-t1" #215 daemon prio=5
os_prio=0 tid=0x00007f1be128f000 nid=0x63b7 waiting on condition [0x00007f1bdd3d4000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c40059a8> (a
java.util.concurrent.CompletableFuture$Signaller)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1695)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1775)
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915)
at org.infinispan.client.hotrod.impl.Util.await(Util.java:21)
at org.infinispan.client.hotrod.impl.RemoteCacheImpl.ping(RemoteCacheImpl.java:542)
at org.infinispan.persistence.remote.RemoteStore.isAvailable(RemoteStore.java:128)
at
org.infinispan.persistence.manager.PersistenceManagerImpl$StoreStatus.availabilityChanged(PersistenceManagerImpl.java:1252)
- locked <0x00000000c00027e8> (a
org.infinispan.persistence.manager.PersistenceManagerImpl$StoreStatus)
at
org.infinispan.persistence.manager.PersistenceManagerImpl.pollStoreAvailability(PersistenceManagerImpl.java:194)
at
org.infinispan.persistence.manager.PersistenceManagerImpl$$Lambda$383/1386794082.run(Unknown
Source)
{noformat}