glassfish
  1. glassfish
  2. GLASSFISH-17469

IIOP Listener Network Address Setting Ignored

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.1_b12
    • Fix Version/s: 4.0_b77
    • Component/s: orb
    • Labels:
      None
    • Environment:

      RHEL5,RHEL6 x64

      Description

      Setting this value in the admin console does not result in the listener listening on a specific address (read interface). Instead the listener is setup on 0.0.0.0 (any interface).
      Setting the lazy-init flag for the unencrypted listener seems to change this behaviour, but this throws exceptions if you set it on ssl listeners (though it still seems to force the interfacces onto the specified interface). I understand this is because the lazy-init flag sets up a dummy listener before the real listener is created lazily.

        Activity

        Hide
        Tom Mueller added a comment -

        This issue was raised on the GF forum. Bumping up the priority.
        See: http://forums.java.net/node/882839?force=208

        Show
        Tom Mueller added a comment - This issue was raised on the GF forum. Bumping up the priority. See: http://forums.java.net/node/882839?force=208
        Hide
        corti added a comment -

        I can confirm the issue but not the workaround (with 3.1.1). Disabling the lazy initializer does not change the behavior (and does not produce any exception). Port 3700 which is additionally opened at startup is also bound to any interface.

        Show
        corti added a comment - I can confirm the issue but not the workaround (with 3.1.1). Disabling the lazy initializer does not change the behavior (and does not produce any exception). Port 3700 which is additionally opened at startup is also bound to any interface.
        Hide
        Harshad Vilekar added a comment -

        I see the issue with 3.1.2. SSL and SSL_MUTUALAUTH listen to "any" address. Only orb-listener-1 listens to specific address - when lazy-init is set to true.
        127.0.0.1.3700 . 0 0 49152 0 LISTEN
        .3820 *. 0 0 49152 0 LISTEN
        .3920 *. 0 0 49152 0 LISTEN

        ---- domain.xml -------
        <iiop-service>
        <orb use-thread-pool-ids="thread-pool-1" />
        <iiop-listener address="127.0.0.1" port="3700" id="orb-listener-1" lazy-init="true"/>
        <iiop-listener security-enabled="true" address="127.0.0.1" port="3820" id="SSL">
        <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as" />
        </iiop-listener>
        <iiop-listener security-enabled="true" address="127.0.0.1" port="3920" id="SSL_MUTUALAUTH">
        <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as" client-auth-enabled="true" />
        </iiop-listener>
        </iiop-service>
        -----------------

        Show
        Harshad Vilekar added a comment - I see the issue with 3.1.2. SSL and SSL_MUTUALAUTH listen to "any" address. Only orb-listener-1 listens to specific address - when lazy-init is set to true. 127.0.0.1.3700 . 0 0 49152 0 LISTEN .3820 *. 0 0 49152 0 LISTEN .3920 *. 0 0 49152 0 LISTEN ---- domain.xml ------- <iiop-service> <orb use-thread-pool-ids="thread-pool-1" /> <iiop-listener address="127.0.0.1" port="3700" id="orb-listener-1" lazy-init="true"/> <iiop-listener security-enabled="true" address="127.0.0.1" port="3820" id="SSL"> <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as" /> </iiop-listener> <iiop-listener security-enabled="true" address="127.0.0.1" port="3920" id="SSL_MUTUALAUTH"> <ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as" client-auth-enabled="true" /> </iiop-listener> </iiop-service> -----------------
        Hide
        Joe Di Pol added a comment -

        Excluding from 3.1.2 since it is too late to fix in 3.1.2 and this is not a regression from 3.1.1

        Show
        Joe Di Pol added a comment - Excluding from 3.1.2 since it is too late to fix in 3.1.2 and this is not a regression from 3.1.1
        Hide
        Harshad Vilekar added a comment -

        Fixed - svn revision 59566.

        See also bug 14734893 - IIOP PORTS DOESN'T BIND TO THE NETWORK ADDRESS SET FOR THE CLUSTER INSTANCE.

        ORB initialization on multi node cluster: Along with other checks, ORB init() checks for the property com.sun.corba.ee.ORBServerHost, and if set, it binds the ORB listener to the specific IP address. So, set the instance specific property to the IP address of the host on which the instance is running. The value of the property is difference for each instance.

        For multi node cluster, set the property com.sun.corba.ee.ORBServerHost for each instance (Admin GIU screen : cluster1,instance2, properties, system properties, add property)

        For example:

        For instance1: "com.sun.corba.ee.ORBServerHost=10.229.116.61"

        [host1]$ netstat -an | grep 23700
        tcp 0 0 ::ffff:10.229.116.61:23700 :::* LISTEN

        For instance2: "com.sun.corba.ee.ORBServerHost=10.133.139.59"

        [host2]$ netstat -an | grep 23700
        tcp 0 0 ::ffff:10.133.139.59:23700 :::* LISTEN

        For DAS, set ServerConfig , ORB , IIOP Listeners , orb-listener-1, NetWork Address = 10.229.116.61

        tcp 0 0 ::ffff:10.229.116.61:3700 :::* LISTEN

        Show
        Harshad Vilekar added a comment - Fixed - svn revision 59566. See also bug 14734893 - IIOP PORTS DOESN'T BIND TO THE NETWORK ADDRESS SET FOR THE CLUSTER INSTANCE. ORB initialization on multi node cluster: Along with other checks, ORB init() checks for the property com.sun.corba.ee.ORBServerHost, and if set, it binds the ORB listener to the specific IP address. So, set the instance specific property to the IP address of the host on which the instance is running. The value of the property is difference for each instance. For multi node cluster, set the property com.sun.corba.ee.ORBServerHost for each instance (Admin GIU screen : cluster1,instance2, properties, system properties, add property) For example: For instance1: "com.sun.corba.ee.ORBServerHost=10.229.116.61" [host1] $ netstat -an | grep 23700 tcp 0 0 ::ffff:10.229.116.61:23700 :::* LISTEN For instance2: "com.sun.corba.ee.ORBServerHost=10.133.139.59" [host2] $ netstat -an | grep 23700 tcp 0 0 ::ffff:10.133.139.59:23700 :::* LISTEN For DAS, set ServerConfig , ORB , IIOP Listeners , orb-listener-1, NetWork Address = 10.229.116.61 tcp 0 0 ::ffff:10.229.116.61:3700 :::* LISTEN

          People

          • Assignee:
            Harshad Vilekar
            Reporter:
            james143
          • Votes:
            3 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: