Issue Details (XML | Word | Printable)

Key: GLASSFISH-15684
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Anissa Lam
Reporter: Harshad Vilekar
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
glassfish

MQ configure-jms-cluster is not supported by the GUI

Created: 25/Jan/11 11:03 AM   Updated: 03/Feb/11 10:49 AM  Due: 04/Feb/11   Resolved: 03/Feb/11 10:49 AM
Component/s: admin_gui
Affects Version/s: 3.1_b38
Fix Version/s: 3.1_b41

Time Tracking:
Not Specified

File Attachments: 1. File jms.diff (12 kB) 02/Feb/11 11:07 PM - Anissa Lam

Issue Links:
Dependency
 

Tags: 3_1-approved
Participants: Anissa Lam, Chris Kasso, Harshad Vilekar and sumasri


 Description  « Hide

Steps:

1. Start the domain

cd $AS_HOME/bin
asadmin start-domain

2. Create appserver cluster

Clusters - New - cluster1 - OK

3. Set JMS integration mode to LOCAL

Configurations - Cluster1-config - Java Message Service - Type - LOCAL - Save

4. Use CLI to Configure Message Queue cluster. This configuration is currently not supported by the Admin GUI.

Example:

Specify DB password in a file using the key AS_ADMIN_JMSDBPASSWORD

$ more /tmp/as_passfile
AS_ADMIN_JMSDBPASSWORD=mypassword

Configure Message Queue cluster
$ asadmin --passwordfile /tmp/as_passfile configure-jms-cluster --clustertype=enhanced --dbvendor=mysql dbuser=root --dburl="jdbc:mysql://hostname.us.oracle.com:5000/mqdb" cluster1

domain.xml:
<jms-availability availability-enabled="true" db-password="mypassword" db-url="jdbc:mysql://hostname.us.oracle.com:5000/mqdb" message-store-type="jdbc" db-vendor="mysql" db-username="root"></jms-availability>

Details of additional options and properties supported by the CLI are available: "asadmin configure-jms-cluster --help"

5. Check out JMS availability tab. Various JMS cluster configuration parameters are not available on the GUI screen. JMS cluster configuration in domain.xml (set by CLI) gets overwritten when "Save" button is pressed.

Configurations - Cluster1-config - Availability Service - JMS Availability- Availability Service - check "Enabled" - Save

Result:

domain.xml:
<jms-availability availability-enabled="true"></jms-availability>



Anissa Lam added a comment - 25/Jan/11 11:11 AM

I believe the page Configuration -> <cluster-config-name> -> JMS Availability tab should be providing this function. I looked at the screen, we are basically showing what is in the dtd from v2.

<!ELEMENT jms-availability (property*)>
<!ATTLIST jms-availability
availability-enabled %boolean; "false"
mq-store-pool-name CDATA #IMPLIED
>

If you use CLI and run the command:
%asadmin configure-jms-cluster --dbvendor=mysql --dbuser=root --dburl="jdbc:mysql://mqsflinux1.us.oracle.com:5000/mqdb" --clustertype conventional --configstoretype=shareddb --messagestoretype=jdbc clusterABC

this will be written out to domain.xml as
<jms-availability config-store-type="shareddb" mq-store-pool-name="MyPool" db-url="jdbc:mysql://mqsflinux1.us.oracle.com:5000/mqdb" db-vendor="mysql" message-store-type="jdbc" db-username="root"></jms-availability>

However, if you go to GUI and click SAVE, all these value will be overwritten, and you get:

<jms-availability mq-store-pool-name="MyPool" availability-enabled="true"></jms-availability>

Whenever there is ANY changes to config element, like additional attributes that needs to be reflect in the GUI page, the module owner should file issue against GUI so that it can be updated. Its not possible for GUI to keep track of all changes in config bean.

However, GUI team was not notified of the change and thus this page is obsoleted and not correct.

We have 2 options now:
option 1: Add all the new 'missing' attributes to the GUI screen.
option 2: Remove the GUI JMS Availability screen completely. Otherwise, once user click on SAVE on this screen, all the values they previously setup using CLI will be gone. We just have to document this and tell user they have to use CLI to set this up.

My estimate of option 1 from GUI is 1-2 day. This will affect Doc and Testing.
Option 2 will affect Doc too, since there will be online help talking about this page which no longer exists.

I don't have particular preference. I'll let Nazrul decide.


Anissa Lam added a comment - 25/Jan/11 01:03 PM

Nazrul believes this should be fixed if it is contained in 1 page, which it is.
So, I am going to start working on this.

  • How bad is its impact? (Severity)
    Missing 'configure-jms-cluster' support in GUI. But whats worse is that, doing SAVE in the JMS Availability page will remove all the configuration to the <jms-availability> element that user setup using CLI.
  • How often does it happen? (Frequency)
    Whenever user wants to configure JMS availability.
  • How much effort is required to fix it? (Cost)
    2 days
  • What is the risk of fixing it? (Risk)
    The fix only affects one page, very low risk for regression.
  • Does a work around for the issue exist? Can the workaround be reasonably employed by the end user?
    There isn't no work around. We have to take option 1 or 2. We decided to take option 1, ie fix it properly.
  • If the issue is not fixed should the issue and its workaround (if applicable) be described in the Release Notes?
    Yes. If we don't fix it properly, need to let user know that this feature can only be performed using CLI.

Anissa Lam added a comment - 25/Jan/11 03:36 PM

Request Suma to help this.
This should be a standard config page.

Please refer to
admin/config-api/main/java/com/sun/enterprise/config/serverbeans/JmsAvailability.java

for the new list of attribute supported and provide UI in that page.


sumasri added a comment - 27/Jan/11 09:56 AM

How bad is its impact? (Severity)
High.

How often does it happen? (Frequency)
Whenever user tries to modify the values in JMS availability through GUI, existing values other than (availablity enabled and store pool name fields) will be erased.

How much effort is required to fix it? (Cost)
3 hours

What is the risk of fixing it? (Risk)
low

Does a work around for the issue exist? Can the workaround be reasonably employed by the end user?
No

If the issue is not fixed should the issue and its workaround (if applicable) be described in the Release Notes?
No

Added all the fields from jms-availability to GUI page.
Fix for the issue:

Index: jms-plugin/src/main/resources/jmsAvailabilityService.jsf
===================================================================
— jms-plugin/src/main/resources/jmsAvailabilityService.jsf (revision 44734)
+++ jms-plugin/src/main/resources/jmsAvailabilityService.jsf (working copy)
@@ -88,6 +88,24 @@
<sun:property id="StorePoolNameProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.storePoolName}" helpText="$resource{i18njms.availability.storePoolNameHelp}">
<sun:textField id="StorePoolName" columns="$int{15}" maxLength="#{sessionScope.fieldLengths['maxLength.availabilty.mqStorePoolName']}" text="#{pageSession.valueMap['mqStorePoolName']}" />
</sun:property>
+ <sun:property id="ConfigStoreTypeProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.configStoreType}" helpText="$resource{i18njms.availability.configStoreTypeHelp}">
+ <sun:dropDown id="ConfigStoreType" selected="#{pageSession.valueMap['configStoreType']}" labels={"$resource{i18njms.availability.configStoreType.masterbroker}","$resource{i18njms.availability.configStoreType.shareddb}"} />
+ </sun:property>
+ <sun:property id="MessageStoreTypeProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.messageStoreType}" helpText="$resource{i18njms.availability.messageStoreTypeHelp}">
+ <sun:dropDown id="MessageStoreType" selected="#{pageSession.valueMap['messageStoreType']}" labels={"$resource{i18njms.availability.messageStoreType.file}","$resource{i18njms.availability.messageStoreType.jdbc}"} />
+ </sun:property>
+ <sun:property id="DbVendorProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.dbVendor}" helpText="$resource{i18njms.availability.dbVendorHelp}">
+ <sun:textField id="DbVendor" columns="$int{15}" maxLength="#{sessionScope.fieldLengths['maxLength.availabilty.dbVendor']}" text="#{pageSession.valueMap['dbVendor']}" />
+ </sun:property>
+ <sun:property id="DbUserNameProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.UserName}" helpText="$resource{i18njms.availability.dbUserNameHelp}">
+ <sun:textField id="DbUserName" columns="$int{15}" maxLength="#{sessionScope.fieldLengths['maxLength.availabilty.dbUserName']}" text="#{pageSession.valueMap['dbUsername']}" />
+ </sun:property>
+ <sun:property id="DbPasswordProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.dbPassword}" helpText="$resource{i18njms.availability.dbPasswordHelp}">
+ <sun:textField id="DbPassword" columns="$int{15}" maxLength="#{sessionScope.fieldLengths['maxLength.availabilty.dbPassword']}" text="#{pageSession.valueMap['dbPassword']}" />
+ </sun:property>
+ <sun:property id="DbUrlProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.dbUrl}" helpText="$resource{i18njms.availability.dbUrlHelp}">
+ <sun:textField id="DbUrl" columns="$int{15}" maxLength="#{sessionScope.fieldLengths['maxLength.availabilty.dbUrl']}" text="#{pageSession.valueMap['dbUrl']}" />
+ </sun:property>
"<br /><br />
</sun:propertySheetSection>
</sun:propertySheet>
Index: jms-plugin/src/main/resources/org/glassfish/jms/admingui/Strings.properties
===================================================================
— jms-plugin/src/main/resources/org/glassfish/jms/admingui/Strings.properties (revision 44734)
+++ jms-plugin/src/main/resources/org/glassfish/jms/admingui/Strings.properties (working copy)
@@ -335,4 +335,20 @@
availability.jmsAvailabilityInfo=Availability for JMS
availability.jmsAvailabilityInfoHelp=Enable JMS Availability Service
availability.storePoolName=MQ Store Pool Name:
-availability.storePoolNameHelp=JNDI name of the JDBC Resource used by the MQ broker cluster when saving persistent JMS messages and other broker cluster configuration information; name must contain only alphanumeric, underscore, dash, or dot characters.
\ No newline at end of file
+availability.storePoolNameHelp=JNDI name of the JDBC Resource used by the MQ broker cluster when saving persistent JMS messages and other broker cluster configuration information; name must contain only alphanumeric, underscore, dash, or dot characters.
+availability.configStoreType=Configuration Store Type:
+availability.configStoreTypeHelp=Type of data store for configuration data in a conventional cluster.
+availability.configStoreType.masterbroker=masterbroker
+availability.configStoreType.shareddb=shareddb
+availability.messageStoreType=Message Store Type:
+availability.messageStoreTypeHelp=Type of data store for message data in brokers in a conventional cluster.
+availability.messageStoreType.file=file
+availability.messageStoreType.jdbc=jdbc
+availability.dbVendor=Database Vendor:
+availability.dbVendorHelp=The database vendor of the JDBC database.
+availability.dbUserName=Database User Name:
+availability.dbUserNameHelp=The database user name of the JDBC database.
+availability.dbPassword=Database Password:
+availability.dbPasswordHelp=The database password of the JDBC database.
+availability.dbUrl=Database Acess URL:
+availability.dbUrlHelp=The database access URL of the JDBC database.
\ No newline at end of file
Index: common/src/main/resources/org/glassfish/common/FieldLengths.properties
===================================================================
— common/src/main/resources/org/glassfish/common/FieldLengths.properties (revision 44743)
+++ common/src/main/resources/org/glassfish/common/FieldLengths.properties (working copy)
@@ -343,6 +343,10 @@
maxLength.availabilty.haAgentPassword=512
maxLength.availabilty.haStoreHealthcheckIntervalInSeconds=10
maxLength.availabilty.mqStorePoolName=512
+maxLength.availabilty.dbVendor=512
+maxLength.availabilty.dbUserName=512
+maxLength.availabilty.dbPassword=512
+maxLength.availabilty.dbUrl=512
maxLength.availabilty.persistenceType=512
maxLength.availabilty.persistenceFrequency=512
maxLength.availabilty.persistenceScope=512


Anissa Lam added a comment - 27/Jan/11 10:15 AM

I don't see the [--clustertype={conventional|enhanced}] , did you miss it ?

I would like to see the helptext to give more info. The reason being there may not be online help for this screen.

+availability.configStoreTypeHelp=Type of data store for configuration data in a conventional cluster.
include the following from manpage.
The type of data store for configuration data in a con-
ventional cluster. The value masterbroker specifies the
use of a master broker to store and manage the confi-
guration data. The value shareddb specifies the use of a
shared database to store the configuration data.

+availability.messageStoreTypeHelp=Type of data store for message data in brokers in a conventional cluster.

The type of data store for message data in brokers in a
conventional cluster. The value file specifies a file
store. The value jdbc specifies a JDBC store.


sumasri added a comment - 27/Jan/11 10:33 AM

I did not miss the clusterType field. ClusterType means availability enabled(the same name has been used in config bean) in GUI page. Modified help text of this field to understand.

Added more details for other fields help text also.

Index: jms-plugin/src/main/resources/jmsAvailabilityService.jsf
===================================================================
— jms-plugin/src/main/resources/jmsAvailabilityService.jsf (revision 44734)
+++ jms-plugin/src/main/resources/jmsAvailabilityService.jsf (working copy)
@@ -88,6 +88,24 @@
<sun:property id="StorePoolNameProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.storePoolName}" helpText="$resource{i18njms.availability.storePoolNameHelp}">
<sun:textField id="StorePoolName" columns="$int{15}" maxLength="#{sessionScope.fieldLengths['maxLength.availabilty.mqStorePoolName']}" text="#{pageSession.valueMap['mqStorePoolName']}" />
</sun:property>
+ <sun:property id="ConfigStoreTypeProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.configStoreType}" helpText="$resource{i18njms.availability.configStoreTypeHelp}">
+ <sun:dropDown id="ConfigStoreType" selected="#{pageSession.valueMap['configStoreType']}" labels={"$resource{i18njms.availability.configStoreType.masterbroker}","$resource{i18njms.availability.configStoreType.shareddb}"} />
+ </sun:property>
+ <sun:property id="MessageStoreTypeProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.messageStoreType}" helpText="$resource{i18njms.availability.messageStoreTypeHelp}">
+ <sun:dropDown id="MessageStoreType" selected="#{pageSession.valueMap['messageStoreType']}" labels={"$resource{i18njms.availability.messageStoreType.file}","$resource{i18njms.availability.messageStoreType.jdbc}"} />
+ </sun:property>
+ <sun:property id="DbVendorProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.dbVendor}" helpText="$resource{i18njms.availability.dbVendorHelp}">
+ <sun:textField id="DbVendor" columns="$int{15}" maxLength="#{sessionScope.fieldLengths['maxLength.availabilty.dbVendor']}" text="#{pageSession.valueMap['dbVendor']}" />
+ </sun:property>
+ <sun:property id="DbUserNameProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.UserName}" helpText="$resource{i18njms.availability.dbUserNameHelp}">
+ <sun:textField id="DbUserName" columns="$int{15}" maxLength="#{sessionScope.fieldLengths['maxLength.availabilty.dbUserName']}" text="#{pageSession.valueMap['dbUsername']}" />
+ </sun:property>
+ <sun:property id="DbPasswordProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.dbPassword}" helpText="$resource{i18njms.availability.dbPasswordHelp}">
+ <sun:textField id="DbPassword" columns="$int{15}" maxLength="#{sessionScope.fieldLengths['maxLength.availabilty.dbPassword']}" text="#{pageSession.valueMap['dbPassword']}" />
+ </sun:property>
+ <sun:property id="DbUrlProp" labelAlign="left" noWrap="#{true}" overlapLabel="#{false}" label="$resource{i18njms.availability.dbUrl}" helpText="$resource{i18njms.availability.dbUrlHelp}">
+ <sun:textField id="DbUrl" columns="$int{15}" maxLength="#{sessionScope.fieldLengths['maxLength.availabilty.dbUrl']}" text="#{pageSession.valueMap['dbUrl']}" />
+ </sun:property>
"<br /><br />
</sun:propertySheetSection>
</sun:propertySheet>
Index: jms-plugin/src/main/resources/org/glassfish/jms/admingui/Strings.properties
===================================================================
— jms-plugin/src/main/resources/org/glassfish/jms/admingui/Strings.properties (revision 44734)
+++ jms-plugin/src/main/resources/org/glassfish/jms/admingui/Strings.properties (working copy)
@@ -333,6 +333,22 @@

  1. JMS Availability Service
    availability.jmsAvailability=JMS Availability
    availability.jmsAvailabilityInfo=Availability for JMS
    -availability.jmsAvailabilityInfoHelp=Enable JMS Availability Service
    +availability.jmsAvailabilityInfoHelp=Enable JMS Availability Service. If true, the MQ cluster pointed to by the jms-service element is a HA (enhanced). If false, then the MQ cluster pointed to by the jms-service element is considered non-HA (Conventional MQ cluster) cluster.
    availability.storePoolName=MQ Store Pool Name:
    -availability.storePoolNameHelp=JNDI name of the JDBC Resource used by the MQ broker cluster when saving persistent JMS messages and other broker cluster configuration information; name must contain only alphanumeric, underscore, dash, or dot characters.
    \ No newline at end of file
    +availability.storePoolNameHelp=JNDI name of the JDBC Resource used by the MQ broker cluster when saving persistent JMS messages and other broker cluster configuration information; name must contain only alphanumeric, underscore, dash, or dot characters.
    +availability.configStoreType=Configuration Store Type:
    +availability.configStoreTypeHelp=Type of data store for configuration data in a conventional cluster.The value masterbroker specifies the use of a master broker to store and manage the configuration data. The value shareddb specifies the use of a shared database to store the configuration data.
    +availability.configStoreType.masterbroker=masterbroker
    +availability.configStoreType.shareddb=shareddb
    +availability.messageStoreType=Message Store Type:
    +availability.messageStoreTypeHelp=Type of data store for message data in brokers in a conventional cluster. The value file specifies a file store. The value jdbc specifies a JDBC store.
    +availability.messageStoreType.file=file
    +availability.messageStoreType.jdbc=jdbc
    +availability.dbVendor=Database Vendor:
    +availability.dbVendorHelp=The database vendor of the JDBC database to use when availabilyenabled is set to true or configstoretype is set to shareddb or messagestoretype is set to jdbc.
    +availability.dbUserName=Database User Name:
    +availability.dbUserNameHelp=The database user name of the JDBC database to use when availabilyenabled is set to true or configstoretype is set to shareddb or messagestoretype is set to jdbc.
    +availability.dbPassword=Database Password:
    +availability.dbPasswordHelp=The database password of the JDBC database to use when availabilyenabled is set to true or configstoretype is set to shareddb or messagestoretype is set to jdbc.
    +availability.dbUrl=Database Acess URL:
    +availability.dbUrlHelp=The database access URL of the JDBC database to use when availabilyenabled is set to true or configstoretype is set to shareddb or messagestoretype is set to jdbc.
    \ No newline at end of file
    Index: common/src/main/resources/org/glassfish/common/FieldLengths.properties
    ===================================================================
      • common/src/main/resources/org/glassfish/common/FieldLengths.properties (revision 44743)
        +++ common/src/main/resources/org/glassfish/common/FieldLengths.properties (working copy)
        @@ -343,6 +343,10 @@
        maxLength.availabilty.haAgentPassword=512
        maxLength.availabilty.haStoreHealthcheckIntervalInSeconds=10
        maxLength.availabilty.mqStorePoolName=512
        +maxLength.availabilty.dbVendor=512
        +maxLength.availabilty.dbUserName=512
        +maxLength.availabilty.dbPassword=512
        +maxLength.availabilty.dbUrl=512
        maxLength.availabilty.persistenceType=512
        maxLength.availabilty.persistenceFrequency=512
        maxLength.availabilty.persistenceScope=512

Anissa Lam added a comment - 27/Jan/11 11:29 AM

approved.
Why i don't see the --clusterType option ?

Please add more inline help for messageStoreType and configStoreType. maybe copy the few sentence from man page.
thanks


sumasri added a comment - 27/Jan/11 11:47 AM

clusterType is nothing but availability-enabled field in the GUI page. I have some more inline help text for availability enabled help text for user to understand. The availability enabled(cluster type) field is already in the page.

Added the help text and checked in the changes.


Harshad Vilekar added a comment - 02/Feb/11 06:09 PM

The functionality for configure-jms-cluster is implemented recently in GUI (GLASSFISH-15684). This is a late integration (RC build).

Configurations - cluster1-config - Availability Service - JMS Availability

I see various errors / issues related to this screen (B41, nightly).

1. "Configuration Store Type" is not needed when"Availability Service" is "Enabled" (checked).

CLI does check for invalid options and fails, keeping the integrity of domain.xml:

------------------------------
asadmin --passwordfile /tmp/as_passfile configure-jms-cluster --clustertype=enhanced --dbvendor=mysql --dbuser=root --dburl="jdbc:mysql://mqsflinux1.us.oracle.com:5000/mqdb" --configstoretype sharedb cluster1

remote failure: configstoretype option is not configurable for Enhanced clusters.
Command configure-jms-cluster failed.
------------------------------

GUI doesn't have the check, resulting in unwanted entry in domain.xml:
<jms-availability config-store-type="shareddb" availability-enabled="true" db-url="jdbc:mysql://mqsflinux1.us.oracle.com:5000/mqdb" db-password="mysqlmysql" db-vendor="mysql" db-username="root"></jms-availability>

I think GUI needs to match the CLI checks, and should disable / gray out "Configuration Store Type" when"Availability Service" is "Enabled" (checked). That will keep integrity of domain.xml.

2. Similarly, "Message Store Type" field should be disabled when "Availability Enabled" service is checked. For HA, MQ always uses JDBC store.

3. What is the purpose of "MQ Store Pool Name" ? CLI doesn't have this option.

4. Online Help is incorrect, it doesn't match the "JMS Availability" screen.

5. "i18njms.availability.UserName" This is incorrect label for the field. It should say "Database Username"

6. There are other typos on the screen. Example, tool tip for "Database Password:" says "availabilyenabled"

7. When Save button is clicked, Server log prints message: "VariableResolver was unable to find key (availability.UserName) in ResourceBundle (i18njms)"


Anissa Lam added a comment - 02/Feb/11 09:38 PM

#1: GUI can be enhanced to disable the dropdown for better user experience, but backend is taking that value fine. ActionReport returns SUCCESS. The element is preserved to domain.xml. According to the man page, The default value is masterbroker. This option is ignored if clustertype is set to enhanced.
Please file an issue against 'ha' if it shouldn't take 'masterborker' as the input. They should return FAILURE and NOT persist that in domain.xml

#2. "Message Store Type" field should be disabled when "Availability Enabled" service is checked.
Please file an enhancement.

#3. What is the purpose of "MQ Store Pool Name" ? CLI doesn't have this option.
This attribute is carried over from v2. I will remove that.

#4. Online Help is incorrect, it doesn't match the "JMS Availability" screen.
I just filed GLASSFISH-15806 against doc.

#5. "i18njms.availability.UserName"
Will fix properties file.

#6. There are other typos on the screen. Example, tool tip for "Database Password:" says "availabilyenabled"
Will fix properties file.

#7. Server log prints message: "VariableResolver was unable to find key (availability.UserName) in ResourceBundle (i18njms)"
This is due to #5 above.

As a summary, I see that GUI needs to remove the MQ Store Pool name, and fix the Strings.properties file.
This is very minor issue.


Anissa Lam added a comment - 02/Feb/11 11:01 PM

How bad is its impact? (Severity)
Pretty minor. We are showing a depreciated attribute, and a String property key instead of the String itself.

How often does it happen? (Frequency)
Every time when the JMS Availability page shows up

How much effort is required to fix it? (Cost)
1 hour.

What is the risk of fixing it? (Risk)
Extremely low.

Does a work around for the issue exist? Can the workaround be reasonably employed by the end user?
No.

If the issue is not fixed should the issue and its workaround (if applicable) be described in the Release Notes?
No.

How long has the bug existed in the product?
This is a new page that was integrated last week.

Do regression tests exist for this issue?
Yes, there is dev test for this screen, I have updated that now to reflect the removal of depreciated attribute.

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

When will a tested fix be ready for integration?
The diff is attached, which also contains the updated devtest.

Summary of what has been changed:

  • remove the depreciated attribute MQ Store Name which was from v2.
  • notice that that allowed value for Config Store Type (masterbroker, sharedb) and Message Store Type (file, jdbc) is put in the properties file for localization. This shouldn't be. So, modify that also.
  • fix properties file.

Anissa Lam added a comment - 02/Feb/11 11:16 PM

Please refer to the last comment. This is by no means a blocker issue.


Chris Kasso added a comment - 03/Feb/11 09:40 AM

Approved for RC2.


Anissa Lam added a comment - 03/Feb/11 10:49 AM

Fix checked into both Trunk and 3.1 branch.
Trunk: rev# 44873
3.1 Branch: rev# 44874

=================

Project: glassfish
Repository: svn
Revision: 44874
Author: anilam
Date: 2011-02-03 18:48:12 UTC
Link:

Log Message:
------------
Issue: GLASSFISH-15684 Fix JMS Availability screen.
Summary of what has been changed:

  • remove the depreciated attribute MQ Store Name which was from v2.
  • notice that that allowed value for Config Store Type (masterbroker, sharedb) and Message Store Type (file, jdbc) is put in the properties file for localization. This shouldn't be. So, modify that also.
  • fix properties file.

Fix is in the trunk as rev# 44873

Reviewed by Suma, Srini
Approved by Chris Kaaso

Revisions:
----------
44874

Modified Paths:
---------------
branches/3.1/admingui/jms-plugin/src/main/resources/jmsAvailabilityService.jsf
branches/3.1/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/AvailabilityServiceTest.java
branches/3.1/admingui/jms-plugin/src/main/resources/org/glassfish/jms/admingui/Strings.properties