Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-6652

Warning when stopping a server with a deployed MDB listening to a topic

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Minor
    • 10.1.0.CR1, 10.1.0.Final
    • 10.0.0.Final
    • JMS
    • None

    Description

      How to reproduce:

      • start WildFly with ActiveMQ security for in-vm (override-in-vm-security=false) and a pooled-connection-factory with user credentials (see attached configuration)
      • deploy the regular helloworld-mdb quickstart
      • stop WildFly (with Ctl+C)

      The server logs a warning:

      17:48:54,217 WARN  [org.apache.activemq.artemis.core.server] (Thread-6 (ActiveMQ-remoting-threads-ActiveMQServerImpl::serverUUID=1c98f514-2290-11e6-a581-c1ccabba71e3-1850673655-879332228)) Sending unexpected exception to the client: java.lang.IllegalArgumentException: No PolicyContextHandler for key=javax.security.auth.Subject.container
              at javax.security.jacc.PolicyContext.getContext(PolicyContext.java:96)
              at org.jboss.security.plugins.SubjectActions$GetSubjectAction.run(SubjectActions.java:90)
              at org.jboss.security.plugins.SubjectActions$GetSubjectAction.run(SubjectActions.java:82)
              at java.security.AccessController.doPrivileged(Native Method)
              at org.jboss.security.plugins.SubjectActions.getActiveSubject(SubjectActions.java:316)
              at org.jboss.security.plugins.JBossAuthorizationManager.getCurrentRoles(JBossAuthorizationManager.java:331)
              at org.jboss.security.plugins.JBossAuthorizationManager.doesUserHaveRole(JBossAuthorizationManager.java:148)
              at org.wildfly.extension.messaging.activemq.WildFlySecurityManager$1.run(WildFlySecurityManager.java:105)
              at org.wildfly.extension.messaging.activemq.WildFlySecurityManager$1.run(WildFlySecurityManager.java:78)
              at java.security.AccessController.doPrivileged(Native Method)
              at org.wildfly.extension.messaging.activemq.WildFlySecurityManager.validateUserAndRole(WildFlySecurityManager.java:78)
              at org.apache.activemq.artemis.core.security.impl.SecurityStoreImpl.check(SecurityStoreImpl.java:162)
              at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1272)
              at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.destroyQueue(ActiveMQServerImpl.java:1243)
              at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.deleteQueue(ServerSessionImpl.java:598)
              at org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.handlePacket(ServerSessionPacketHandler.java:244)
              at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:626)
              at org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:349)
              at org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:331)
              at org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:616)
              at org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnection$1.run(InVMConnection.java:171)
              at org.apache.activemq.artemis.utils.OrderedExecutorFactory$OrderedExecutor$ExecutorTask.run(OrderedExecutorFactory.java:100)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      

      When the server is stopped, ActiveMQ RA will attempt to destroy the core queue corresponding to the MDB listening on the JMS topic.
      On the broker side, the exception occurs because there is no dependency between the pooled-connection-factory's service and the boostrap security service that handles the javax.security.auth.Subject.container context.

      Attachments

        Issue Links

          Activity

            People

              jmesnil1@redhat.com Jeff Mesnil
              jmesnil1@redhat.com Jeff Mesnil
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: