[GLASSFISH-15517] "Restart Required" when no changes are made to JVM options Created: 10/Jan/11  Updated: 21/Mar/11  Resolved: 21/Mar/11

Status: Closed
Project: glassfish
Component/s: admin_gui
Affects Version/s: 3.1_b37
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Harshad Vilekar Assignee: srinik76
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1-exclude

 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.



 Comments   
Comment by Nazrul [ 10/Jan/11 ]

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

Comment by Harshad Vilekar [ 10/Jan/11 ]

Changing to RFE. OK to exclude from 3.1.

Comment by Anissa Lam [ 10/Jan/11 ]

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

Comment by Nazrul [ 10/Jan/11 ]

Excluding from 3.1 count based on above comments.

Comment by Anissa Lam [ 15/Mar/11 ]

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.

Comment by Scott Fordin [ 18/Mar/11 ]

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

Comment by srinik76 [ 21/Mar/11 ]

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

Generated at Sun May 24 15:50:59 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.