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

[GSS](7.2.z) MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES remoting parameters in EJB client side do not work.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • 7.1.4.GA, 7.2.2.GA
    • Remoting
    • None
    • +
    • Hide

      0. Download the following attachments.

      • ejb-multi-server_02407122.zip (Reproducer)
      • server.log_app-web.txt (EJB client side TRACE log)
      • server.log_app-twoA.txt (EJB server side TRACE log)

      1. Install EAP 7.1.4 and create domain1.

      $ cd <your work dir>
      $ unzip /path/to/jboss-eap-7.1.4-full-build.zip
      $ jboss-eap-7.1 jboss-eap-7.1.4
      $ add-user.sh -a -u quickuser2 -p quick+123
      $ cp -a jboss-eap-7.1.4/domain domain1
      

      2. Start domain1.

      $ domain.sh -Djboss.domain.base.dir=./domain1
      

      3. Build and deploy customized ejb-multi-server

      $ unzip /path/to/jboss-eap-7.1.4-quickstarts.zip
      $ cd jboss-eap-7.1.4.GA-quickstarts
      $ unzip /path/to/ejb-multi-server_02407122.zip    # extract customized ejb-multi-server in Attachment
      $ cd ejb-multi-server_02407122
      $ mvn clean install
      $ jboss-cli.sh --connect --file=./install-domain.cli
      $ jboss-cli.sh --connect --file=./deploy-domain.cli
      

      4. Stop domain1.

      5. Modify domain1/configuration/domain.xml. (Add MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES in ejb client side)

              <profile name="default-web">
                  :
                  :
                  <subsystem xmlns="urn:jboss:domain:remoting:4.0">
                      :
                      :
                      <outbound-connections>
                          <remote-outbound-connection name="remote-connection-war-ejb-2" outbound-socket-binding-ref="remote-war-2" username="quickuser2" security-realm="ejb-security-realm-2" protocol="http-remoting">
                              <properties>
                                  <property name="SASL_POLICY_NOANONYMOUS" value="false"/>
                                  <property name="SSL_ENABLED" value="false"/>
                                  <property name="org.jboss.remoting3.RemotingOptions.MAX_OUTBOUND_MESSAGES" value="20"/>    <---------- (5-1)
                                  <property name="org.jboss.remoting3.RemotingOptions.MAX_INBOUND_MESSAGES" value="20"/>    <---------- (5-2)
                              </properties>
                          </remote-outbound-connection>
                      </outbound-connections>
                  </subsystem>
                  :
                  :
              </profile>
      

      6. Modify domain1/configuration/domain.xml. (Add/Change MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES in ejb server side)

              <profile name="default">
                  :
                  :
                  <subsystem xmlns="urn:jboss:domain:ejb3:5.0">
                      :
                      :
                      <remote connector-ref="http-remoting-connector" thread-pool-name="default">
                          <channel-creation-options>
                              <option name="READ_TIMEOUT" value="${prop.remoting-connector.read.timeout:20}" type="xnio"/>
                              <option name="MAX_OUTBOUND_MESSAGES" value="1234" type="remoting"/>    <---------- (6-1)
                              <option name="MAX_INBOUND_MESSAGES" value="30" type="remoting"/>    <---------- (6-2)
                          </channel-creation-options>
                      </remote>
                      :
                      :
                  </subsystem>
                  :
                  :
              </profile>
      

      7. Start domain1.

      $ cd <your work dir>
      $ domain.sh -Djboss.domain.base.dir=./domain1
      

      8. Access to app-web http://localhost:8380/ejb-multi-server-app-web/ .

      9. Check org.jboss.remoting.remote category's TRACE log.

      • See server.log_app-web.txt (EJB client side log) and server.log_app-twoA.txt (EJB server side log).

      Result

      • MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES in EJB server side work as expected, but MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES in EJB client side do NOT work.
      • EJB client side log (server.log_app-web.txt – excerpt from domain1/servers/app-web/log/server.log)
        2019-07-30 18:01:32,838 TRACE [org.jboss.remoting.remote] (default task-9) Outbound service request for channel 8334657d is configured as follows:
          outbound window:  option 2147483647, req 2147483647
          inbound window:   option     131072, req     131072
          outbound msgs:    option      65535, req      65535    <---------- both (5-1) 20 and (5-2) 20 are NOT passed in "option". (max outbound messages 65535, max inbound messages 80 by default)
          inbound msgs:     option         80, req         80    <---------- 
          outbound msgsize: option 9223372036854775807, req 9223372036854775807
          inbound msgsize:  option 9223372036854775807, req 9223372036854775807
            :
            :
        2019-07-30 18:01:32,842 TRACE [org.jboss.remoting.remote] (default I/O-2) Inbound service acknowledgement for channel 8334657d is configured as follows:
          outbound window:  req 2147483647, use     131072
          inbound window:   req     131072, use     131072
          outbound msgs:    req      65535, use         30
          inbound msgs:     req         80, use         80
          outbound msgsize: req 9223372036854775807, use 9223372036854775807
          inbound msgsize:  req 9223372036854775807, use 9223372036854775807
        
      • EJB server side log (server.log_app-twoA.txt – excerpt from domain1/servers/app-twoA/log/server.log)
        2019-07-30 18:01:32,840 TRACE [org.jboss.remoting.remote] (default I/O-1) Inbound service request for channel 0334657d is configured as follows:
          outbound window:  req     131072, option     131072, grant     131072
          inbound window:   req 2147483647, option     131072, grant     131072
          outbound msgs:    req         80, option       1234, grant         80    <---------- both (6-1) 1234 and (6-2) 30 are passed in "option".
          inbound msgs:     req      65535, option         30, grant         30    <---------- 
          outbound msgsize: req 9223372036854775807, option 9223372036854775807, grant 9223372036854775807
          inbound msgsize:  req 9223372036854775807, option 9223372036854775807, grant 9223372036854775807
        
      Show
      0. Download the following attachments. ejb-multi-server_02407122.zip (Reproducer) server.log_app-web.txt (EJB client side TRACE log) server.log_app-twoA.txt (EJB server side TRACE log) 1. Install EAP 7.1.4 and create domain1. $ cd <your work dir> $ unzip /path/to/jboss-eap-7.1.4-full-build.zip $ jboss-eap-7.1 jboss-eap-7.1.4 $ add-user.sh -a -u quickuser2 -p quick+123 $ cp -a jboss-eap-7.1.4/domain domain1 2. Start domain1. $ domain.sh -Djboss.domain.base.dir=./domain1 3. Build and deploy customized ejb-multi-server $ unzip /path/to/jboss-eap-7.1.4-quickstarts.zip $ cd jboss-eap-7.1.4.GA-quickstarts $ unzip /path/to/ejb-multi-server_02407122.zip # extract customized ejb-multi-server in Attachment $ cd ejb-multi-server_02407122 $ mvn clean install $ jboss-cli.sh --connect --file=./install-domain.cli $ jboss-cli.sh --connect --file=./deploy-domain.cli 4. Stop domain1. 5. Modify domain1/configuration/domain.xml. (Add MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES in ejb client side) <profile name="default-web"> : : <subsystem xmlns="urn:jboss:domain:remoting:4.0"> : : <outbound-connections> <remote-outbound-connection name="remote-connection-war-ejb-2" outbound-socket-binding-ref="remote-war-2" username="quickuser2" security-realm="ejb-security-realm-2" protocol="http-remoting"> <properties> <property name="SASL_POLICY_NOANONYMOUS" value="false"/> <property name="SSL_ENABLED" value="false"/> <property name="org.jboss.remoting3.RemotingOptions.MAX_OUTBOUND_MESSAGES" value="20"/> <---------- (5-1) <property name="org.jboss.remoting3.RemotingOptions.MAX_INBOUND_MESSAGES" value="20"/> <---------- (5-2) </properties> </remote-outbound-connection> </outbound-connections> </subsystem> : : </profile> 6. Modify domain1/configuration/domain.xml. (Add/Change MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES in ejb server side) <profile name="default"> : : <subsystem xmlns="urn:jboss:domain:ejb3:5.0"> : : <remote connector-ref="http-remoting-connector" thread-pool-name="default"> <channel-creation-options> <option name="READ_TIMEOUT" value="${prop.remoting-connector.read.timeout:20}" type="xnio"/> <option name="MAX_OUTBOUND_MESSAGES" value="1234" type="remoting"/> <---------- (6-1) <option name="MAX_INBOUND_MESSAGES" value="30" type="remoting"/> <---------- (6-2) </channel-creation-options> </remote> : : </subsystem> : : </profile> 7. Start domain1. $ cd <your work dir> $ domain.sh -Djboss.domain.base.dir=./domain1 8. Access to app-web http://localhost:8380/ejb-multi-server-app-web/ . 9. Check org.jboss.remoting.remote category's TRACE log. See server.log_app-web.txt (EJB client side log) and server.log_app-twoA.txt (EJB server side log). Result MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES in EJB server side work as expected, but MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES in EJB client side do NOT work. EJB client side log (server.log_app-web.txt – excerpt from domain1/servers/app-web/log/server.log) 2019-07-30 18:01:32,838 TRACE [org.jboss.remoting.remote] (default task-9) Outbound service request for channel 8334657d is configured as follows: outbound window: option 2147483647, req 2147483647 inbound window: option 131072, req 131072 outbound msgs: option 65535, req 65535 <---------- both (5-1) 20 and (5-2) 20 are NOT passed in "option". (max outbound messages 65535, max inbound messages 80 by default) inbound msgs: option 80, req 80 <---------- outbound msgsize: option 9223372036854775807, req 9223372036854775807 inbound msgsize: option 9223372036854775807, req 9223372036854775807 : : 2019-07-30 18:01:32,842 TRACE [org.jboss.remoting.remote] (default I/O-2) Inbound service acknowledgement for channel 8334657d is configured as follows: outbound window: req 2147483647, use 131072 inbound window: req 131072, use 131072 outbound msgs: req 65535, use 30 inbound msgs: req 80, use 80 outbound msgsize: req 9223372036854775807, use 9223372036854775807 inbound msgsize: req 9223372036854775807, use 9223372036854775807 EJB server side log (server.log_app-twoA.txt – excerpt from domain1/servers/app-twoA/log/server.log) 2019-07-30 18:01:32,840 TRACE [org.jboss.remoting.remote] (default I/O-1) Inbound service request for channel 0334657d is configured as follows: outbound window: req 131072, option 131072, grant 131072 inbound window: req 2147483647, option 131072, grant 131072 outbound msgs: req 80, option 1234, grant 80 <---------- both (6-1) 1234 and (6-2) 30 are passed in "option". inbound msgs: req 65535, option 30, grant 30 <---------- outbound msgsize: req 9223372036854775807, option 9223372036854775807, grant 9223372036854775807 inbound msgsize: req 9223372036854775807, option 9223372036854775807, grant 9223372036854775807

    Description

      I tested MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES remoting parameters in EJB client side configuration in EAP 7.1.4 (like (5-1) and (5-2) in Steps to Reproduce) in the same way of EAP 6.x (*1). However, it looks like for me that the parameters do NOT work. Is this a bug? (I also tested this in EAP 7.2.2 but the result is the same as 7.1.4.)

      On the other hand, MAX_OUTBOUND_MESSAGES and MAX_INBOUND_MESSAGES parameters in EJB server side configuration ((6-1) and (6-2) in Steps to Reproduce) work as expected.

      (*1) How do you set MAX_INBOUND_MESSAGES and MAX_OUTBOUND_MESSAGES for a remote EJB call? https://access.redhat.com/solutions/452633

      Attachments

        Activity

          People

            istudens@redhat.com Ivo Studensky
            rhn-support-myoshida Masato Yoshida
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: