glassfish
  1. glassfish
  2. GLASSFISH-15517

"Restart Required" when no changes are made to JVM options

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1_b37
    • Fix Version/s: None
    • Component/s: admin_gui
    • Labels:
      None

      Description

      • click: server-config - JVM setting - JVM options - Save
      • Note that no changes are made to any of the parameters.
      • Every time "Save" is clicked - "restart required" is displayed, and following is logged in the server log.

      ===============
      [#|2011-01-04T15:49:12.877-0800|WARNING|oracle-glassfish3.1|null|_ThreadID=29;_ThreadName=Thread-1;|Unprocessed event : UnprocessedChangeEvent{PropertyName=jvm-options, OldValue = [-Djava.security.policy=$

      {com.sun.aas.instanceRoot}/config/server.policy, -Dosgi.shell.telnet.maxconn=1, -XX:NewRatio=2, -Dfelix.fileinstall.poll=5000, -Djava.endorsed.dirs=${com.sun.aas.installRoot}/modules/endorsed${path.separator}${com.sun.aas.installRoot}/lib/endorsed, -Dosgi.shell.telnet.port=6666, -Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory, -Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${com.sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}

      /lib/ext, Dgosh.args=-noshutdown -c noop=true, -Djavax.management.builder.initial=com.sun.enterprise.v3.admin.AppServerMBeanServerBuilder, -Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as, -XX:MaxPermSize=200m, -XX:+UnlockDiagnosticVMOptions, -Dfelix.fileinstall.bundles.startTransient=true, -Dfelix.fileinstall.dir=$

      {com.sun.aas.installRoot}/modules/autostart/, -Dfelix.fileinstall.bundles.new.start=true, -Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf, -Dosgi.shell.telnet.ip=127.0.0.1, -Dfelix.fileinstall.log.level=2, -client, -Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks, -Xmx512m, -Djdbc.drivers=org.apache.derby.jdbc.ClientDriver, -Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks, -DANTLR_USE_DIRECT_CLASS_LOADING=true], NewValue = [], Source = GlassFishConfigBean.com.sun.enterprise.config.serverbeans.JavaConfig}, reason = Removal of: -Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf cannot take effect without server restart, Removal of: -XX:NewRatio=2 cannot take effect without server restart, Removal of: -Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy cannot take effect without server restart, Removal of: -XX:+UnlockDiagnosticVMOptions cannot take effect without server restart, Removal of: -Djavax.management.builder.initial=com.sun.enterprise.v3.admin.AppServerMBeanServerBuilder cannot take effect without server restart, Removal of: -Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks cannot take effect without server restart, Removal of: -Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks cannot take effect without server restart, Removal of: -XX:MaxPermSize=200m cannot take effect without server restart, Removal of: -client cannot take effect without server restart, Removal of: -Djava.endorsed.dirs=${com.sun.aas.installRoot}

      /modules/endorsed$

      {path.separator}${com.sun.aas.installRoot}/lib/endorsed cannot take effect without server restart, Removal of: -Xmx512m cannot take effect without server restart, Removal of: -Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}

      $

      {com.sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}/lib/ext cannot take effect without server restart, when = 1294184952877|#]

      [#|2011-01-04T15:49:12.950-0800|WARNING|oracle-glassfish3.1|null|_ThreadID=30;_ThreadName=Thread-1;|Unprocessed event : UnprocessedChangeEvent{PropertyName=jvm-options, OldValue = [], NewValue = [-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy, -Dosgi.shell.telnet.maxconn=1, -Dfelix.fileinstall.poll=5000, -XX:NewRatio=2, -Djava.endorsed.dirs=${com.sun.aas.installRoot}/modules/endorsed${path.separator}${com.sun.aas.installRoot}/lib/endorsed, -Dosgi.shell.telnet.port=6666, -Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory, -Djava.ext.dirs=${com.sun.aas.javaRoot}

      /lib/ext$

      {path.separator}${com.sun.aas.javaRoot}/jre/lib/ext${path.separator}

      $

      {com.sun.aas.instanceRoot}/lib/ext, Dgosh.args=-noshutdown -c noop=true, -Djavax.management.builder.initial=com.sun.enterprise.v3.admin.AppServerMBeanServerBuilder, -Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as, -XX:MaxPermSize=200m, -XX:+UnlockDiagnosticVMOptions, -Dfelix.fileinstall.bundles.startTransient=true, -Dfelix.fileinstall.dir=${com.sun.aas.installRoot}/modules/autostart/, -Dfelix.fileinstall.bundles.new.start=true, -Djava.security.auth.login.config=${com.sun.aas.instanceRoot}

      /config/login.conf, -Dosgi.shell.telnet.ip=127.0.0.1, -Dfelix.fileinstall.log.level=2, -client, -Djavax.net.ssl.keyStore=$

      {com.sun.aas.instanceRoot}/config/keystore.jks, -Xmx512m, -Djdbc.drivers=org.apache.derby.jdbc.ClientDriver, -Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}

      /config/cacerts.jks, -DANTLR_USE_DIRECT_CLASS_LOADING=true], Source = GlassFishConfigBean.com.sun.enterprise.config.serverbeans.JavaConfig}, reason = Addition of: '-Djava.security.auth.login.config=$

      {com.sun.aas.instanceRoot}/config/login.conf' cannot take effect without server restart, Addition of: '-XX:NewRatio=2' cannot take effect without server restart, Addition of: '-Djava.security.policy=${com.sun.aas.instanceRoot}

      /config/server.policy' cannot take effect without server restart, Addition of: '-XX:+UnlockDiagnosticVMOptions' cannot take effect without server restart, Addition of: '-Djavax.management.builder.initial=com.sun.enterprise.v3.admin.AppServerMBeanServerBuilder' cannot take effect without server restart, Addition of: '-Djavax.net.ssl.keyStore=$

      {com.sun.aas.instanceRoot}/config/keystore.jks' cannot take effect without server restart, Addition of: '-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}

      /config/cacerts.jks' cannot take effect without server restart, Addition of: '-XX:MaxPermSize=200m' cannot take effect without server restart, Addition of: '-client' cannot take effect without server restart, Addition of: '-Djava.endorsed.dirs=$

      {com.sun.aas.installRoot}/modules/endorsed${path.separator}${com.sun.aas.installRoot}

      /lib/endorsed' cannot take effect without server restart, Addition of: '-Xmx512m' cannot take effect without server restart, Addition of: '-Djava.ext.dirs=$

      {com.sun.aas.javaRoot}/lib/ext${path.separator}${com.sun.aas.javaRoot}

      /jre/lib/ext$

      {path.separator}

      $

      {com.sun.aas.instanceRoot}

      /lib/ext' cannot take effect without server restart, when = 1294184952949|#]
      =======================================

      • Suggestion: Optimize. Perhaps - gray out "Save" button until some config changes are made ?

      This issue may be considered as a request for enhancement / improvement.

        Activity

        Harshad Vilekar created issue -
        Hide
        Nazrul added a comment -

        This is not a very common scenario. Should we exclude it from 3.1?

        Show
        Nazrul added a comment - This is not a very common scenario. Should we exclude it from 3.1?
        Hide
        Harshad Vilekar added a comment -

        Changing to RFE. OK to exclude from 3.1.

        Show
        Harshad Vilekar added a comment - Changing to RFE. OK to exclude from 3.1.
        Harshad Vilekar made changes -
        Field Original Value New Value
        Issue Type Bug [ 1 ] Improvement [ 4 ]
        Hide
        Anissa Lam added a comment -

        To gray out the button means we have to listen to all key press on that screen such that if it is detected, allow the SAVE button to be enabled. This doesn't follow the convention of all the other GUI screen.

        I think the best way to fix this is that, we keep a copy of the orig option, then upon save, compared the current list with the original list and SAVE that, otherwise it is a no-op.

        However, in the REST layer, saving jvm option means removing them all and then add it back as this is a POST. so, REST client will have the same issue even if we fix that in GUI.

        We do have the orig list during the SAVE, we should be able to compare. But I think we should just exclude this for 3.1

        Show
        Anissa Lam added a comment - To gray out the button means we have to listen to all key press on that screen such that if it is detected, allow the SAVE button to be enabled. This doesn't follow the convention of all the other GUI screen. I think the best way to fix this is that, we keep a copy of the orig option, then upon save, compared the current list with the original list and SAVE that, otherwise it is a no-op. However, in the REST layer, saving jvm option means removing them all and then add it back as this is a POST. so, REST client will have the same issue even if we fix that in GUI. We do have the orig list during the SAVE, we should be able to compare. But I think we should just exclude this for 3.1
        Anissa Lam made changes -
        Issue Type Improvement [ 4 ] Bug [ 1 ]
        Nazrul made changes -
        Tags 3_1-exclude
        Hide
        Nazrul added a comment -

        Excluding from 3.1 count based on above comments.

        Show
        Nazrul added a comment - Excluding from 3.1 count based on above comments.
        Hide
        Anissa Lam added a comment -

        Srini, please look into this.
        We should save the orig list and then during the save, compare the orig list to the new list. If the list is the same, its a no op.

        Show
        Anissa Lam added a comment - Srini, please look into this. We should save the orig list and then during the save, compare the orig list to the new list. If the list is the same, its a no op.
        Anissa Lam made changes -
        Assignee Anissa Lam [ anilam ] srinik76 [ srinik76 ]
        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
        srinik76 added a comment -

        Sending common/src/main/java/org/glassfish/admingui/common/handlers/InstanceHandler.java
        Transmitting file data .
        Committed revision 45650.

        Show
        srinik76 added a comment - Sending common/src/main/java/org/glassfish/admingui/common/handlers/InstanceHandler.java Transmitting file data . Committed revision 45650.
        srinik76 made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            srinik76
            Reporter:
            Harshad Vilekar
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: