Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-21074

Model change in EJB remote service causes regression against 7.3

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 7.4.0.GA
    • 7.4.0.Beta
    • EJB
    • None
    • False
    • False
    • Documentation (Ref Guide, User Guide, etc.), Release Notes, Migration, Compatibility/Configuration
    • Hide
      In the known issues section:
      Cause: adding Remoting connector to be used for EJB client invocations without adding the connector to the <remote/> connectors attribute
      Consequence: EJB client invocations on this connector will hang indefinitely and an ERROR message will appear in the server log
      Fix: add the Remoting conenctor to the 'connectors' attribute of the <remote/> element in the ejb3 subsystem
      Result: EJB client invocations on the connector will not hang
      Show
      In the known issues section: Cause: adding Remoting connector to be used for EJB client invocations without adding the connector to the <remote/> connectors attribute Consequence: EJB client invocations on this connector will hang indefinitely and an ERROR message will appear in the server log Fix: add the Remoting conenctor to the 'connectors' attribute of the <remote/> element in the ejb3 subsystem Result: EJB client invocations on the connector will not hang
    • Not Yet Documented
    • Workaround Exists
    • Hide

      1) Change ejb subsystem in following manner:

      /subsystem=ejb3/service=remote:write-attribute(name=connectors, value=[http-remoting-connector,remoting-connector])
      

      2) Redeploy application (as in reproduce step n.6)
      3) Execute (should be ok against remote+http as well as remote protocols)

      mvn exec:exec
      Show
      1) Change ejb subsystem in following manner: /subsystem=ejb3/service=remote:write-attribute(name=connectors, value=[http-remoting-connector,remoting-connector]) 2) Redeploy application (as in reproduce step n.6) 3) Execute (should be ok against remote+http as well as remote protocols) mvn exec:exec
    • Hide

      1) Download & unpack EAP 7.4.0.Beta
      2) Launch the server (`${JBOSS_HOME}/bin/standalone.sh
      3) Prepare remoting connector:

      /socket-binding-group=standard-sockets/socket-binding=remoting:add(port=4447)
      /subsystem=remoting/connector=remoting-connector:add(socket-binding=remoting,sasl-authentication-factory=application-sasl-authentication)
      

      4) Prepare ejb-security QS (https://github.com/jboss-developer/jboss-eap-quickstarts/tree/7.3.x/ejb-security) & follow instructions (this should be ok for the http remoting connector)
      5) Change src/main/java/org/jboss/as/quickstarts/ejb_security/RemoteClient.java in following manner:

      jndiProperties.put(Context.PROVIDER_URL, "remote://localhost:4447");
      

      6) Redeploy new version of the app (mvn wildfly:undeploy & maven wildfly:deploy)
      7) Execute (this should hang indefinitely)

      mvn exec:exec
      Show
      1) Download & unpack EAP 7.4.0.Beta 2) Launch the server (`${JBOSS_HOME}/bin/standalone.sh 3) Prepare remoting connector: /socket-binding-group=standard-sockets/socket-binding=remoting:add(port=4447) /subsystem=remoting/connector=remoting-connector:add(socket-binding=remoting,sasl-authentication-factory=application-sasl-authentication) 4) Prepare ejb-security QS ( https://github.com/jboss-developer/jboss-eap-quickstarts/tree/7.3.x/ejb-security ) & follow instructions (this should be ok for the http remoting connector) 5) Change src/main/java/org/jboss/as/quickstarts/ejb_security/RemoteClient.java in following manner: jndiProperties.put(Context.PROVIDER_URL, "remote: //localhost:4447" ); 6) Redeploy new version of the app (mvn wildfly:undeploy & maven wildfly:deploy) 7) Execute (this should hang indefinitely) mvn exec:exec

      We have multiple remoting connectors set up (`[http-remoting, https-remoting, remoting, remoting-ssl]`). Initial Context Directory fails to lookup beans when the full list of remoting connectors is not set in the `/subsystem=ejb/service=remote` configuration. This issue has been discovered while testing 7.4, where tests are being performed with each of the remoting connectors and Initial Context Directory uses proper JNDI bindings for discovery. This seems is a regression against 7.3, when the tests were passing without fully specifying the list of remoting connectors. Seems like https://github.com/wildfly/wildfly/pull/13341 introduced a model change that is causing this regression. Having not registered appropriate connectors in EJB subsystem makes the server hang.

        1. clientThreadDump.txt
          16 kB
          Richard Achmatowicz
        2. serverThreadDump.txt
          55 kB
          Richard Achmatowicz

              rachmato@redhat.com Richard Achmatowicz
              rhn-engineering-spriadka Simon Priadka (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: