glassfish
  1. glassfish
  2. GLASSFISH-16013

RestartRequired: changing http port does not trigger restart required message for a standalone instance

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1_dev
    • Fix Version/s: 3.1.1_dev
    • Component/s: web_container
    • Labels:
      None
    • Environment:

      promoted build b43

      Description

      Steps to reproduce:

      1. Create a standalone instance and start it.
      2. Go to instance's configuration, System Properties page and click on Instance Values link for HTTP port.
      5. On the next page change the port to a new value, e.g. 28880, and save.
      6. Go to instance's page and notice it's still running and does not report requiring restart. CLI reports instance as running as well:

      1. a list-instances
        in1 running

      Attempting to access server on the newly specified port fails (28880), while it still responds on the old, default port 28080, hence restart is clearly required for the changes to take effect. The General tab for the instance lists new http port, even though the server is not listening on that port. This is misleading.

        Activity

        Hide
        lidiam added a comment -

        Testing of this feature was earlier blocked by http://java.net/jira/browse/GLASSFISH-14283.

        Show
        lidiam added a comment - Testing of this feature was earlier blocked by http://java.net/jira/browse/GLASSFISH-14283 .
        Hide
        Tom Mueller added a comment -

        This is similar to issue GLASSFISH-15987.

        If we automatically trigger a restart required notice when any system property is changed, then this bug will be resolved too.

        Show
        Tom Mueller added a comment - This is similar to issue GLASSFISH-15987 . If we automatically trigger a restart required notice when any system property is changed, then this bug will be resolved too.
        Hide
        Scott Fordin added a comment -

        Added topic under "Restart Required" umbrella issue (http://java.net/jira/browse/GLASSFISH-16040) in 3.1 Release Notes.

        Show
        Scott Fordin added a comment - Added topic under "Restart Required" umbrella issue ( http://java.net/jira/browse/GLASSFISH-16040 ) in 3.1 Release Notes.
        Hide
        Tom Mueller added a comment -

        This issue turns out to be unrelated to issue 15987, since 15987 is specifically about system properties that are used in the JavaConfig.

        Show
        Tom Mueller added a comment - This issue turns out to be unrelated to issue 15987, since 15987 is specifically about system properties that are used in the JavaConfig.
        Hide
        Tom Mueller added a comment -

        The root cause of this issue is that the ConfigListener that listens for changes to the NetworkListeners for the web container does not listen for changes to system properties, even though it resolved a system property in order to get the value of the port.

        This appears to be an issue in the WebConfigListener class.

        Note: a change in the port value due to a system property change may come from the domain, config, cluster, or server object. For example of a listener that listens for system property changes in all of these objects, see the GenericJavaConfigListener class in the core/kernel module.

        Reassigning to the web container component.

        Show
        Tom Mueller added a comment - The root cause of this issue is that the ConfigListener that listens for changes to the NetworkListeners for the web container does not listen for changes to system properties, even though it resolved a system property in order to get the value of the port. This appears to be an issue in the WebConfigListener class. Note: a change in the port value due to a system property change may come from the domain, config, cluster, or server object. For example of a listener that listens for system property changes in all of these objects, see the GenericJavaConfigListener class in the core/kernel module. Reassigning to the web container component.
        Hide
        Amy Roh added a comment -

        Sending core/kernel/src/main/java/com/sun/enterprise/v3/admin/listener/GenericJavaConfigListener.java
        Sending web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java
        Sending web/web-glue/src/main/java/com/sun/enterprise/web/reconfig/WebConfigListener.java
        Transmitting file data ...
        Committed revision 45700.

        Fixed in web container so NotProcessed is triggered for SystemProperty events.

        [#|2011-03-23T19:34:28.854-0700|WARNING|glassfish3.2|null|_ThreadID=21;_ThreadName=Thread-1;|Unprocessed event : UnprocessedChangeEvent

        {PropertyName=system-property, OldValue = null, NewValue = GlassFishConfigBean.com.sun.enterprise.config.serverbeans.SystemProperty, Source = GlassFishConfigBean.com.sun.enterprise.config.serverbeans.Server}

        , reason = The system-property, HTTP_LISTENER_PORT, that is referenced by the Java configuration, was modified, when = 1300934068647|#]

        Although UnprocessedChangeEvent gets triggered correctly and displayed in instance's server.log, Admin GUI doesn't show restart required sign. Assigning to Admin GUI team to investigate and to display the sign correctly in the GUI.

        Show
        Amy Roh added a comment - Sending core/kernel/src/main/java/com/sun/enterprise/v3/admin/listener/GenericJavaConfigListener.java Sending web/web-glue/src/main/java/com/sun/enterprise/web/WebContainer.java Sending web/web-glue/src/main/java/com/sun/enterprise/web/reconfig/WebConfigListener.java Transmitting file data ... Committed revision 45700. Fixed in web container so NotProcessed is triggered for SystemProperty events. [#|2011-03-23T19:34:28.854-0700|WARNING|glassfish3.2|null|_ThreadID=21;_ThreadName=Thread-1;|Unprocessed event : UnprocessedChangeEvent {PropertyName=system-property, OldValue = null, NewValue = GlassFishConfigBean.com.sun.enterprise.config.serverbeans.SystemProperty, Source = GlassFishConfigBean.com.sun.enterprise.config.serverbeans.Server} , reason = The system-property, HTTP_LISTENER_PORT, that is referenced by the Java configuration, was modified, when = 1300934068647|#] Although UnprocessedChangeEvent gets triggered correctly and displayed in instance's server.log, Admin GUI doesn't show restart required sign. Assigning to Admin GUI team to investigate and to display the sign correctly in the GUI.
        Hide
        Amy Roh added a comment -

        Assigning it back to myself to fix dynamic reconfig to happen rather than returning UnprocessedChangeEvent when System Property for ports have been updated.

        Show
        Amy Roh added a comment - Assigning it back to myself to fix dynamic reconfig to happen rather than returning UnprocessedChangeEvent when System Property for ports have been updated.
        Hide
        Amy Roh added a comment -

        Fixed. Added dynamic reconfig support for http port on standalone instance.

        Sending core/kernel/src/main/java/com/sun/enterprise/v3/services/impl/DynamicConfigListener.java
        Sending core/kernel/src/main/java/com/sun/enterprise/v3/services/impl/GrizzlyService.java
        Sending web/web-glue/src/main/java/com/sun/enterprise/web/reconfig/WebConfigListener.java
        Committed revision 45965.

        Show
        Amy Roh added a comment - Fixed. Added dynamic reconfig support for http port on standalone instance. Sending core/kernel/src/main/java/com/sun/enterprise/v3/services/impl/DynamicConfigListener.java Sending core/kernel/src/main/java/com/sun/enterprise/v3/services/impl/GrizzlyService.java Sending web/web-glue/src/main/java/com/sun/enterprise/web/reconfig/WebConfigListener.java Committed revision 45965.
        Hide
        Amy Roh added a comment -

        Why fix this issue in 3.1.1?

        
A partial fix (svn 45700) for issue 16013 went into the 3.1.1 branch because the 3.1.1 branch was created after the partial patch went in. Since the branch was created, the complete fix (svn 45965) was committed to the trunk to ignore unrelated events. The same should apply to the branch.

        Which is the targeted build of 3.1.1 for this fix?

        Build 5.

        Do regression tests exist for this issue?
        
No.

        Which tests should QA (re)run to verify the fix did not destabilize GlassFish?

        SQE webtier tests

        Show
        Amy Roh added a comment - Why fix this issue in 3.1.1? 
A partial fix (svn 45700) for issue 16013 went into the 3.1.1 branch because the 3.1.1 branch was created after the partial patch went in. Since the branch was created, the complete fix (svn 45965) was committed to the trunk to ignore unrelated events. The same should apply to the branch. Which is the targeted build of 3.1.1 for this fix?
 Build 5. Do regression tests exist for this issue? 
No. Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
 SQE webtier tests
        Hide
        scatari added a comment -

        Approved.

        Show
        scatari added a comment - Approved.
        Hide
        lidiam added a comment -

        Tested on ogs-3.1.1-b11-07_04_2011-aix.zip and the issue is still present. Changed HTTP_LISTENER_PORT of standalone instance, in1, to 85 but there is no restart required message:

        /export/sqe/lidia/glassfish3/glassfish % asadmin list-instances
        in1 running
        cl1in1 running
        cl1in2 running
        Command list-instances executed successfully.

        However, the fix may have affected a different issue just logged: http://java.net/jira/browse/GLASSFISH-16976.

        Show
        lidiam added a comment - Tested on ogs-3.1.1-b11-07_04_2011-aix.zip and the issue is still present. Changed HTTP_LISTENER_PORT of standalone instance, in1, to 85 but there is no restart required message: /export/sqe/lidia/glassfish3/glassfish % asadmin list-instances in1 running cl1in1 running cl1in2 running Command list-instances executed successfully. However, the fix may have affected a different issue just logged: http://java.net/jira/browse/GLASSFISH-16976 .
        Hide
        lidiam added a comment -

        Attaching screenshot of changed http port.

        Show
        lidiam added a comment - Attaching screenshot of changed http port.
        Hide
        Amy Roh added a comment -

        There is no restart required message because restart is not required.

        After changing the instance's HTTP_LISTENER_PORT, accessing server on the newly specified port should succeed.

        Show
        Amy Roh added a comment - There is no restart required message because restart is not required. After changing the instance's HTTP_LISTENER_PORT, accessing server on the newly specified port should succeed.

          People

          • Assignee:
            Amy Roh
            Reporter:
            lidiam
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: