Details
-
Bug
-
Resolution: Obsolete
-
Minor
-
None
-
7.2.0.Alpha1, 7.1.1.Final
-
None
Description
The InfinispanDirectoryProvider tries to start the metadata, data, and locking caches when it starts up, with DefaultCacheManager.startCaches().
However, when one of these caches (e.g. the metadata cache) starts, the LifecycleManager.cacheStarting(), which can then try to start the InfinispanDirectoryProvider again:
"CacheStartThread,null,LuceneIndexesMetadata" prio=10 tid=0x00007f5f74484000 nid=0xe42 in Object.wait() [0x00007f5efff48000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00000000c2180000> (a org.infinispan.manager.DefaultCacheManager$1) at java.lang.Thread.join(Thread.java:1281) - locked <0x00000000c2180000> (a org.infinispan.manager.DefaultCacheManager$1) at java.lang.Thread.join(Thread.java:1355) at org.infinispan.manager.DefaultCacheManager.startCaches(DefaultCacheManager.java:465) at org.hibernate.search.infinispan.spi.InfinispanDirectoryProvider.start(InfinispanDirectoryProvider.java:84) at org.hibernate.search.indexes.spi.DirectoryBasedIndexManager.initialize(DirectoryBasedIndexManager.java:88) at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:256) at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManager(IndexManagerHolder.java:513) - locked <0x00000000ce6001d0> (a org.hibernate.search.indexes.impl.IndexManagerHolder) at org.hibernate.search.indexes.impl.IndexManagerHolder.createIndexManagers(IndexManagerHolder.java:482) at org.hibernate.search.indexes.impl.IndexManagerHolder.buildEntityIndexBinding(IndexManagerHolder.java:91) - locked <0x00000000ce6001d0> (a org.hibernate.search.indexes.impl.IndexManagerHolder) at org.hibernate.search.spi.SearchIntegratorBuilder.initDocumentBuilders(SearchIntegratorBuilder.java:366) at org.hibernate.search.spi.SearchIntegratorBuilder.buildNewSearchFactory(SearchIntegratorBuilder.java:204) at org.hibernate.search.spi.SearchIntegratorBuilder.buildSearchIntegrator(SearchIntegratorBuilder.java:122) at org.hibernate.search.spi.SearchFactoryBuilder.buildSearchFactory(SearchFactoryBuilder.java:35) at org.infinispan.query.impl.LifecycleManager.getSearchFactory(LifecycleManager.java:260) at org.infinispan.query.impl.LifecycleManager.cacheStarting(LifecycleManager.java:102) at org.infinispan.factories.ComponentRegistry.notifyCacheStarting(ComponentRegistry.java:230) at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:216) at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:814) at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:591) at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:546) at org.infinispan.manager.DefaultCacheManager.access$100(DefaultCacheManager.java:115) at org.infinispan.manager.DefaultCacheManager$1.run(DefaultCacheManager.java:452)
This can hang the test, the attached thread dumps show EmbeddedCompatTest and IndexCacheStopTest.