[JBoss JIRA] (ISPN-10186) Error stopping cache manager
by Ryan Emerson (Jira)
[ https://issues.jboss.org/browse/ISPN-10186?page=com.atlassian.jira.plugin... ]
Ryan Emerson resolved ISPN-10186.
---------------------------------
Fix Version/s: (was: 10.0.0.Final)
Resolution: Done
> Error stopping cache manager
> ----------------------------
>
> Key: ISPN-10186
> URL: https://issues.jboss.org/browse/ISPN-10186
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 10.0.0.Beta3
> Reporter: Galder Zamarreño
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 10.0.0.CR3
>
>
> {code}
> [m [1;31m09:44:50,038 ERROR org.infinispan.factories.impl.BasicComponentRegistryImpl [] - Error stopping component org.infinispan.counter.api.CounterManager
> org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.counter.impl.manager.EmbeddedCounterManager.stop() on object of type EmbeddedCounterManager
> at org.infinispan.commons.util.SecurityActions.lambda$invokeAccessibly$0(SecurityActions.java:83)
> at org.infinispan.commons.util.SecurityActions.doPrivileged(SecurityActions.java:71)
> at org.infinispan.commons.util.SecurityActions.invokeAccessibly(SecurityActions.java:76)
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:181)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.performStop(BasicComponentRegistryImpl.java:601)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.stopWrapper(BasicComponentRegistryImpl.java:590)
> at org.infinispan.factories.impl.BasicComponentRegistryImpl.stop(BasicComponentRegistryImpl.java:461)
> at org.infinispan.factories.AbstractComponentRegistry.internalStop(AbstractComponentRegistry.java:431)
> at org.infinispan.factories.AbstractComponentRegistry.stop(AbstractComponentRegistry.java:366)
> at org.infinispan.manager.DefaultCacheManager.stop(DefaultCacheManager.java:777)
> at lucom.ip.web.context.WebApplicationInitializer.destroy(WebApplicationInitializer.java:815)
> at lucom.ip.web.context.WebApplicationInitializer.contextDestroyed(WebApplicationInitializer.java:711)
> at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4624)
> at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5263)
> at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
> at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1443)
> at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1432)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
> at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:999)
> at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
> at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1443)
> at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1432)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
> at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:999)
> at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
> at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:471)
> at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
> at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:791)
> at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
> at org.apache.catalina.startup.Catalina.stop(Catalina.java:755)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:717)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
> Caused by: java.util.concurrent.CompletionException: org.infinispan.commons.CacheException: org.infinispan.IllegalLifecycleStateException: Cache container has been stopped and cannot be reused. Recreate the cache container.
> at org.infinispan.util.concurrent.CompletionStages.join(CompletionStages.java:68)
> at org.infinispan.notifications.Listenable.removeListener(Listenable.java:43)
> at org.infinispan.cache.impl.AbstractDelegatingCache.removeListener(AbstractDelegatingCache.java:561)
> at org.infinispan.counter.impl.listener.CounterManagerNotificationManager.stop(CounterManagerNotificationManager.java:130)
> at org.infinispan.counter.impl.manager.EmbeddedCounterManager.stop(EmbeddedCounterManager.java:101)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at org.infinispan.commons.util.SecurityActions.lambda$invokeAccessibly$0(SecurityActions.java:79)
> ... 40 more
> Caused by: org.infinispan.commons.CacheException: org.infinispan.IllegalLifecycleStateException: Cache container has been stopped and cannot be reused. Recreate the cache container.
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl.lambda$removeListenerAsync$16(CacheNotifierImpl.java:2039)
> at org.infinispan.manager.impl.LocalClusterExecutor.lambda$submitConsumer$3(LocalClusterExecutor.java:78)
> at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
> at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
> at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
> at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
> at org.infinispan.manager.impl.LocalClusterExecutor.lambda$localInvocation$6(LocalClusterExecutor.java:97)
> at org.infinispan.util.concurrent.BlockingTaskAwareExecutorServiceImpl$RunnableWrapper.run(BlockingTaskAwareExecutorServiceImpl.java:212)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: org.infinispan.IllegalLifecycleStateException: Cache container has been stopped and cannot be reused. Recreate the cache container.
> at org.infinispan.manager.DefaultCacheManager.assertIsNotTerminated(DefaultCacheManager.java:1023)
> at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:474)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:470)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:456)
> at org.infinispan.manager.impl.AbstractDelegatingEmbeddedCacheManager.getCache(AbstractDelegatingEmbeddedCacheManager.java:188)
> at org.infinispan.manager.impl.UnwrappingEmbeddedCacheManager.getCache(UnwrappingEmbeddedCacheManager.java:25)
> at org.infinispan.notifications.cachelistener.cluster.ClusterListenerRemoveCallable.apply(ClusterListenerRemoveCallable.java:39)
> at org.infinispan.notifications.cachelistener.cluster.ClusterListenerRemoveCallable.apply(ClusterListenerRemoveCallable.java:25)
> at org.infinispan.manager.impl.LocalClusterExecutor.lambda$localInvocation$6(LocalClusterExecutor.java:94)
> ... 4 more
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 2 months
[JBoss JIRA] (ISPN-9541) Module initialization is not thread-safe
by Ryan Emerson (Jira)
[ https://issues.jboss.org/browse/ISPN-9541?page=com.atlassian.jira.plugin.... ]
Ryan Emerson resolved ISPN-9541.
--------------------------------
Fix Version/s: (was: 10.0.0.Final)
Resolution: Done
> Module initialization is not thread-safe
> ----------------------------------------
>
> Key: ISPN-9541
> URL: https://issues.jboss.org/browse/ISPN-9541
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Server
> Affects Versions: 9.4.0.CR3
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 10.0.0.CR3
>
>
> In my ISPN-9127 fix I created a {{BasicComponentRegistry}} interface that represents a mostly-read-only collection of components. It has {{replaceComponent()}} method and a {{rewire()}} method for testing purposes, but it turns out modules were also relying on the ability to replace existing components in order to work.
> Replacing global components is normally safe during the {{ModuleLifecycle.cacheManagerStarting()}}, because none of the components are started yet, so when a component starts later we can still start its dependencies first. But because some modules starts some global components, e.g. by calling {{manager.getCache(name)}}, that assumption breaks.
> The {{infinispan-server-event-logger}} module is a bit more sneaky: it doesn't replace a component, instead it replaces the actual implementation of the event logger in the {{EventLogManager}} component. Events that happen before the module's {{cacheManagerStarting()}} or after {{cacheManagerStopping()}} will be silently dropped from the persistent event log.
> I am investigating making the module a factory of factories. Instead of having a monolitic {{cacheManagerStarting()}} method, it could define a set of components that it can create, and a set of components that should be started before the cache manager is "running". We probably need a way to depend on other modules as well, maybe reusing the {{@Inject}} and {{@ComponentName}} annotations.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 2 months
[JBoss JIRA] (ISPN-10707) Jcache: loaded entries should use ExpiryPolicy.getExpiryForCreation()
by Dan Berindei (Jira)
[ https://issues.jboss.org/browse/ISPN-10707?page=com.atlassian.jira.plugin... ]
Dan Berindei updated ISPN-10707:
--------------------------------
Status: Open (was: New)
> Jcache: loaded entries should use ExpiryPolicy.getExpiryForCreation()
> ---------------------------------------------------------------------
>
> Key: ISPN-10707
> URL: https://issues.jboss.org/browse/ISPN-10707
> Project: Infinispan
> Issue Type: Bug
> Components: Core, JCache
> Affects Versions: 10.0.0.CR2
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 10.0.0.CR3
>
>
> {{MVCCEntry.isLoaded()}} is not used in the core, but JCache uses it do decide whether to call {{ExpiryPolicy.getExpiryForCreation()}} or {{ExpiryPolicy.getExpiryForAccess()}}.
> ISPN-8086 accidentally removed the {{ReadCommittedEntry}} implementation along with {{CacheEntry.isLoaded()}}, but the {{CacheExpiryTest}} test failure got ignored because Jenkins ignores the TCK test suite results (ISPN-10379).
> {noformat}
> [OK: 14, KO: 1, SKIP: 0] Test failed: CacheExpiryTest.invokeAllReadThroughEnabledGetOnNonExistentEntry
> java.lang.AssertionError:
> Expected: is <0>
> but: was <5>
> at org.jsr107.tck.expiry.CacheExpiryTest.invokeAllReadThroughEnabledGetOnNonExistentEntry(CacheExpiryTest.java:1202)
> [OK: 15, KO: 2, SKIP: 0] Test failed: CacheExpiryTest.invokeGetValueWithReadThroughForNonExistentEntryShouldCallGetExpiryForCreatedEntry
> java.lang.AssertionError:
> Expected: is <0>
> but: was <1>
> at org.jsr107.tck.expiry.CacheExpiryTest.invokeGetValueWithReadThroughForNonExistentEntryShouldCallGetExpiryForCreatedEntry(CacheExpiryTest.java:1110)
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 2 months
[JBoss JIRA] (ISPN-10707) Jcache: loaded entries should use ExpiryPolicy.getExpiryForCreation()
by Dan Berindei (Jira)
Dan Berindei created ISPN-10707:
-----------------------------------
Summary: Jcache: loaded entries should use ExpiryPolicy.getExpiryForCreation()
Key: ISPN-10707
URL: https://issues.jboss.org/browse/ISPN-10707
Project: Infinispan
Issue Type: Bug
Components: Core, JCache
Affects Versions: 10.0.0.CR2
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 10.0.0.CR3
{{MVCCEntry.isLoaded()}} is not used in the core, but JCache uses it do decide whether to call {{ExpiryPolicy.getExpiryForCreation()}} or {{ExpiryPolicy.getExpiryForAccess()}}.
ISPN-8086 accidentally removed the {{ReadCommittedEntry}} implementation along with {{CacheEntry.isLoaded()}}, but the {{CacheExpiryTest}} test failure got ignored because Jenkins ignores the TCK test suite results (ISPN-10379).
{noformat}
[OK: 14, KO: 1, SKIP: 0] Test failed: CacheExpiryTest.invokeAllReadThroughEnabledGetOnNonExistentEntry
java.lang.AssertionError:
Expected: is <0>
but: was <5>
at org.jsr107.tck.expiry.CacheExpiryTest.invokeAllReadThroughEnabledGetOnNonExistentEntry(CacheExpiryTest.java:1202)
[OK: 15, KO: 2, SKIP: 0] Test failed: CacheExpiryTest.invokeGetValueWithReadThroughForNonExistentEntryShouldCallGetExpiryForCreatedEntry
java.lang.AssertionError:
Expected: is <0>
but: was <1>
at org.jsr107.tck.expiry.CacheExpiryTest.invokeGetValueWithReadThroughForNonExistentEntryShouldCallGetExpiryForCreatedEntry(CacheExpiryTest.java:1110)
{noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
5 years, 2 months