glassfish
  1. glassfish
  2. GLASSFISH-16976

Saving clustered Instance System Properties triggers restart required for that instance

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.1_b11
    • Fix Version/s: 3.1.1_b11, 4.0
    • Component/s: admin
    • Labels:
      None
    • Environment:

      ogs-3.1.1-b11-07_04_2011-aix.zip, Firefox 5 on Windows XP

      Description

      Not sure if the root cause for this issue is the same as 16962. Steps to reproduce the problem:

      1. Create a cluster with one instance on localhost-domain1 node.
      2. Start cluster, tail -f server.log.
      3. Go to clustered instance page, click on Properties.
      4. Hit Save on the clustered Instance System Properties tab.
      5. Go to clusters page and note that clustered instance now requires restart.

      Clustered instance server.log contains the following as a result of "Save" action:

      [#|2011-07-06T16:22:28.860-0700|WARNING|oracle-glassfish3.1.1|null|_ThreadID=13;_ThreadName=Thread-9;|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, OSGI_SHELL_TELNET_PORT, that is referenced by the Java configuration, was modified, when = 1309994548859|#]

      [#|2011-07-06T16:22:28.862-0700|WARNING|oracle-glassfish3.1.1|null|_ThreadID=13;_ThreadName=Thread-9;|Unprocessed event : UnprocessedChangeEvent

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

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

      [#|2011-07-06T16:22:29.073-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=14;_ThreadName=Thread-9;|WEB0169: Created HTTP listener [http-listener-1] on host/port [0.0.0.0:28083]|#]

      [#|2011-07-06T16:22:29.095-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=14;_ThreadName=Thread-9;|WEB0169: Created HTTP listener [http-listener-1] on host/port [0.0.0.0:28083]|#]

      [#|2011-07-06T16:22:29.843-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=15;_ThreadName=Thread-9;|WEB0169: Created HTTP listener [http-listener-1] on host/port [0.0.0.0:28083]|#]

      [#|2011-07-06T16:22:29.864-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=16;_ThreadName=Thread-9;|Grizzly Framework 1.9.36 started in: 6ms - bound to [0.0.0.0:28083]|#]

      [#|2011-07-06T16:22:30.877-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=15;_ThreadName=Thread-9;|WEB0169: Created HTTP listener [http-listener-1] on host/port [0.0.0.0:28083]|#]

      [#|2011-07-06T16:22:30.896-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=17;_ThreadName=Thread-9;|Grizzly Framework 1.9.36 started in: 3ms - bound to [0.0.0.0:28083]|#]

      [#|2011-07-06T16:22:30.916-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=14;_ThreadName=Thread-9;|WEB0169: Created HTTP listener [http-listener-2] on host/port [0.0.0.0:28184]|#]

      [#|2011-07-06T16:22:30.943-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=14;_ThreadName=Thread-9;|WEB0169: Created HTTP listener [http-listener-2] on host/port [0.0.0.0:28184]|#]

      [#|2011-07-06T16:22:31.838-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=18;_ThreadName=Thread-9;|WEB0169: Created HTTP listener [http-listener-2] on host/port [0.0.0.0:28184]|#]

      [#|2011-07-06T16:22:31.861-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=19;_ThreadName=Thread-9;|Grizzly Framework 1.9.36 started in: 3ms - bound to [0.0.0.0:28184]|#]

      [#|2011-07-06T16:22:32.875-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=18;_ThreadName=Thread-9;|WEB0169: Created HTTP listener [http-listener-2] on host/port [0.0.0.0:28184]|#]

      [#|2011-07-06T16:22:32.896-0700|INFO|oracle-glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=20;_ThreadName=Thread-9;|Grizzly Framework 1.9.36 started in: 4ms - bound to [0.0.0.0:28184]|#]

      This issue does not happen with standalone instances. Also, this is a regression as compared to Glassfish 3.1 b43.

        Activity

        Hide
        lidiam added a comment -

        Attaching server.log of clustered instance.

        Show
        lidiam added a comment - Attaching server.log of clustered instance.
        Hide
        lidiam added a comment -

        This may be related to changes made for issue http://java.net/jira/browse/GLASSFISH-16013.

        Show
        lidiam added a comment - This may be related to changes made for issue http://java.net/jira/browse/GLASSFISH-16013 .
        Hide
        Anissa Lam added a comment - - edited

        Console is displaying the status correctly.
        The issue here is why restart is required if there is no change in the properties. Maybe this is an RFE so that backend is smart enough to not trigger restart if there is no change ?
        Not sure if this is related to GLASSFISH-16962 or GLASSFISH-16013 either. Transfer to 'admin' for initial evaluation.

        Show
        Anissa Lam added a comment - - edited Console is displaying the status correctly. The issue here is why restart is required if there is no change in the properties. Maybe this is an RFE so that backend is smart enough to not trigger restart if there is no change ? Not sure if this is related to GLASSFISH-16962 or GLASSFISH-16013 either. Transfer to 'admin' for initial evaluation.
        Hide
        Tom Mueller added a comment -

        Anissa, does the console save values even if they have not changed?

        The GenericJavaConfigListener will trigger a restart required whenever there is a system-property change event, even if that event is for saving the same value.

        It should check to see if the value actually changed.

        Show
        Tom Mueller added a comment - Anissa, does the console save values even if they have not changed? The GenericJavaConfigListener will trigger a restart required whenever there is a system-property change event, even if that event is for saving the same value. It should check to see if the value actually changed.
        Hide
        Tom Mueller added a comment - - edited

        Why fix this issue in 3.1.1?

        The fix for this issue is closely related to the fix for issue GLASSFISH-16962. This issue is probably not worth fixing on its own, but if 16962 is approved, then this one should be approved too.

        Which is the targeted build of 3.1.1 for this fix?
        build 11

        Do regression tests exist for this issue?
        No

        Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
        Tests related to setting system-properties that are referenced by the <java-config>

        Show
        Tom Mueller added a comment - - edited Why fix this issue in 3.1.1? The fix for this issue is closely related to the fix for issue GLASSFISH-16962 . This issue is probably not worth fixing on its own, but if 16962 is approved, then this one should be approved too. Which is the targeted build of 3.1.1 for this fix? build 11 Do regression tests exist for this issue? No Which tests should QA (re)run to verify the fix did not destabilize GlassFish? Tests related to setting system-properties that are referenced by the <java-config>
        Hide
        Anissa Lam added a comment -

        Like all other screen, a SAVE will call REST to update to the value that is on screen at that time. We don't save a copy of what is before the edit to compare with what the value is at the time the SAVE button is pressed.
        The only page we have special handling is the JVM options page.

        Show
        Anissa Lam added a comment - Like all other screen, a SAVE will call REST to update to the value that is on screen at that time. We don't save a copy of what is before the edit to compare with what the value is at the time the SAVE button is pressed. The only page we have special handling is the JVM options page.
        Hide
        Tom Mueller added a comment -

        Fixed in revision 47933 on the trunk
        and in revision 47934 on the 3.1.1 branch.

        Show
        Tom Mueller added a comment - Fixed in revision 47933 on the trunk and in revision 47934 on the 3.1.1 branch.
        Hide
        lidiam added a comment -

        Verified in promoted build ogs-3.1.1-b11-aix.zip.

        Show
        lidiam added a comment - Verified in promoted build ogs-3.1.1-b11-aix.zip.

          People

          • Assignee:
            Tom Mueller
            Reporter:
            lidiam
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: