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

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Done
    • 7.4.0.Beta
    • 7.4.0.GA
    • EJB
    • None
    • False
    • False
    • Documentation (Ref Guide, User Guide, etc.), Release Notes, Migration, Compatibility/Configuration
    • Undefined
    • 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
    • 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
    • Not Yet Documented
    • 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

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: