[infinispan-issues] [JBoss JIRA] (ISPN-6477) Security tests always log a warning during cache manager shutdown

Tristan Tarrant (JIRA) issues at jboss.org
Mon Apr 11 18:08:00 EDT 2016


     [ https://issues.jboss.org/browse/ISPN-6477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tristan Tarrant updated ISPN-6477:
----------------------------------
           Status: Resolved  (was: Pull Request Sent)
    Fix Version/s: 9.0.0.Final
       Resolution: Done


> 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, 9.0.0.Final
>
>
> 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