[infinispan-issues] [JBoss JIRA] (ISPN-6477) Security tests always log a warning during cache manager shutdown
Dan Berindei (JIRA)
issues at jboss.org
Fri Apr 8 12:04:00 EDT 2016
[ https://issues.jboss.org/browse/ISPN-6477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13189234#comment-13189234 ]
Dan Berindei commented on ISPN-6477:
------------------------------------
I gave up on changing {{unregisterCacheMBean()}} because {{cache.stop()}} removes the cache's component registry from the global registry, and I didn't want to add more special cases.
> Security tests always log a warning during cache manager shutdown
> -----------------------------------------------------------------
>
> Key: ISPN-6477
> URL: https://issues.jboss.org/browse/ISPN-6477
> Project: Infinispan
> Issue Type: Bug
> Components: Security, Test Suite - Core
> Affects Versions: 8.2.1.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Minor
> Fix For: 9.0.0.Alpha1
>
>
> The problem is that {{TestingUtil.killCacheManagers()}} first stops each cache explicitly, and then {{DefaultCacheManager.stop()}} fails because it can't access the global ACL cache to perform a security check:
> {noformat}
> 17:07:00,613 WARN (testng-ExecutionAuthorizationTest:[]) [TestingUtil] Problems killing cache manager org.infinispan.manager.DefaultCacheManager at 4e83a98@Address:ExecutionAuthorizationTest-NodeB-14717
> org.infinispan.IllegalLifecycleStateException: ISPN000323: ___acl_cache is in 'TERMINATED' state and so it does not accept new invocations. Either restart it or recreate the cache container.
> at org.infinispan.cache.impl.SimpleCacheImpl.getDataContainer(SimpleCacheImpl.java:1044) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.cache.impl.SimpleCacheImpl.computeIfAbsentInternal(SimpleCacheImpl.java:1116) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.cache.impl.StatsCollectingCache.computeIfAbsentInternal(StatsCollectingCache.java:270) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.cache.impl.SimpleCacheImpl.computeIfAbsent(SimpleCacheImpl.java:1111) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.security.impl.AuthorizationHelper.checkSubjectPermissionAndRole(AuthorizationHelper.java:107) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.security.impl.AuthorizationHelper.checkPermission(AuthorizationHelper.java:76) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.security.impl.AuthorizationManagerImpl.checkPermission(AuthorizationManagerImpl.java:42) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.security.impl.SecureCacheImpl.getComponentRegistry(SecureCacheImpl.java:336) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.manager.DefaultCacheManager.unregisterCacheMBean(DefaultCacheManager.java:714) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.manager.DefaultCacheManager.terminate(DefaultCacheManager.java:671) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.manager.DefaultCacheManager.stopCaches(DefaultCacheManager.java:708) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.manager.DefaultCacheManager.stop(DefaultCacheManager.java:688) ~[infinispan-core.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.TestingUtil.killCacheManagers(TestingUtil.java:673) [infinispan-core-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.TestingUtil.killCacheManagers(TestingUtil.java:656) [infinispan-core-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.TestingUtil.killCacheManagers(TestingUtil.java:652) [infinispan-core-tests.jar:9.0.0-SNAPSHOT]
> at org.infinispan.test.MultipleCacheManagersTest.destroy(MultipleCacheManagersTest.java:87) [infinispan-core-tests.jar:9.0.0-SNAPSHOT]
> {noformat}
> {{DefaultCacheManager.stop()}} could check a cache's status before trying to unregister it from JMX, avoiding the security check when the cache is already {{TERMINATED}}.
> {{DefaultCacheManager.unregisterCacheMBean()}} could also extract the cache's component registry from the global component registry and avoid the security check, since {{DefaultCacheManager.stop()}} already performed a security check.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the infinispan-issues
mailing list