[GLASSFISH-19501] T13y: admin nucleus Created: 09/Jan/13  Updated: 09/Jan/13  Resolved: 09/Jan/13

Status: Closed
Project: glassfish
Component/s: admin
Affects Version/s: 3.1.2_b10
Fix Version/s: 3.1.2_b14, 4.0_b14

Type: Bug Priority: Major
Reporter: Joe Di Pol Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The translatability (t13y) group has run an audit on the GlassFish
message .properties files. This audit has identified a number of
strings that will cause issues for the translators.

This bug requests that the issues described in the report for the
following areas be addressed:

cluster/admin
cluster/cli
cluster/gms-bootstrap
cluster/common
shoal

The report is available at:

http://aseng-wiki.us.oracle.com/asengwiki/download/attachments/-2051473015/Glassfish+GF+3.1_WPTG_Analysis.xls

Note that the report consists of six different sheet (tabs). Each sheet
lists issues for a specific category of error.

Please go through all tabs and look for references to the .properties
files for the GlassFish areas listed above, and address the specific
issue described.

General guidance for how to address the issues in each category are
given here:
http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/3.1.2+T13y






[GLASSFISH-17995] Password Alias Not Resolved in create-node-dcom Created: 13/Dec/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: 3.1.2_b14, 4.0_b14
Fix Version/s: 3.1.2_b14, 4.0_b14

Type: Bug Priority: Critical
Reporter: Byron Nevins Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_2-approved

 Description   

Easy to reproduce.
1) Use the GUI to create a DCOM node.
1A) Use a password alias

Result – it will fail. create-node-dcom will try to use that exact string $

{ALIAS=xxx}

as the password.



 Comments   
Comment by Byron Nevins [ 13/Dec/11 ]

Here is the fix:

Index: admin/src/main/java/com/sun/enterprise/v3/admin/cluster/dcom/CreateNodeDcom.java
===================================================================
— admin/src/main/java/com/sun/enterprise/v3/admin/cluster/dcom/CreateNodeDcom.java (revision 51411)
+++ admin/src/main/java/com/sun/enterprise/v3/admin/cluster/dcom/CreateNodeDcom.java (working copy)
@@ -39,6 +39,7 @@
*/
package com.sun.enterprise.v3.admin.cluster.dcom;

+import com.sun.enterprise.universal.glassfish.TokenResolver;
import com.sun.enterprise.util.cluster.RemoteType;
import org.glassfish.cluster.ssh.util.DcomUtils;
import java.util.List;
@@ -49,6 +50,7 @@
import org.jvnet.hk2.annotations.*;
import org.jvnet.hk2.component.PerLookup;
import static com.sun.enterprise.util.StringUtils.ok;
+
/**

  • Remote AdminCommand to create a DCOM node
    *
    @@ -65,11 +67,12 @@
    private String windowspassword;
    @Param(name = "windowsdomain", shortName = "d", optional = true)
    private String windowsdomain;
    + private TokenResolver resolver = new TokenResolver();

@@ -82,6 +85,7 @@
protected void validate() throws CommandValidationException

{ if (!ok(windowspassword)) throw new CommandValidationException(Strings.get("update.node.dcom.no.password")); + windowspassword = DcomUtils.resolvePassword(resolver.resolve(windowspassword)); }

@Override

Comment by Byron Nevins [ 13/Dec/11 ]

What is the impact on the customer of the bug?
impossible to create DCOM nodes using a password alias. Very bad.

How likely is it that a customer will see the bug and how serious is the bug?
Is it a regression? Does it meet other bug fix criteria (security, performance, etc.)?

Very likely. None of the rest apply

  • What is the cost/risk of fixing the bug?

How risky is the fix? How much work is the fix? Is the fix complicated?
Simple. Easy. Low Risk. High benefit.

  • Is there an impact on documentation or message strings?
    None
  • Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
    Not necessary. QA never tried the scenario.
  • Which is the targeted build of 3.1.2 for this fix?
    The build schedule has run out at 13[1]. THis will go into B15.

[1] http://wikis.sun.com/display/GlassFish/3.1.2BuildSchedule

Comment by Byron Nevins [ 14/Dec/11 ]

d:\gf\branches\3.1.2\cluster>svn commit d:\gf\trunk\main\nucleus\cluster d:\gf\branches\3.1.2\cluster
Sending D:\gf\branches\3.1.2\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\NodeUtils.java
Sending D:\gf\branches\3.1.2\cluster\compare.bat
Sending D:\gf\branches\3.1.2\cluster\setfiles.bat
Sending D:\gf\trunk\main\nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\NodeUtils.java
Transmitting file data ....
Committed revision 51550.
d:\gf\branches\3.1.2\cluster>





[GLASSFISH-17993] New Node Text Created: 13/Dec/11  Updated: 13/Dec/11  Resolved: 13/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.2_b14, 4.0_b14
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: Byron Nevins Assignee: Paul Davies
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

New Node Page has this:

Specifies whether the GlassFish Server software should be installed on host that the node represents. The default is .ssh/authorized_keys. If the file does not exist, it will be created.



 Comments   
Comment by Paul Davies [ 13/Dec/11 ]

For the 3.1.2 branch, this issue was fixed in Revision 51434.





[GLASSFISH-17992] SSH is not the only type of remote Created: 13/Dec/11  Updated: 13/Dec/11  Resolved: 13/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.2_b14, 4.0_b14
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: Byron Nevins Assignee: Paul Davies
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

(1) Not correct anylonger since there are now two kinds of remote nodes.
(2) Wording needs work. Recommend asking Paul Davies toproofread.

Location:
"New Node" page

If the type is CONFIG, the node is not enabled for remote communication and the SSH information is removed from the page. To create instances on a remote node of type CONFIG, you must use the create-local-instance subcommand. You cannot use the Administration Console for this purpose.
Node Host:



 Comments   
Comment by Anissa Lam [ 13/Dec/11 ]

transfer to doc as Paul is working on the inline help.

Comment by Paul Davies [ 13/Dec/11 ]

For the 3.1.2 branch, this issue was fixed in Revision 51434.





[GLASSFISH-17982] SSL3 should be enabled by default in domain.xml Created: 13/Dec/11  Updated: 13/Dec/11  Resolved: 13/Dec/11

Status: Resolved
Project: glassfish
Component/s: security
Affects Version/s: 3.1.2_b14
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: oleksiys Assignee: Ryan Lubke
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

we were planning to enable SSL3 support by default for a long time (since 3.0.1)



 Comments   
Comment by Ryan Lubke [ 13/Dec/11 ]

SecureAdminCommand will need to be updated as well if we move on this. It currently explicitly sets ssl3-enabled to false.

Comment by Ryan Lubke [ 13/Dec/11 ]

Sending core/kernel/src/main/resources/org/glassfish/embed/domain.xml
Sending packager/nucleus-base/lib/templates/domain-aix.xml
Sending packager/nucleus-base/lib/templates/domain.xml
Sending packager/nucleus-base/lib/templates/web-domain.xml
Sending security/core/src/main/java/com/sun/enterprise/security/admin/cli/SecureAdminCommand.java
Transmitting file data .....
Committed revision 51533.





[GLASSFISH-17972] Disallow Running install-node-dcom on DAS machine Created: 11/Dec/11  Updated: 11/Dec/11  Resolved: 11/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: None
Fix Version/s: 3.1.2_b14, 4.0_b14

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


 Description   

It makes no sense to install GlassFish on a computer that is already running a GlassFish command in a GlassFish installation!

Possibly useful for testing but DCOM normally will NOT work against localhost anyway



 Comments   
Comment by Byron Nevins [ 11/Dec/11 ]

Easy – check the host in the (new) overridden validate method

Sending D:\gf\branches\3.1.2\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\InstallNodeDcomCommand.java
Sending D:\gf\branches\3.1.2\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\LocalStrings.properties
Sending D:\gf\branches\3.1.2\cluster\compare.bat
Sending D:\gf\branches\3.1.2\cluster\setfiles.bat
Sending D:\gf\trunk\main\nucleus\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\InstallNodeDcomCommand.java
Sending D:\gf\trunk\main\nucleus\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\LocalStrings.properties
Transmitting file data ......
Committed revision 51459.





[GLASSFISH-17967] [Blocking] javaee.jar needs to be updated with "new" jar names in 3.1.2 Created: 10/Dec/11  Updated: 12/Dec/11  Due: 12/Dec/11  Resolved: 12/Dec/11

Status: Resolved
Project: glassfish
Component/s: packaging
Affects Version/s: 3.1_b13
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Critical
Reporter: sb110099 Assignee: scatari
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 312_blocking, 312_qa

 Description   

javaee.jar contains links to other jar files for which names have changed recently ( following maven versioning rule) since 3.1.2 b13.

javaee.jar will have to be refreshed to reflect the new jar files.

Here is the list from Sathyan on the diff between 3.1.2 and 3.1.2:
Only in glassfish311/glassfish3/glassfish/lib/install/applications/__admingui/META-INF/maven: org.glassfish.admingui
Only in glassfish311/glassfish3/glassfish/lib/install/applications/__admingui/WEB-INF/lib: console-core-3.1.1.jar
Only in glassfish311/glassfish3/glassfish/modules: javax.servlet.jar
Only in glassfish311/glassfish3/glassfish/modules: jaxr-api-osgi.jar
Only in glassfish311/glassfish3/glassfish/modules: jsf-api.jar
Only in glassfish311/glassfish3/glassfish/modules: web-ajp.jar
Only in glassfish311/glassfish3/glassfish/osgi/felix/conf: config.properties
Only in glassfish311/glassfish3/glassfish/osgi/felix/conf: system.properties
Only in glassfish311/glassfish3/glassfish/osgi: equinox

Only in glassfish312/glassfish3/glassfish/config: osgi.properties
Only in glassfish312/glassfish3/glassfish/lib/install/applications/__admingui/META-INF/maven: org.glassfish.main.admingui
Only in glassfish312/glassfish3/glassfish/lib/install/applications/__admingui/WEB-INF/lib: console-core-3.1.2-b12.jar
Only in glassfish312/glassfish3/glassfish/lib/install/applications/__admingui: j_security_check
Only in glassfish312/glassfish3/glassfish/lib/install/databases/dbvendormapping: validationclassnames.properties
Only in glassfish312/glassfish3/glassfish/lib/templates: domain.xml.aix.xsl
Only in glassfish312/glassfish3/glassfish/lib/templates: web-domain.xml
Only in glassfish312/glassfish3/glassfish/modules: commonj.sdo.jar
Only in glassfish312/glassfish3/glassfish/modules: grizzly-http-ajp.jar
Only in glassfish312/glassfish3/glassfish/modules: j-interop-repackaged.jar
Only in glassfish312/glassfish3/glassfish/modules: javax.faces.jar
Only in glassfish312/glassfish3/glassfish/modules: javax.servlet-api.jar
Only in glassfish312/glassfish3/glassfish/modules: jersey-gf-servlet.jar
Only in glassfish312/glassfish3/glassfish/modules: jersey-moxy.jar
Only in glassfish312/glassfish3/glassfish/modules: org.eclipse.persistence.moxy.jar
Only in glassfish312/glassfish3/glassfish/modules: org.eclipse.persistence.sdo.jar

This is affecting QA test scripts for compilation of test apps and need to be fixed before SCF build.



 Comments   
Comment by kchung [ 12/Dec/11 ]

Fixed names for jar for servlet-api, jsp-api, el-api, and jstl-api.

Comment by Snjezana Sevo-Zenzerovic [ 12/Dec/11 ]

As far as I can tell, all renamed jars are now accounted for in javaee.jar manifest. Marking as fixed.





[GLASSFISH-17960] Nodes page should not require user to confirm password Created: 09/Dec/11  Updated: 12/Dec/11  Resolved: 12/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin_gui
Affects Version/s: 3.1.2_b13
Fix Version/s: 3.1.2_b14

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

Tags: 3_1_2-review

 Description   

In the Node create/edit, password entered for authentication to the remote system should not require user to confirm.



 Comments   
Comment by Anissa Lam [ 10/Dec/11 ]

Fix checked in.
User doesn't need to confirm password by providing it twice. This includes the password for SSH node, DCOM node and the password needed to call setup-ssh.
Fix should be available on 12/11 nightly build.





[GLASSFISH-17958] Only display MQ configuration section, if user selects to configure MQ Created: 09/Dec/11  Updated: 13/Jan/12  Resolved: 09/Dec/11

Status: Closed
Project: glassfish
Component/s: admin_gui
Affects Version/s: 3.1.2_b14
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: lidiam Assignee: Jason Lee
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 312_gui_new, 312_qa, 312_verified

 Description   

From DHQA: Only display MQ configuration section, if user selects to configure MQ. This section will not be used by most users, hence it makes sense to expand it only when users select to configure MQ. It can be accomplished similarly to Nodes page.



 Comments   
Comment by Anissa Lam [ 09/Dec/11 ]

I think Mike's suggestion during the meeting, providing the choice

  • Default
  • Custom MQ config

to the user and expand to show the MQ config section only when user select the custom choice makes sense.

Comment by Jason Lee [ 09/Dec/11 ]

Changes committed to branch (r51435) and trunk (r51436).

Comment by lidiam [ 13/Jan/12 ]

Verified in build ogs-3.1.2-b17.zip





[GLASSFISH-17957] Display default options for MQ configuration Created: 09/Dec/11  Updated: 13/Jan/12  Resolved: 09/Dec/11

Status: Closed
Project: glassfish
Component/s: admin_gui
Affects Version/s: 3.1.2_b14
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: lidiam Assignee: Jason Lee
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 312_gui_new, 312_qa, 312_verified

 Description   

From DHQA: Display default options for MQ configuration during cluster creation. This is consistent with the rest of Admin Console.



 Comments   
Comment by Jason Lee [ 09/Dec/11 ]

Changes committed to branch (r51435) and trunk (r51436).

Comment by lidiam [ 13/Jan/12 ]

Verified in build ogs-3.1.2-b17.zip





[GLASSFISH-17956] Cluster creation should fail if MQ configuration fails Created: 09/Dec/11  Updated: 17/Jan/12  Resolved: 09/Dec/11

Status: Closed
Project: glassfish
Component/s: admin_gui
Affects Version/s: 3.1.2_b14
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: lidiam Assignee: Jason Lee
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 312_verified

 Description   

From DHQA: cluster creation should fail if MQ configuration fails, since it is very hard for users to fix the MQ configuration issues (outside of Admin Console).



 Comments   
Comment by Anissa Lam [ 09/Dec/11 ]

I think printing out the error or warning should be enough, no ? It is up to the user whether they want to delete and re-create another cluster.

Comment by Jason Lee [ 09/Dec/11 ]

Changes committed to branch (r51435) and trunk (r51436).

Comment by lidiam [ 17/Jan/12 ]

This was tested by Sarada and error messages are displayed. Details below (the first item is not configurable on this screen, so does not apply to this bug).

1. If you provide wrong MQ information (like wrong user/password for jdbc or forget to copy jdbc driver) then instances will run successfully but broker fails to start.

In that case you can always go back to availability page to correct the information you have provided with the recent changes to admin gui.

2. Validating the fields

If you don't provide jdbc url for mq in create cluster page then the glassfish admin throws the appropriate error

The server cluster has NOT been created. An error occurred while configuring the JMS cluster:
No JDBC URL specified

Similarly, for the wrong db vendor:

The server cluster has NOT been created. An error occurred while configuring the JMS cluster:
Invalid DB Vednor specified





[GLASSFISH-17946] validate-dcom -- Add Check for JDK Created: 09/Dec/11  Updated: 09/Dec/11  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: None
Fix Version/s: 3.1.2_b14, 4.0_b14

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

Tags: 3_1_2-review

 Description   

Add a check for a JDK. Perhaps run jar.exe and check that output is returned?



 Comments   
Comment by Byron Nevins [ 09/Dec/11 ]

Done!

I added a test which runs "javac -version" to verify that a JDK is in the path

d:\gf\branches\3.1.2\cluster>svn commit -F D:\gf\svn-commit.3.tmp d:\gf\trunk\main\nucleus\cluster d:\gf\branches\3.1.2\cluster
Sending D:\gf\branches\3.1.2\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\LocalStrings.properties
Sending D:\gf\branches\3.1.2\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\ValidateDcom.java
Sending D:\gf\branches\3.1.2\cluster\common\src\main\java\com\sun\enterprise\util\cluster\windows\process\WindowsRemoteScripter.java
Sending D:\gf\branches\3.1.2\cluster\compare.bat
Sending D:\gf\branches\3.1.2\cluster\copyy.bat
Sending D:\gf\branches\3.1.2\cluster\setfiles.bat
Sending D:\gf\trunk\main\nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\LocalStrings.properties
Sending D:\gf\trunk\main\nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\ValidateDcom.java
Sending D:\gf\trunk\main\nucleus\cluster\common\src\main\java\com\sun\enterprise\util\cluster\windows\process\WindowsRemoteScripter.java
Transmitting file data .........
Committed revision 51408.





[GLASSFISH-17944] install-node-dcom/uninstall-node-dcom created NPE error messages, independently they were executed successfully or not Created: 08/Dec/11  Updated: 11/Dec/11  Resolved: 11/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin
Affects Version/s: 4.0
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: easarina Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: XML File domain.xml    

 Description   

Win 2008 b12. Installed a build, started domain and executed successfully the follow command:

===========================================================
C:\export>asadmin --user admin --passwordfile password1.txt install-node-dcom
--installdir C:\export\glassfish3 bigapp-oblade-1

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

Then executed change-admin-password, enable-secure-admin, stop/start domain and executed the follow commands:

===========================================================================
C:\export>asadmin --user admin --passwordfile password.txt create-node-dcom --nodehost bigapp-oblade-1 node10
C:\export>asadmin --user admin --passwordfile password.txt create-instance --node node10 in10
C:\export>asadmin --user admin --passwordfile password.txt start-instance in10
C:\export>asadmin --user admin --passwordfile password.txt create-cluster c1
C:\export>asadmin --user admin --passwordfile password.txt create-cluster c2
C:\export>asadmin --user admin --passwordfile password.txt create-instance --node node10 --cluster c1 in11
C:\export>asadmin --user admin --passwordfile password.txt create-instance --node node10 --cluster c2 in12
C:\export>asadmin --user admin --passwordfile password.txt start-cluster c1
C:\export>asadmin --user admin --passwordfile password.txt start-cluster c2
================================================================================

After that all install-node-dcom or uninstall-node-dcom commands created NPE error messages, independently they were executed successfully or not, for example:

C:\export>asadmin --user admin --passwordfile password1.txt uninstall-node-dcom
--installdir C:\export\glassfish3 bigapp-oblade-3
java.lang.NullPointerException
at com.sun.enterprise.admin.cli.cluster.NativeRemoteCommandsBase.removeT
railingSlash(NativeRemoteCommandsBase.java:360)
at com.sun.enterprise.admin.cli.cluster.NativeRemoteCommandsBase.checkIf
NodeExistsForHost(NativeRemoteCommandsBase.java:327)
at com.sun.enterprise.admin.cli.cluster.UninstallNodeBaseCommand.validat
e(UninstallNodeBaseCommand.java:75)
at com.sun.enterprise.admin.cli.CLICommand.execute(CLICommand.java:254)
at com.sun.enterprise.admin.cli.AsadminMain.executeCommand(AsadminMain.j
ava:306)
at com.sun.enterprise.admin.cli.AsadminMain.main(AsadminMain.java:238)
Command uninstall-node-dcom executed successfully.

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

I've reproduced the issue two times. domain.xml is attached.



 Comments   
Comment by Byron Nevins [ 08/Dec/11 ]

It would be very very helpful to ALWAYS attach a list of the exact commands you ran. This is really easy to do.
Just set the environmental variable and copy & paste.

export AS_LOGFILE=~/cli.txt

or

set AS_LOGFILE=c:/cli.txt

Comment by Byron Nevins [ 08/Dec/11 ]

I take that back - you have a nice list of commands in this bug...

Comment by Byron Nevins [ 09/Dec/11 ]

This almost certainly has something to do with enable-secure command.

If you look in the remote "agent" directory under the node directory you'll see that there is no such thing. Thus the server can never run.

Comment by easarina [ 09/Dec/11 ]

When I've saw this issue once, I've tried to reproduce it hardly several times. The simple enable-secure-admin not enough to see the issue. I believe clusters with nodes and instances have to be created.

Comment by Byron Nevins [ 09/Dec/11 ]

Please try doing the exact same series of steps using a SSH node

Comment by Byron Nevins [ 09/Dec/11 ]

I believe that this has nothing to do with DCOM.
Once everything is configured and instances and clusters are created – DCOM is used exclusively as a way to do RPC. I tried to reproduce this and everything is working flawlessly. I can't imagine that DCOM would start failing after a while. If this bug is real (I can NOT reproduce it after 2 hyours of trying) then it is a GlassFish Clustering bug – not a DCOM bug.

Reassigning to Tom for disposal.

Tom - I can't reproduce this.

Comment by easarina [ 09/Dec/11 ]

I can not reproduce the problem with ssh.

I want to add that I saw this problem one time. Then removed the installation and tried to reproduce the problem again. After several attempts I've recreated the issue. When it happened all install-node-dcom/uninstall-node-dcom created this error message. It takes time to reproduce the issue and some configuration with cluster/nodes/instances has to be created.

Comment by Tom Mueller [ 09/Dec/11 ]

Based on inspection, it appears that the problem is at about line 316 in NativeRemoteCommandsBase.java:

String d = removeTrailingSlash(node.getInstallDirUnixStyle());

This line is in a loop that looks at all nodes, including CONFIG nodes. In the domain.xml that is attached to the issue, there is the following nodes entry:

<node name="node1" type="CONFIG"/>

Since this entry doesn't have an install-dir attribute, the default value is null. Therefore, the node.getInstallDirUnixStyle method returns null, and this is passed to removeTrailingSlash which throws an NPE if it is passed null.

Note that there is a performance improvement possibility in that loop also if the "result = true" is changed to a "return true".

Comment by Byron Nevins [ 09/Dec/11 ]

Definitely there are issues with the logic in this file. I've sent off a fix for code review.

Comment by Byron Nevins [ 10/Dec/11 ]

2 fixes:

1) don't explode if the node has no installdir (in the trailing slash code)
2) disallow install-node-xxx on localhost. It makes no sense and it makes the code overly-complicated.

d:\gf\branches\3.1.2\cluster>svn commit d:\gf\trunk\main\nucleus\cluster d:\gf\branches\3.1.2\cluster
Sending D:\gf\branches\3.1.2\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\LocalStrings.properties
Sending D:\gf\branches\3.1.2\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\NativeRemoteCommandsBase.java
Sending D:\gf\branches\3.1.2\cluster\compare.bat
Sending D:\gf\branches\3.1.2\cluster\setfiles.bat
Sending D:\gf\trunk\main\nucleus\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\LocalStrings.properties
Sending D:\gf\trunk\main\nucleus\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\NativeRemoteCommandsBase.java
Transmitting file data ......
Committed revision 51447.
d:\gf\branches\3.1.2\cluster>

Comment by Byron Nevins [ 10/Dec/11 ]

Note that I didn't touch the checkIfNodeExistsForHost() method in the 4.0 version

It has diverged significantly from the 3.1.2 version. I don't want to touch it.
It has the complicated localhost checking code and logic and the non quick return (as Tom pointed out above).

Perhaps it can be cleaned up? Reassigning to the author...

Comment by Byron Nevins [ 10/Dec/11 ]

This is all fixed in 3.1.2
It probably should be cleaned up for 4.0

Comment by Byron Nevins [ 11/Dec/11 ]

The original problem, NPE, is fixed in 3.1.2 and 4.0

Comment by Byron Nevins [ 11/Dec/11 ]

Yamini says:

This requirement came from John Clingan, mainly to test "remote" clustering on localhost for evaluation purposes. Steve Essary also brought this up in one of the TOI sessions. Here are 2 issues related to that:

http://java.net/jira/browse/GLASSFISH-15491
http://java.net/jira/browse/GLASSFISH-15910

Even for developmental purposes, I tend to use "localhost" mode of testing more often while fixing issues.

Can you please re-fix?

So I rolled back and fixed the NPE issue only.

I'll open a new issue to disallow running install-node-dcom on localhost.

Comment by Byron Nevins [ 11/Dec/11 ]

done.





[GLASSFISH-17943] update-node-dcom doesn't work on the remote host, but update-node-ssh - works. Created: 08/Dec/11  Updated: 09/Dec/11  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: 3.1.1_b12
Fix Version/s: 3.1.2_b14, 4.0_b14

Type: Bug Priority: Major
Reporter: easarina Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Win 2008 GF 3.1.2
Executed the follow commands on the remote machine:

============================================================
C:\export>asadmin --user admin --passwordfile password.txt --host bigapp-oblade-2 create-node-config --nodehost bigapp-oblade-1 node6
Command create-node-config executed successfully.

C:\export>asadmin --user admin --passwordfile password.txt --host bigapp-oblade-2 update-node-dcom --nodehost bigapp-oblade-1 node6
remote failure: Warning: some parameters appear to be invalid.
SSH node not updated. To force an update of the node with these parameters rerun
the command using the --force option.
java.lang.IllegalArgumentException: Bad argument.
Command update-node-dcom failed.

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

So update-node-dcom failed with not informative error message. The same commands in ssh environment (was used the same build), were executed successfully.

[root@asqe-x2250-st7 bin]# ./asadmin --host asqe-x2250-st5 --user admin update-node-config --nodehost asqe-x2250-st7 node12
Enter admin password for user "admin">
Command update-node-config executed successfully.
[root@asqe-x2250-st7 bin]# ./asadmin --host asqe-x2250-st5 --user admin update-node-ssh --nodehost asqe-x2250-st7 node12
Enter admin password for user "admin">
Command update-node-ssh executed successfully.



 Comments   
Comment by Byron Nevins [ 09/Dec/11 ]

The problem is that you didn't give a windows password. No way can you run any DCOM commands without a password.

Added a special error message and I now test explicitly for this case.

c:\Temp>asadmin update-node-dcom --nodehost bigapp-oblade-2 node6
remote failure: Warning: some parameters appear to be invalid.
Node not updated. To force an update of the node with these parameters rerun the command using the --force option.
Missing Windows password. If you are using asadmin, specify the remote Windows password in a file as follows:
AS_ADMIN_WINDOWSPASSWORD=windows-password
Specify the path of the password file to asadmin with the --passwordfile (or -W) option.
Command update-node-dcom failed.

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

d:\gf\branches\3.1.2\cluster>svn commit d:\gf\trunk\main\nucleus\cluster d:\gf\branches\3.1.2\cluster
Sending D:\gf\branches\3.1.2\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\LocalStrings.properties
Sending D:\gf\branches\3.1.2\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\NodeUtils.java
Sending D:\gf\branches\3.1.2\cluster\setfiles.bat
Sending D:\gf\trunk\main\nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\LocalStrings.properties
Sending D:\gf\trunk\main\nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\NodeUtils.java
Transmitting file data .....
Committed revision 51397.





[GLASSFISH-17942] validate-dcom against localhost gave a wrong status. Created: 08/Dec/11  Updated: 09/Dec/11  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: None
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: easarina Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Win 2008 GF 3.1.2 b12.
Executed validate-dcom against localhost:

=================================================================
asadmin validate-dcom localhost
Enter AS_ADMIN_WINDOWSPASSWORD password>
Enter AS_ADMIN_WINDOWSPASSWORD password again>
remote failure:
Successfully resolved host name to: localhost/127.0.0.1
Successfully connected to DCOM Port at port 135 on host localhost.
Can't connect to NetBIOS Session Service at port 139 on host localhost.
This is usually caused by a firewall blocking the port or the Server Service bei
ng stopped. : Connection refused: connect
Successfully connected to Windows Shares at port 445 on host localhost.

Command validate-dcom failed.
======================================================

I believe in this case validate-dcom gave a wrong status. It works if to use machine name instead of "localhost" and create-node-dcom works with nodehost=localhost.



 Comments   
Comment by Byron Nevins [ 09/Dec/11 ]

This is the way it works. localhost and the machine name have different intricate connections to DCOM. There is no need to change this behavior since we don't support using Distributed COM for communications on the same machine.

Comment by Byron Nevins [ 09/Dec/11 ]

Note that this behavior is out of our hands – it is DCOM itself

Comment by Byron Nevins [ 09/Dec/11 ]

Add a check – if the host == this machine
then fail with an error message immediately.

Comment by Byron Nevins [ 09/Dec/11 ]

AFTER the change:

d:\gf\branches\3.1.2\cluster\admin>asadmin validate-dcom -W \pw_orcl -w wnevins localhost
remote failure: The host, localhost, is the local machine. DCOM is only for use on distributed systems.

d:\gf\branches\3.1.2\cluster\admin>asadmin validate-dcom -W \pw_orcl -w wnevins 127.0.0.1
remote failure: The host, 127.0.0.1, is the local machine. DCOM is only for use on distributed systems.

d:\gf\branches\3.1.2\cluster\admin>asadmin validate-dcom -W \pw_orcl -w wnevins wnevins-lap
remote failure: The host, wnevins-lap, is the local machine. DCOM is only for use on distributed systems.

d:\gf\branches\3.1.2\cluster\admin>asadmin validate-dcom -W \pw_orcl -w wnevins 10.28.51.113
remote failure: The host, 10.28.51.113, is the local machine. DCOM is only for use on distributed systems.

d:\gf\branches\3.1.2\cluster\admin>asadmin validate-dcom -W \pw_orcl -w wnevins 10.159.220.147
remote failure: The host, 10.159.220.147, is the local machine. DCOM is only for use on distributed systems.

Comment by Byron Nevins [ 09/Dec/11 ]

d:\gf\branches\3.1.2\cluster>svn commit d:\gf\trunk\main\nucleus\cluster d:\gf\branches\3.1.2\cluster
Sending D:\gf\branches\3.1.2\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\LocalStrings.properties
Sending D:\gf\branches\3.1.2\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\ValidateDcom.java
Sending D:\gf\branches\3.1.2\cluster\compare.bat
Sending D:\gf\branches\3.1.2\cluster\copyy.bat
Sending D:\gf\branches\3.1.2\cluster\setfiles.bat
Sending D:\gf\trunk\main\nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\LocalStrings.properties
Sending D:\gf\trunk\main\nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\ValidateDcom.java
Transmitting file data .......
Committed revision 51431.





[GLASSFISH-17941] ping-node-dcom failed for the updated node. Created: 08/Dec/11  Updated: 09/Dec/11  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: 3.1.2_b12
Fix Version/s: 3.1.2_b14, 4.0_b14

Type: Bug Priority: Major
Reporter: easarina Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Win 2008 GF build 12. Create one node (node2) using create-node-dcom (did not use --installdir) and created another node, using create-node-config (did not use --installdir) then run update-node-dcom against that config node (node3).

After that executed ping-node-dcom against these nodes. ping-node-dcom was executed successfully against node2, but failed against node3.
========================================================================
C:\export>asadmin --user admin --passwordfile password.txt ping-node-dcom node2
Successfully made DCOM connection to node node2 (bigapp-oblade-1)
Command ping-node-dcom executed successfully.

C:\export>asadmin --user admin --passwordfile password.txt ping-node-dcom node3
remote failure: Failed to validate DCOM connection to node node3 (bigapp-oblade-
1)
Could not connect to host bigapp-oblade-1 using DCOM.
Command ping-node-dcom failed.

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

I believe the problem happened because node3 did not have the install-dir:
----------------------------------------------------------------------------

<node node-host="bigapp-oblade-1" name="node2" windows-domain="bigapp-oblade-1" type="DCOM" install-dir="$

{com.sun.aas.productRoot}

">
<ssh-connector ssh-port="135">
<ssh-auth password="Ch@ng3m3"></ssh-auth>
</ssh-connector>
</node>
<node node-host="bigapp-oblade-1" name="node3" type="DCOM">
<ssh-connector ssh-port="135">
<ssh-auth password="Ch@ng3m3"></ssh-auth>
</ssh-connector>
</node>
-----------------------------------------------------------------



 Comments   
Comment by Byron Nevins [ 09/Dec/11 ]

This is a feature, not a bug. We prevented you from creating a garbage DCOM node. If the install-dir is not setup correctly then there is zero chance of DCOM working. So we prevent you from doing that. If you insist – then you can use the force option.

In my case I see this:

d:\gf\branches\3.1.2\cluster\admin>asadmin update-node-dcom --nodehost bigapp-oblade-2 -W \pw -w hudson xxx2
remote failure: Warning: some parameters appear to be invalid.
Node not updated. To force an update of the node with these parameters rerun the command using the --force option.
com.sun.enterprise.util.cluster.windows.process.WindowsException: The network name cannot be found.

The installdir is ALWAYS populated – the default is the DAS' install-dir. In my case it is d:\glassfish3 and the remote is on c:\glassfish3.

SAMBA correctly told me that it couldn't find the network name. Drive D is the network name it was looking for.

This is not a valid bug.

Comment by easarina [ 09/Dec/11 ]

I did not see any warning or error messages just created a config node and updated it to dcom node. And then ping doesn't work.

Comment by Byron Nevins [ 09/Dec/11 ]

What commands, exactly, are you running?
Please provide the exact commands.

Comment by Byron Nevins [ 09/Dec/11 ]

You said you saw no error or warning yet you said:

C:\export>asadmin --user admin --passwordfile password.txt ping-node-dcom node3
remote failure: Failed to validate DCOM connection to node node3 (bigapp-oblade-
1)
Could not connect to host bigapp-oblade-1 using DCOM.
Command ping-node-dcom failed.

======
This isn't a error message?!?

Comment by easarina [ 09/Dec/11 ]

C:\export>asadmin start-domain
Waiting for domain1 to start ...........
Successfully started the domain : domain1
domain Location: C:\export\glassfish3\glassfish\domains\domain1
Log File: C:\export\glassfish3\glassfish\domains\domain1\logs\server.log
Admin Port: 4848
Command start-domain executed successfully.

C:\export>asadmin create-node-config node1
Command create-node-config executed successfully.

C:\export>asadmin --passwordfile password1.txt update-node-dcom --nodehost locahost node1
Command update-node-dcom executed successfully.

C:\export>asadmin --passwordfile password1.txt ping-node-dcom node1
remote failure: Failed to validate DCOM connection to node node1 (localhost)
Could not connect to host localhost using DCOM.
Command ping-node-dcom failed.

Comment by Byron Nevins [ 09/Dec/11 ]

I think I see what you mean now. I assumed you didn't give the password for the remote machine like the other bug. We can all save time if you simply give me the exact commands you ran for every bug you file.

Comment by Byron Nevins [ 09/Dec/11 ]

Now I detect the problem:

d:\gf\branches\3.1.2\cluster\admin>asadmin ping-node-dcom node99
remote failure: Failed to validate DCOM connection to node node99 (bigapp-oblade-3)
The configuration for the node is invalid. There is no value for the installdir. Try running update-node-dcom and specify the install directory for
GlassFish.

FIXED!

Comment by Byron Nevins [ 09/Dec/11 ]

d:\gf\branches\3.1.2\cluster>svn commit d:\gf\trunk\main\nucleus\cluster d:\gf\branches\3.1.2\cluster
Sending D:\gf\branches\3.1.2\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\LocalStrings.properties
Sending D:\gf\branches\3.1.2\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\NodeUtils.java
Sending D:\gf\trunk\main\nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\LocalStrings.properties
Sending D:\gf\trunk\main\nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\NodeUtils.java
Transmitting file data ....
Committed revision 51400.





[GLASSFISH-17940] disallow running uninstall-node-dcom on DAS machine. Created: 08/Dec/11  Updated: 12/Dec/11  Resolved: 12/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: 3.1.2_b12
Fix Version/s: 3.1.2_b14, 4.0_b14

Type: Bug Priority: Major
Reporter: easarina Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Win 2008, GF 3.1.2 build 12.

Executed uninstall-node-dcom on DAS machine against DAS machine. The uninstall process was started and then failed, but it removed bin directory and left all running processes. I believe that self-destructive uninstall should not try to remove the installation on DAS machine.



 Comments   
Comment by Byron Nevins [ 08/Dec/11 ]

Not a common use case to say the least!!

Please give me the exact commands you ran.

Comment by Byron Nevins [ 08/Dec/11 ]

->P4

Comment by easarina [ 09/Dec/11 ]

C:\export>asadmin --user admin --passwordfile password.txt uninstall-node-dcom --installdir C:\export\glassfish3 bigapp-oblade-2
java.lang.NullPointerException
at com.sun.enterprise.admin.cli.cluster.NativeRemoteCommandsBase.removeT
railingSlash(NativeRemoteCommandsBase.java:360)
at com.sun.enterprise.admin.cli.cluster.NativeRemoteCommandsBase.checkIf
NodeExistsForHost(NativeRemoteCommandsBase.java:327)
at com.sun.enterprise.admin.cli.cluster.UninstallNodeBaseCommand.validat
e(UninstallNodeBaseCommand.java:75)
at com.sun.enterprise.admin.cli.CLICommand.execute(CLICommand.java:254)
at com.sun.enterprise.admin.cli.AsadminMain.executeCommand(AsadminMain.j
ava:306)
at com.sun.enterprise.admin.cli.AsadminMain.main(AsadminMain.java:238)
com.sun.enterprise.universal.process.WindowsException: The process cannot access
the file because it is being used by another process.
Command uninstall-node-dcom failed.
The system cannot find the path specified.
======================================
C:\export>cd glassfish3\glassfish

C:\export\glassfish3\glassfish>ls
domains legal lib modules osgi

C:\export\glassfish3\glassfish>
=====================================

Most error messages happened because of the bug:17944

But last messages belong to that command:
====================================================
com.sun.enterprise.universal.process.WindowsException: The process cannot access the file because it is being used by another process.
Command uninstall-node-dcom failed.
====================================================================
The command failed, but GF bin directory was removed. So the installation was corrupted. I don't think that it is a minor issue, because a user just by mistake can run such command and corrupt the installation.

Comment by easarina [ 12/Dec/11 ]

At the comment to the bug 17944 Yamini wrote:

"I'll open a new issue to disallow running install-node-dcom on localhost."

I believe that also should not be allowed to run uninstall-node-dcom on the localhost.

Comment by Byron Nevins [ 12/Dec/11 ]

Thanks for finding this Elena!

All done.

d:\gf\branches\3.1.2\cluster>svn commit d:\gf\trunk\main\nucleus\cluster d:\gf\branches\3.1.2\cluster
Sending D:\gf\branches\3.1.2\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\UninstallNodeDcomCommand.java
Sending D:\gf\trunk\main\nucleus\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\UninstallNodeDcomCommand.java
Transmitting file data ..
Committed revision 51506.





[GLASSFISH-17939] EJB Timers button should not be available in web profile Created: 08/Dec/11  Updated: 17/Dec/11  Resolved: 17/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin_gui
Affects Version/s: 3.1.2_b13
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: Anissa Lam Assignee: sirajg
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The 2 buttons - Migrate EJB Timers and List EJB Timers should not show up for web profile, which doesn't include EJB.



 Comments   
Comment by Anissa Lam [ 14/Dec/11 ]

Siraj has fixed this issue in 3.1.2, but hasn't ported that to 4.0.
So, keeping this bug open, but add 3_1_2-exclude tag.

Comment by Anissa Lam [ 17/Dec/11 ]

Marking this bug as fixed in 3.1.2.
If we implement this feature in 4.0, the buttons will be implemented as web plugin.





[GLASSFISH-17932] Weld throws NoClassDefFoundError at deployment on Web EJBs within EAR Web module Created: 08/Dec/11  Updated: 09/Dec/11  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: cdi
Affects Version/s: 3.1.2_b13
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: fabmars Assignee: Sivakumar Thyagarajan
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Win7 x86


Attachments: Text File badejb.log     Text File goodejb.log     File truc-bad.ear     File truc-good.ear     Zip Archive truc-sources.zip    
Issue Links:
Duplicate
duplicates GLASSFISH-17192 Devtest - appserv-tests/devtests/cdi/... Resolved
Tags: cdi, classloader, ejb, glassfish

 Description   

Take the small canonical EARs attached. Both contain a client ejb jar, an ejb module, and a web module. The web module contains an EJB (@javax.ejb.Singleton here just to show the difference with @javax.inject.Singleton, but the result will be the same if @Stateless).

I get during deployment:
Exception while loading the app : by java.lang.NoClassDefFoundError: com/dummy/web/WebAppEjb
[...]
Caused by: javassist.CannotCompileException: by java.lang.NoClassDefFoundError: com/dummy/web/WebAppEjb

If the same class is declared instead as @javax.inject.Singleton, it deploys correctly (it's no longer an EJB there, just a contextual instance).
If the same class is declared as @javax.ejb.Stateless, the NCDFE also happens.

It smells like a ClassLoader issue.

This issue doesn't exist on GF 3.1.1 (incl Weld 1.1.2)
This situation existed with earlier (November) GF3.1.2 promoted builds (incl Weld 1.1.3). Also, couldn't that be linked to this other issue?
http://java.net/jira/browse/GLASSFISH-17192



 Comments   
Comment by fabmars [ 08/Dec/11 ]

the related logs

Comment by Sivakumar Thyagarajan [ 09/Dec/11 ]

This issue duplicates the scenario described in GLASSFISH-17192

Comment by Sivakumar Thyagarajan [ 09/Dec/11 ]

@fabmar: Yes, your intuition on this scenario duplicating the scenario described in GLASSFISH-17192 was correct. I have put back a fix for this issue in trunk and in the 3.1.2 branch (svn commits 51415 and 51417). I also tested the truc-good.ear and truc-bad.ear against a build having these changes and they deploy fine. So, marking this issue as resolved.





[GLASSFISH-17927] inline help for Security checkbox should not refer to secure administration page except for "server-config" Created: 07/Dec/11  Updated: 09/Dec/11  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin_gui
Affects Version/s: 3.1.2_b14
Fix Version/s: 3.1.2_b14, 4.0

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

Tags: 3_1_2-review

 Description   

In edit Network Listener page for a listener with the name "admin-listener",
The security checkbox is disabled, an the inline help for the security checkbox says:
"Use the Secure Administration page to enable/disable secure administration. " and provide the link to that page.

This should be done only for 'server-config' AND the name is "admin-listener". This should not be the case for any other config.



 Comments   
Comment by srinik76 [ 09/Dec/11 ]

Checked in the fix in 3.1.2 branch

Sending src/main/resources/grizzly/networkListenerEdit.jsf
Sending src/main/resources/grizzly/protocolEdit.jsf
Transmitting file data ..
Committed revision 51405.

Index: src/main/resources/grizzly/networkListenerEdit.jsf
===================================================================
— src/main/resources/grizzly/networkListenerEdit.jsf (revision 51378)
+++ src/main/resources/grizzly/networkListenerEdit.jsf (working copy)
@@ -87,7 +87,9 @@
setSessionAttribute(key="secureCancelUrl" value="#

{pageSession.selfPage}")
setPageSessionAttribute(key="readOnly" value="#{false}" );
if ("(#{pageSession.Name}=admin-listener)") {
- setPageSessionAttribute(key="readOnly" value="#{true}" );
+ if ("(#{pageSession.configName}=server-config)") {
+ setPageSessionAttribute(key="readOnly" value="#{true}" );
+ }
}

//If secure admin is enabled, we will not show the other tabs since GUI doesn't have support for handling low level grizzly config yet.
Index: src/main/resources/grizzly/protocolEdit.jsf
===================================================================
— src/main/resources/grizzly/protocolEdit.jsf (revision 51378)
+++ src/main/resources/grizzly/protocolEdit.jsf (working copy)
@@ -73,7 +73,9 @@
setSessionAttribute(key="secureCancelUrl" value="#{pageSession.selfPage}

")
setPageSessionAttribute(key="readOnly" value="#

{false}

" );
if ("(#

{pageSession.Name}

=admin-listener)") {

  • setPageSessionAttribute(key="readOnly" value="# {true}" );
    + if ("(#{pageSession.configName}=server-config)") {
    + setPageSessionAttribute(key="readOnly" value="#{true}

    " );
    + }
    }
    //If secure admin is enabled, we will not show the other tabs since GUI doesn't have support for handling low level grizzly config yet.
    setPageSessionAttribute(key="showSSLTab" value="#

    {true}

    ");

Comment by srinik76 [ 09/Dec/11 ]

Checked in the trunk
Sending web/src/main/resources/grizzly/networkListenerEdit.jsf
Sending web/src/main/resources/grizzly/protocolEdit.jsf
Transmitting file data ..
Committed revision 51406.





[GLASSFISH-17924] SSH not working Created: 07/Dec/11  Updated: 13/Dec/11  Resolved: 13/Dec/11

Status: Closed
Project: glassfish
Component/s: distributed management
Affects Version/s: 3.1.2_b14
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Blocker
Reporter: Byron Nevins Assignee: Yamini K B
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

~/gf/trunk/v2/appserv-tests/devtests/admin/cli>asadmin install-node-ssh --x
Exception in thread "main" org.jvnet.hk2.component.ComponentException: injection failed on com.sun.enterprise.admin.cli.cluster.InstallNodeSshCommand.sshLauncher with class org.glassfish.cluster.ssh.launcher.SSHLauncher
at org.jvnet.hk2.component.InjectionManager.error_injectionException(InjectionManager.java:277)
at org.jvnet.hk2.component.InjectionManager.inject(InjectionManager.java:159)
at org.jvnet.hk2.component.InjectionManager.inject(InjectionManager.java:91)
at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:126)
at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91)
at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82)
at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139)
at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:76)
at org.jvnet.hk2.component.Habitat.getComponent(Habitat.java:796)
at com.sun.enterprise.admin.cli.CLICommand.getCommand(CLICommand.java:182)
at com.sun.enterprise.admin.cli.AsadminMain.executeCommand(AsadminMain.java:305)
at com.sun.enterprise.admin.cli.AsadminMain.main(AsadminMain.java:238)
Caused by: org.jvnet.hk2.component.ComponentException: Failed to create class org.glassfish.cluster.ssh.launcher.SSHLauncher
at com.sun.hk2.component.ConstructorCreator.create(ConstructorCreator.java:71)
at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:80)
at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139)
at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:76)
at org.jvnet.hk2.component.Habitat.getBy(Habitat.java:1048)
at org.jvnet.hk2.component.Habitat.getByType(Habitat.java:1029)
at com.sun.hk2.component.InjectInjectionResolver.getComponentInjectValue(InjectInjectionResolver.java:159)
at com.sun.hk2.component.InjectInjectionResolver.getValue(InjectInjectionResolver.java:90)
at org.jvnet.hk2.component.InjectionManager.inject(InjectionManager.java:141)
... 10 more
Caused by: java.lang.NoClassDefFoundError: com/trilead/ssh2/ServerHostKeyVerifier
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
at com.sun.hk2.component.ConstructorCreator.create(ConstructorCreator.java:65)
... 18 more
Caused by: java.lang.ClassNotFoundException: com.trilead.ssh2.ServerHostKeyVerifier
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 24 more
~/gf/trunk/v2/appserv-tests/devtests/admin/cli>



 Comments   
Comment by Byron Nevins [ 07/Dec/11 ]

Sorry. False alarm. I must have had a screwy installation. I reinstalled 3.1.2 and everything is working fine.





[GLASSFISH-17913] install-node-dcom doesn't Created: 06/Dec/11  Updated: 13/Dec/11  Resolved: 08/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: 3.1.2_b11
Fix Version/s: 3.1.2_b14, 4.0_b14

Type: Bug Priority: Major
Reporter: Paul Davies Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows XP



 Description   

Attempts to use install-node-dcom to copy GlassFish Server software to a DCOM-accessible host fail.

The error that occurs depends on the options specified:

  • If an existing installation directory and --force are specified, a null pointer exception is thrown:
    asadmin> install-node-dcom --force=true --installdir C:\glassfish3 somehost
    java.lang.NullPointerException
    Command install-node-dcom failed.
    
  • If a nonexistent installation directory is specified, the network name cannot be found:
    asadmin> install-node-dcom -w hudson --installdir C:\gfuser somehost
    com.sun.enterprise.universal.process.WindowsException: The network name cannot be found.
    

    The host somehost is accessible through DCOM:

    asadmin> validate-dcom somehost
    
    Successfully resolved host name to: somehost/XXX.XXX.XXX.XXX
    Successfully connected to DCOM Port at port 135 on host somehost.
    Successfully connected to NetBIOS Session Service at port 139 on host somehost
    Successfully connected to Windows Shares at port 445 on host somehost.
    Successfully accessed C: on somehost using DCOM.
    Successfully wrote delete_me.bat to C: on somehost using DCOM.
    Successfully accessed WMI (Windows Management Interface) on somehost.  
    There are 50 processes running on somehost.
    Successfully ran the test script on somehost using DCOM.
    The script simply ran the DIR command.  Here are the first few lines from the 
    output of the dir command on the remote machine:
    
    C:\Windows\system32>dir C:\
     Volume in drive C has no label.
     Volume Serial Number is XXXX-XXX
    
     Directory of C:\
    
    12/06/2011  10:45 AM                 8 delete_me.bat
    03/03/2011  10:36 AM    <DIR>          export
    
    
    Command validate-dcom executed successfully.
    


 Comments   
Comment by Byron Nevins [ 08/Dec/11 ]

The first problem is fixed.

The second problem makes no sense as a bug because it is simply the correct normal usage of the command:

install-node-dcom -w hudson --installdir C:\gfuser somehost

Did you leave something out?

I tried it and it worked fine. Please re-open if I missed something.

D:\gf\branches\3.1.2\cluster>svn commit d:\gf\trunk\main\nucleus\cluster d:\gf\branches\3.1.2\cluster
Sending branches\3.1.2\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\InstallNodeDcomCommand.java
Sending branches\3.1.2\cluster\compare.bat
Sending branches\3.1.2\cluster\copyy.bat
Sending branches\3.1.2\cluster\setfiles.bat
Sending trunk\main\nucleus\cluster\cli\src\main\java\com\sun\enterprise\admin\cli\cluster\InstallNodeDcomCommand.java
Transmitting file data .....
Committed revision 51393.





[GLASSFISH-17901] T13y: admin clustering Created: 06/Dec/11  Updated: 12/Dec/11  Resolved: 12/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin
Affects Version/s: 3.1.2_b10
Fix Version/s: 3.1.2_b14, 4.0_b14

Type: Bug Priority: Major
Reporter: Joe Di Pol Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Microsoft Excel byron.xls    

 Description   

The translatability (t13y) group has run an audit on the GlassFish
message .properties files. This audit has identified a number of
strings that will cause issues for the translators.

This bug requests that the issues described in the report for the
following areas be addressed:

cluster/admin
cluster/cli
cluster/gms-bootstrap
cluster/common
shoal

The report is available at:

http://aseng-wiki.us.oracle.com/asengwiki/download/attachments/-2051473015/Glassfish+GF+3.1_WPTG_Analysis.xls

Note that the report consists of six different sheet (tabs). Each sheet
lists issues for a specific category of error.

Please go through all tabs and look for references to the .properties
files for the GlassFish areas listed above, and address the specific
issue described.

General guidance for how to address the issues in each category are
given here:
http://aseng-wiki.us.oracle.com/asengwiki/display/GlassFish/3.1.2+T13y



 Comments   
Comment by Tom Mueller [ 06/Dec/11 ]

Byron, can you please take a look at this. I realize that some of these fixes are in the GMS/Shoal area, but if the changes can be made without in depth knowledge of the code, please make the change anyway. Thanks.

Comment by Byron Nevins [ 12/Dec/11 ]

I sent a copy of the modified spreadsheet to Joe and I'm also attaching it here.
I spent 5 hours on this issue and I don't want to lose this!

Comment by Byron Nevins [ 12/Dec/11 ]

100% complete.





[GLASSFISH-17894] Both JSF 2.1.0 and 2.1.4 embedded and jar mixup Created: 04/Dec/11  Updated: 08/Dec/11  Resolved: 06/Dec/11

Status: Resolved
Project: glassfish
Component/s: jsf
Affects Version/s: 3.1.2_b12
Fix Version/s: 3.1.2_b13, 3.1.2_b14

Type: Bug Priority: Major
Reporter: fabmars Assignee: Ed Burns
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Win7 x86


Attachments: Text File changebundle.txt    
Tags: 3_1_2-review, build, fish, glass, jsf

 Description   

After installation of glassfish-3.1.2-b12-windows.exe, one can see in /glassfish3/glassfish/modules:

  • javax.faces.jar containing both api and impl JSF 2.1.4 (20111107-SNAPSHOT)
  • jsf-impl.jar containing JSF 2.1.0 (2.1.0-b11-FCS)
  • NO jsf-api.jar (so the eclipse glassfish plugin also gets upset)

It was already like that on 3.1.2-b10, the first promoted I tried.
On 3.1.1 there were only jsf-api.jar and jsf-impl.jar, but I heard there were discussions over a new javax jar scheme in 3.1.2.

Workaround: rework the jars manually from the distrib.



 Comments   
Comment by rogerk [ 05/Dec/11 ]

We did switch over to one JSF jar in the modules directory - namely javax.faces.jar.
However, I just downloaded a promoted zip distribution - glassfish-3.1.2-b12.zip
unzipped it, and noticed that under the modules directory there was:
jsf-api.jar
jsf-impl.jar
javax.faces.jar

Comment by rogerk [ 05/Dec/11 ]

From: snjezana.sevozenzerovic@oracle.com
To: roger.kitain@oracle.com
Sent: Monday, December 5, 2011 1:41:25 PM GMT -08:00 US/Canada Pacific
Subject: Fwd: [JIRA] Commented: (GLASSFISH-17894) Both JSF 2.1.0 and 2.1.4 embedded and jar mixup

[I would have commented directly on the issue but for some reason java.net barfs when I try to log in...]

Roger, I think you are missing jsf-api and jsf-impl exclusions in packager/pom.xml file in 3.1.2 branch so old jsf jars get pulled in as transitive dependencies of some external project. I think I already mentioned this to Ed week or so ago but he apparently never updated the file.

Thanks,

Snjezana

Comment by rogerk [ 05/Dec/11 ]

On 12/5/11 4:43 PM, Snjezana Sevo-Zenzerovic wrote:
> Just checked - jsf-api is on the exclude list and I don't see it in freshly built distribution anymore. So, please add jsf-impl to the list, too, make sure you don't see it in the distribution anymore and at point you should be able to close this issue.
>
> Thanks,
>
> Snjezana

Comment by rogerk [ 05/Dec/11 ]

Looks like pilot error -

jsf-ri is listed in list for <packager.artifact.excludes>.
It should probably be listed as jsf-impl

Ed is doing a 2.1.6 integration into 3.1.2 so we'll make sure that is fixed.

Comment by rogerk [ 05/Dec/11 ]

Ed - we need to make sure GlassFish packager/pom.xml file has jsf-impl on <packager.artifact.excludes> list (instead of jsf-ri) for 2.1.6 integration.

Comment by Ed Burns [ 06/Dec/11 ]

Consider this text from the Maven and OSGi packaging and naming guide <http://www.java.net/external?url=http://wikis.sun.com/display/GlassFish/Maven+Versioning+Rules>.

B> - an implementation jar file
B>
B> If the Java specification defines a standalone version of the
B> technology, the implementation jar file will be such a
B> standalone implementation of the specification, and will meet
B> all the compatibility requirements of the specification. The
B> implementation jar file typically includes all the classes from
B> the API jar file, plus whatever implementation classes are needed
B> to produce a complete runtime.

The correct distribution should have only javax.faces.jar, not jsf-api.jar and jsf-impl.jar. I am certain that the mojarra integration done just before the blog entry where I described all this <http://weblogs.java.net/blog/edburns/archive/2011/09/02/jcpjavaee-artifacts-maven-central> was correct and had only the one jar.

Somehow the multiple jars have crept back in. I will fix it.

Ed

Comment by Ed Burns [ 06/Dec/11 ]

Yes, I made this mistake:

svn cat -r 49388 packager/pom.xml | grep jsf-ri
<packager.artifact.excludes>stax-api,stax,junit,jtype,tiger-types,servlet-api,jstl-api,el-api,jsp-api,org.osgi.core,org.osgi.compendium,concurrent,amx-core,amx-core-impl,amx-config,amx-config-impl,amx-j2ee,amx-j2ee-impl,amx-ext-impl,gmbal-api-only,jsf-api,jsf-ri</packager.artifact.excludes>

When I committed revision 49388 on that file, the string "jsf-ri" should have been "jsf-impl".

Fixing this now.

Ed

Comment by Ed Burns [ 06/Dec/11 ]

Ready for review.

Comment by Ed Burns [ 06/Dec/11 ]

Extraneous Mojarra jar in GlassFish zip http://java.net/jira/browse/GLASSFISH-17894

SECTION: Modified files

M packager/pom.xml

Correct error committed by edburns on revision 49388. In the
packager.artifact.excludes list, the string "jsf-ri" should be
"jsf-impl".

r=snjezana
Sending packager/pom.xml
Transmitting file data .
Committed revision 51320.

Comment by fabmars [ 07/Dec/11 ]

jsf-impl.jar is still present in b13.

Comment by fabmars [ 08/Dec/11 ]

and the same for EL





[GLASSFISH-17889] Upgrade to Felix 4.0.x which implements OSGi R4.3 Created: 02/Dec/11  Updated: 14/Jul/12  Resolved: 03/Dec/11

Status: Resolved
Project: glassfish
Component/s: OSGi
Affects Version/s: 3.1.2
Fix Version/s: 3.1.2_b14, 4.0

Type: New Feature Priority: Major
Reporter: Sanjeeb Sahoo Assignee: Sanjeeb Sahoo
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_2-review

 Description   

Upgrade to OSGi R4.3



 Comments   
Comment by Sanjeeb Sahoo [ 03/Dec/11 ]

I have developer benchmark test suite to ensure that there is no performance regression.

3.1.2:
r51263

trunk:
51264.





[GLASSFISH-17887] spell errors in the property file Created: 02/Dec/11  Updated: 10/Feb/12  Resolved: 13/Dec/11

Status: Closed
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.2_b12
Fix Version/s: 3.1.2_b14, 4.0

Type: Bug Priority: Major
Reporter: sunny-gui Assignee: Paul Davies
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Server OS: OEL 5 32bit
Bundle: ogs-3.1.2-b12-ml.zip


Attachments: JPEG File line_243_admin-cli_jar.jpg    

 Description   

There are spell errors in the statement, in the file "com/sun/enterprise/admin/cli/LocalStrings.properties" after decompress gf_admin-cli.jar

Line: 47
StringID: "DirError"
String: Can''t read directory:

{0}

Line: 111
StringID: InvalidPortBaseRange
String: CLI211 Invalid Port {0}

for

{1}

, should be between 1 and 65535. Choose a portbase value such that the resulting port number doesn''t exceed 65535.

Line: 121
StringID: Domain.noDomainXml
String: CLI304 Can''t find domain.xml. It should be here:

{0}

Line: 243
StringID: NoAdminPort
String: Can''t find admin port in domain.xml file

Line: 298
StringID: ManpageMissing
String: Can''t find man page for command: {0}

 Comments   
Comment by sunny-gui [ 05/Dec/11 ]

attached screen shot for output of the CLI.

Comment by Paul Davies [ 13/Dec/11 ]

Fixed in 3.1.2 branch in revision 51416.

Comment by Paul Davies [ 14/Dec/11 ]

Fixed in trunk in revision 51558.

Comment by sunny-gui [ 10/Feb/12 ]

Verified and fixed in GF 3.1.2 build21 with the bundle "ogs-3.1.2-b21-ml.zip" in OEL 5 u5 32-Bit, so close this issue. Will attach screen shot later.





change-admin-password should work as a local command if the DAS is down. (GLASSFISH-17517)

[GLASSFISH-17878] change-admin-password to take domaindir and domain_name as optional parameters Created: 01/Dec/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.2_b12
Fix Version/s: 3.1.2_b14

Type: Sub-task Priority: Major
Reporter: Nithya Ramakrishnan Assignee: Mike Fitch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_2-review

 Description   

This is a spin-off from issue 17517. Since change-admin-password should be able to execute locally when the DAS is down, it would be taking two additional arguments (v-z) domain_name and domaindir. If either of these arguments are provided, it would be executed locally.

If --domain is not provided and the DAS is down, and there is only one domain directory in the domaindir, then that one should be selected. If there is more than one domain in the domaindir and the DAS is down, there will be a corresponding error message.



 Comments   
Comment by Mike Fitch [ 14/Dec/11 ]

Added to change-admin-password in build 14 via svn commit 51521





[GLASSFISH-17871] During Update of Linux 3.1 system, Severe error displayed on the screen Created: 01/Dec/11  Updated: 23/Dec/11  Resolved: 11/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin
Affects Version/s: 3.1.2_b12
Fix Version/s: 3.1.2_b14, 4.0

Type: Bug Priority: Critical
Reporter: Alex Pineda Assignee: Tim Quinn
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

GF3.1 FCS build installed on OEL5 system. JDK1.6.0_26. Internal Update repository (http://http://bat-s10-1.us.oracle.com/sun_v3_release_test). Update to GF 3.1.2 build12.



 Description   

After Updating an OEL5 test system from GF3.1 FCS version (GlassFish Server Open Source Edition 3.1 (build 43) ) to GF 3.1.2 build 12 pkgs, a SEVERE error message is reported when invoking start-domain with --upgrade option. The sequence of steps is:
o Install GF 3.1 FCS on OEL5 system
o Configure the default repository to point to the Internal repository and update the install image as follows:

Once the update is complete, start the domain with "upgrade" option as follows:

  • asadmin start-domain --upgrade domain1

It's after this command executed when the SEVERE error message is shown. Although the error message is displayed, the system Update succeeds and the functional test scenarios all pass without errors.

Despite the above, we need to understand the root cause of the Error message which is:

asadmin start-domain --upgrade domain1
Nov 30, 2011 5:13:46 PM com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: Renamed OSGi persistence store from /export/hudson/workspace/alex-update-x86-gf31/glassfish3/glassfish/domains/domain1/osgi-cache to /export/hudson/workspace/alex-update-x86-gf31/glassfish3/glassfish/domains/domain1/osgi-cache-1322702026577
Nov 30, 2011 5:13:46 PM com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: Successfully launched in 18 msec.
Launching GlassFish on Felix platform
Nov 30, 2011 5:13:52 PM org.hibernate.validator.util.Version <clinit>
INFO: Hibernate Validator 4.2.0.Final
Nov 30, 2011 5:13:52 PM org.glassfish.config.support.DefaultConfigUpgrade postConstruct
INFO: Existing default-config detected during upgrade. No need to create default-config.
Nov 30, 2011 5:13:53 PM com.sun.enterprise.security.admin.cli.SecureAdminConfigUpgrade postConstruct
INFO: Added admin-listener network listeners to non-DAS configurations
keytool error: java.lang.Exception: Key pair not generated, alias <glassfish-instance> already exists
Nov 30, 2011 5:13:53 PM com.sun.enterprise.security.admin.cli.SecureAdminConfigUpgrade postConstruct
SEVERE: Error upgrading config for secure DAS-to-instance admin traffic
java.lang.RuntimeException: keytool error: java.lang.Exception: Key pair not generated, alias <glassfish-instance> already exists

at com.sun.enterprise.security.admin.cli.SecureAdminConfigUpgrade.ensureKeyPairForInstanceAlias(SecureAdminConfigUpgrade.java:347)
at com.sun.enterprise.security.admin.cli.SecureAdminConfigUpgrade.setupNewDefaultConfig(SecureAdminConfigUpgrade.java:192)
at com.sun.enterprise.security.admin.cli.SecureAdminConfigUpgrade.postConstruct(SecureAdminConfigUpgrade.java:154)
at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:131)
at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91)
at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82)
at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67)
at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139)
at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:76)
at org.glassfish.config.support.DomainXml.upgrade(DomainXml.java:166)
at org.glassfish.config.support.DomainXml.run(DomainXml.java:120)
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.populateConfig(AbstractModulesRegistryImpl.java:176)
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.createHabitat(AbstractModulesRegistryImpl.java:158)
at com.sun.enterprise.module.bootstrap.Main.createHabitat(Main.java:425)
at org.jvnet.hk2.osgiadapter.HK2Main.createHabitat(HK2Main.java:96)
at com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishRuntime.newGlassFish(EmbeddedOSGiGlassFishRuntime.java:89)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
[#|2011-11-30T17:13:53.720-0800|INFO|glassfish3.1.2|com.sun.enterprise.server.logging.GFFileHandler|_ThreadID=1;_ThreadName=main;|Running GlassFish Version: GlassFish Server Open Source Edition 3.1.2-b12 (build 12)|#]

If the same steps are done with GF 3.1.1 Update, the SEVERE error message is not displayed.



 Comments   
Comment by Alex Pineda [ 01/Dec/11 ]

The SEVERE error is also seen on GF3.1.1 updated systems. The error is not displayed on a GF3.0.1 system.

Comment by Alex Pineda [ 09/Dec/11 ]

Re-assigned bug to Tom Mueller for review and comment.

Comment by Tom Mueller [ 09/Dec/11 ]

Assigning to Tim. Looks like a secure-admin upgrade problem.

Comment by Tim Quinn [ 11/Dec/11 ]

Fixes checked in.

3.1.2 branch: 51452
trunk: 51453

Project: glassfish
Repository: svn
Revision: 51452
Author: tjquinn
Date: 2011-12-11 13:53:06 UTC
Link:

Log Message:
------------
Fix for 17871

The logic which upgrades the secure admin configuration incorrectly assumed that the glassfish-instance self-signed cert could not already be present in the keystore and truststore and went ahead and tried to add it to both. In fact the key pair will be there starting with 3.1, so "asadmin start-domain --upgrade" would log error messages.

These changes bypass the addition of the key pair if glassfish-instance is already present.

Revisions:
----------
51452

Modified Paths:
---------------
branches/3.1.2/security/core/src/main/java/com/sun/enterprise/security/admin/cli/SecureAdminConfigUpgrade.java

Comment by Alex Pineda [ 23/Dec/11 ]

Verified fix in build 15. The error is not seen anymore.





[GLASSFISH-17866] InvocationTargetException thrown on clicking Help for LB Config Created: 01/Dec/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: None
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: shaline Assignee: Mike Fitch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: Windows 2008 server
ff 8.0.1
GF 3.1.2 b12



 Description   

When the Help window is opened from the node HTTP Load Balancers/HTTP Load Balancers page, the below Exception is thrown in the server.log. The HELP contents for LB Config feature is not yet available in the b12, but just opening the HELP window throws the below Exception:

[#|2011-11-30T19:04:46.212-0800|WARNING|glassfish3.1.2|javax.enterprise.resource.webcontainer.jsf.lifecycle|_ThreadID=36;_ThreadName=Thread-2;|java.lang.reflect.InvocationTargetException while attempting to process a 'command' event for 'ex
ecButton'.
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException while at
tempting to process a 'command' event for 'execButton'.
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:422)
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:394)
at com.sun.jsftemplating.layout.event.CommandActionListener.invokeCommandHandlers(CommandActionListener.java:150)
at com.sun.jsftemplating.layout.event.CommandActionListener.processAction(CommandActionListener.java:98)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at sun.reflect.GeneratedMethodAccessor154.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:323)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:321)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Unknown Source)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:356)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:212)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1535)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:88)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:197)
at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:196)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:233)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:88)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:196)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.doChainInvoke(StandardPipeline.java:600)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:232)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:833)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:730)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1031)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:442)
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:420)
... 59 more
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException while attempting to process a 'command' event for 'execButton'.
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHa
ndlers(LayoutElementBase.java:422)
at org.glassfish.admingui.common.gadget.GadgetHandlers.invokeHandler(Gad
getHandlers.java:232)
... 65 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handl
er.java:442)
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHa
ndlers(LayoutElementBase.java:420)
... 66 more
Caused by: java.lang.IllegalArgumentException: ELOutputType's key may not be nul
l!
at com.sun.jsftemplating.layout.descriptors.handler.ELOutputType.setValu
e(ELOutputType.java:101)
at com.sun.jsftemplating.layout.descriptors.handler.Handler.setOutputVal
ue(Handler.java:295)
at com.sun.jsftemplating.layout.descriptors.handler.HandlerContextImpl.s
etOutputValue(HandlerContextImpl.java:166)
at org.glassfish.admingui.common.handlers.PluginHandlers.calculateHelpUr
l(PluginHandlers.java:590)
... 72 more

#]

[#|2011-11-30T19:04:47.765-0800|INFO|glassfish3.1.2|com.sun.jsftemplating|_Threa
dID=34;_ThreadName=Thread-2;|JSFT0004: The requested resource (/loadbalancerunde
fined) is not available.|#]



 Comments   
Comment by Anissa Lam [ 01/Dec/11 ]

I don't see any help jar for lb plugin, thus there is no help page for this.
Also doesn't notice any help jar for performance tuner either.

Comment by shaline [ 13/Dec/11 ]

I see the same issue when Help is clicked from the "Application Scoped Resources" Page. The Help contents for Application Resources is not available, and upom clicking Help Button, the below Exception is thrown in server.log:

[#|2011-12-12T16:57:14.896-0800|WARNING|glassfish3.1.2|javax.enterprise.resource.webcontainer.jsf.lifecycle|_ThreadID=37;_ThreadName=Thread-2;|java.lang.reflect
.InvocationTargetException while attempting to process a 'command' event for 'execButton'.
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException while at
tempting to process a 'command' event for 'execButton'.
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:422)
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:394)
at com.sun.jsftemplating.layout.event.CommandActionListener.invokeCommandHandlers(CommandActionListener.java:150)
at com.sun.jsftemplating.layout.event.CommandActionListener.processAction(CommandActionListener.java:98)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:
769)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java
:1542)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:233)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.doChainInvoke(StandardPipeline.java:600)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:232)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:442)
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:420)
... 42 more
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException while attempting to process a 'command' event for 'execButton'.
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:422)
at org.glassfish.admingui.common.gadget.GadgetHandlers.invokeHandler(GadgetHandlers.java:232)
... 48 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:442)
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:420) ... 49 more
Caused by: java.lang.IllegalArgumentException: ELOutputType's key may not be null!
at com.sun.jsftemplating.layout.descriptors.handler.ELOutputType.setValue(ELOutputType.java:101)
at com.sun.jsftemplating.layout.descriptors.handler.Handler.setOutputValue(Handler.java:295)
at com.sun.jsftemplating.layout.descriptors.handler.HandlerContextImpl.setOutputValue(HandlerContextImpl.java:166)
at org.glassfish.admingui.common.handlers.PluginHandlers.calculateHelpUrl(PluginHandlers.java:590)
... 55 more

#]
Comment by Mike Fitch [ 14/Dec/11 ]

Online help included in OGS build 14 via svn commit 3369





[GLASSFISH-17861] Installer doesn't set environment variables correctly on Windows Created: 30/Nov/11  Updated: 08/Dec/11  Due: 13/Dec/11  Resolved: 08/Dec/11

Status: Closed
Project: glassfish
Component/s: installation
Affects Version/s: 3.1.1_b12
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: Rebecca Parks Assignee: Snjezana Sevo-Zenzerovic
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows


Tags: 3_1_2-approved

 Description   

I install the open source product, open a command prompt window, cd to the c:\glassfish3\glassfish\bin directory, type asadmin start-domain, and get the following error message:

The system cannot find the path specified.

The same thing happens if I try executing from c:\glassfish3\bin.

I literally cannot even get started. This does not happen on a SunRay.

I've been advised to set AS_JAVA to C:\Program Files\Java\jre6 and to add C:\Program Files\Java\jdk1.6.0_25\bin to the PATH. Neither works. But I shouldn't HAVE to set anything.



 Comments   
Comment by scatari [ 01/Dec/11 ]

How was this installed? Through a executable installer OR an exploded zip file?

Comment by Rebecca Parks [ 01/Dec/11 ]

I downloaded the latest-glassfish-windows.exe file, then used the Windows "Run" feature to execute it.

Comment by scatari [ 08/Dec/11 ]

The machine does not have a JDK installed and the JRE was used for installer. Custom option does provide a way to choose custom jdk path.

Comment by scatari [ 08/Dec/11 ]

Reducing the priority as the installation clearly shows the errors during domain creation because of lack of JDK and the domain can be created after the installation manually.

Comment by Rebecca Parks [ 08/Dec/11 ]

I don't think the installation "clearly shows the errors." It does NOT give explicit instructions for a workaround. It does NOT tell the user to set AS_JAVA in the asenv.conf file to C:\Program Files\Java\jre6 and whatever else one must do to get a working server.

But the installation shouldn't have to give workaround instructions. It should search for a JDK or JRE and set variables accordingly if it finds one. If it doesn't find one, it should point to the JRE that it installs.

Comment by scatari [ 08/Dec/11 ]

Duplicate of http://java.net/jira/browse/GLASSFISH-17496





[GLASSFISH-17832] SEVERE: ProtocolChain exception - Connection reset by peer Created: 25/Nov/11  Updated: 13/Dec/11  Resolved: 13/Dec/11

Status: Resolved
Project: glassfish
Component/s: grizzly-kernel
Affects Version/s: 3.1.1_b10
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: janpla Assignee: oleksiys
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Debian Linux AMD64



 Description   

My log file is filling up with the following:

[#|2011-11-25T13:17:13.369+0000|SEVERE|glassfish3.1.1|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=41;_ThreadName=Thread-2;|ProtocolChain exception
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:237)
at sun.nio.ch.IOUtil.read(IOUtil.java:210)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236)
at com.sun.grizzly.util.Utils.readWithTemporarySelector(Utils.java:174)
at com.sun.grizzly.config.HttpRedirectFilter.execute(HttpRedirectFilter.java:106)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.portunif.CustomFilterChainProtocolHandler.handle(CustomFilterChainProtocolHandler.java:74)
at com.sun.grizzly.portunif.PUReadFilter.processProtocolHandler(PUReadFilter.java:309)
at com.sun.grizzly.portunif.PUReadFilter.execute(PUReadFilter.java:208)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:619)

#]

There are more than 6000 lines in the log file in less than 20 minutes. Apart from that, everything seems to work fine.

It started just after I deployed the first application ever on this domain from NetBeans. I know, because I had just installed Glassfish, enabled secure admin and accepted certificates; then I deployed my (very simple) web app and it started. What is the server actually trying to do here? To my untrained eye it looks like the server is trying to read from a network connection that gets reset, but I have idea what or why.

I tried to start the domain again, and this problem has stopped; but I can see that the application I deployed just before is no longer visible on the server. And each time I try to refresh the server information in NetBeans, I get another of those messages in the server.log. I have captured the traffic in Wireshark and attached it (the extension .txt is just so that I can upload it) - the deployment ass seen from NetBeans never actually finishes, although I can see the app on the server and even run it, so presumably NetBeans and the server get out of sync for some reason.



 Comments   
Comment by oleksiys [ 25/Nov/11 ]

related to
http://java.net/jira/browse/GRIZZLY-1128

Comment by oleksiys [ 25/Nov/11 ]

which Grizzly version in used w/ the GF 3.1.1_b10?
You can find this in the server.log right after GF startup.

Thanks.

Comment by oleksiys [ 13/Dec/11 ]

fixed in 3.1.2





add support for validate-dcom (GLASSFISH-17624)

[GLASSFISH-17810] OLH: validate-dcom Created: 23/Nov/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.2
Fix Version/s: 3.1.2_b14

Type: Sub-task Priority: Major
Reporter: Anissa Lam Assignee: Paul Davies
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

refer to main task for UI changes.



 Comments   
Comment by Paul Davies [ 14/Dec/11 ]

Fixed in revision 51521.





Support setup-ssh in GUI (GLASSFISH-17736)

[GLASSFISH-17809] Support setup-ssh in GUI Created: 23/Nov/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.2
Fix Version/s: 3.1.2_b14

Type: Sub-task Priority: Major
Reporter: Anissa Lam Assignee: Paul Davies
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Refer to main task for UI changes.



 Comments   
Comment by Paul Davies [ 14/Dec/11 ]

Fixed in revision 51521.





Support dcom node, including listing, create, delete and update (GLASSFISH-17556)

[GLASSFISH-17808] dcom node, including listing, create, delete and update Created: 23/Nov/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.2
Fix Version/s: 3.1.2_b14

Type: Sub-task Priority: Major
Reporter: Anissa Lam Assignee: Paul Davies
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

refer to main task for UI changes.



 Comments   
Comment by Paul Davies [ 14/Dec/11 ]

Fixed in revision 51521.





[GLASSFISH-17796] OLH: a new field is added to the create/edit security realm page for JDBC Realm Created: 22/Nov/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.2_b11
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: Anissa Lam Assignee: Mike Fitch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In fixing bug# 13363269, a new field is added to the create and edit page for jdbc realm.
The new field is
Password Encryption Algorithm.



 Comments   
Comment by Mike Fitch [ 14/Dec/11 ]

Added to build 14 via svn commit 51521





Add support for install and uninstall node, for both dcom and ssh node. (GLASSFISH-17552)

[GLASSFISH-17792] OLH: modify the create-node and edit node page about the additonal support of install node. Created: 22/Nov/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: None
Fix Version/s: 3.1.2_b14

Type: Sub-task Priority: Major
Reporter: Anissa Lam Assignee: Paul Davies
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

User can fill in additional info relating to install node when creating the node. OLH needs to include that.



 Comments   
Comment by Paul Davies [ 14/Dec/11 ]

Fixed in revision 51521.





support ping-node-ssh and ping-node-dcom (GLASSFISH-17555)

[GLASSFISH-17791] OLH: mention about the Ping action Created: 22/Nov/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: None
Fix Version/s: 3.1.2_b14

Type: Sub-task Priority: Major
Reporter: Anissa Lam Assignee: Paul Davies
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There is Ping action link added for DCOM and SSH node in the top level nodes page. OLH needs to mention about this.



 Comments   
Comment by Paul Davies [ 14/Dec/11 ]

Fixed in revision 51521.





[GLASSFISH-17778] UI improvements to listing and creating Network Listeners Created: 21/Nov/11  Updated: 10/Dec/11  Resolved: 10/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin_gui
Affects Version/s: None
Fix Version/s: 3.1.2_b14

Type: Improvement Priority: Critical
Reporter: Anissa Lam Assignee: Anissa Lam
Resolution: Fixed Votes: 0
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Attachments: PNG File new-listener.png     PNG File table.png    
Sub-Tasks:
Key
Summary
Type
Status
Assignee
GLASSFISH-17797 OLH: new simplified create network li... Sub-task Resolved Rebecca Parks  
Tags: 3_1_2-review

 Description   

As V3 is using Grizzly, the creation of Network Listener may causes confusion to users who has been using V2. The introduction of 'protocol' for each listener may not need to be exposed to GlassFish user. Comments from community suggested that we should make the creation of listener similar to v2 experience.
To bring back v2 experience, here is what will be done:

Tree node:
A subnode will be added under Http Service, just like in v2.
HttpService -> Http Listeners.

Clicking on Http Listeners will provide a table that lists out all the network listeners and allows user to edit that or create new listener.

Creating the Listener will require user to fill in a few attributes, like those required in V2, and hide the fact relating to Protocol. There will be an 'Advance' Link that will give them the page that allows more configuration, creating or using existing protocol etc.



 Comments   
Comment by Anissa Lam [ 07/Dec/11 ]

Attaching the 2 screen shots for listing and creating the listener.
The edit page will be the same except for the name that is not editable.

The helpkey specified in the Helplinks.properties is:

httpListeners=ref-httplisteners.html
httpListenerNew=ref-httplistenernew.html
httpListenerEdit=ref-httplisteneredit.html

Comment by Anissa Lam [ 10/Dec/11 ]

The change has checked into both 3.1.2 and 4.0
on 12/9/2011.





[GLASSFISH-17741] duplicate keys in property files Created: 15/Nov/11  Updated: 09/Dec/11  Resolved: 08/Dec/11

Status: Resolved
Project: glassfish
Component/s: jms
Affects Version/s: 3.1.2_b01
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: gmurr Assignee: Satish Kumar
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_2-review

 Description   

The new translation process prevent us from sending files for translation if duplicate keys are found in the property files. Please fix the following issues. Some keys may be present more than twice. Please double check for uniqueness.

"jms/admin/src/main/java/org/glassfish/jms/admin/cli/LocalStrings.properties","Invalid java properties","Line 124: Key ""configure.jms.cluster.clusterWithInstances"" has already appeared at line(s) 109. Non-unique keys are likely to increase translation costs due to over-translating."



 Comments   
Comment by Satish Kumar [ 08/Dec/11 ]

Removed the duplicate string...





[GLASSFISH-17736] Support setup-ssh in GUI Created: 15/Nov/11  Updated: 07/Dec/11  Resolved: 07/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin_gui
Affects Version/s: None
Fix Version/s: 3.1.2_b14, 3.1.2

Type: Improvement Priority: Critical
Reporter: Anissa Lam Assignee: Anissa Lam
Resolution: Fixed Votes: 0
Labels: None
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
Dependency
depends on GLASSFISH-17524 Expose setup-ssh as a remote command Resolved
Sub-Tasks:
Key
Summary
Type
Status
Assignee
GLASSFISH-17809 Support setup-ssh in GUI Sub-task Resolved Paul Davies  

 Description   

For better user experience in Nodes/Cluster management, GUI should support setup-ssh.
This will depends on the backend support to change that to a remote command.



 Comments   
Comment by Anissa Lam [ 23/Nov/11 ]

A checkbox will be added in the create-node screen that allows user to indicate that they want setup-ssh be called before creating the SSH node.

Comment by Anissa Lam [ 07/Dec/11 ]

Added the code to call setup-ssh also for edit node screen.
Feature complete, will still need to port this to 4.0.





[GLASSFISH-17727] Incorrectly named Windows service wrapper files created by create-service --name=<service-name> Created: 15/Nov/11  Updated: 13/Dec/11  Resolved: 13/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: 3.1.2_b07
Fix Version/s: 3.1.2_b14, 4.0_b14

Type: Bug Priority: Major
Reporter: Paul Davies Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_2-approved

 Description   

According to the create-service(1) man page, if the --name=service-name option is specified, the subcommand creates Windows service wrapper files that are named as follows:

  • Configuration file: service-nameService.xml
  • Executable file: service-nameService.exe

However, the create-service subcommand appears to ignore this option when naming the files:

asadmin>  create-service --name pmd_domain domain1
...
Command create-service executed successfully.

Directory of C:\glassfish3\glassfish\domains\domain1\bin

11/14/2011  04:13 PM    <DIR>          .
11/14/2011  04:13 PM    <DIR>          ..
11/14/2011  04:13 PM            30,208 domain1Service.exe
11/14/2011  04:13 PM             3,124 domain1Service.xml
               2 File(s)         33,332 bytes
               2 Dir(s)  86,851,964,928 bytes free

According to the create-service(1) man page, these files should be named pmd_domainService.exe and pmd_domainService.xml.



 Comments   
Comment by Byron Nevins [ 13/Dec/11 ]

Done.

d:\gf\branches\3.1.2\admin>svn commit d:\gf\trunk\main\nucleus\admin d:\gf\branches\3.1.2\admin
Sending D:\gf\branches\3.1.2\admin\server-mgmt\src\main\java\com\sun\enterprise\admin\servermgmt\services\LinuxService.java
Sending D:\gf\branches\3.1.2\admin\server-mgmt\src\main\java\com\sun\enterprise\admin\servermgmt\services\WindowsService.java
Sending D:\gf\trunk\main\nucleus\admin\server-mgmt\src\main\java\com\sun\enterprise\admin\servermgmt\services\WindowsService.java
Transmitting file data ...
Committed revision 51522.





create-service: serviceproperties option ignored (GLASSFISH-17724)

[GLASSFISH-17725] No Doc for create-service --serviceproperties Created: 14/Nov/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.2, 4.0
Fix Version/s: 3.1.2_b14

Type: Sub-task Priority: Major
Reporter: Byron Nevins Assignee: Paul Davies
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to GLASSFISH-17724 create-service: serviceproperties op... Resolved

 Description   

Much of the customizability of creating services is hidden inside the catch-all "serviceproperties" args but they aren't documented.



 Comments   
Comment by Paul Davies [ 14/Nov/11 ]

The create-service(1) man page for GlassFish 3.1 describes the --servicepropies option as follows:

--serviceproperties

(Oracle Solaris systems only) Specifies a colon (:)-separated list of various properties that are specific to the service. For Oracle Solaris 10, if you specify net_privaddr, the service's processes will be able to bind to the privileged ports (<1024) on the platform. You can bind to ports< 1024 only if the owner of the service is superuser, otherwise, this is not allowed.

This man page also describes the --name option, which enables users to specify the that they will use when administering the service through Oracle Solaris SMF commands or the service management features of the Windows operating system.

Comment by Byron Nevins [ 14/Nov/11 ]

Please see this bug for more details

Comment by Byron Nevins [ 14/Nov/11 ]

NOW the Doc is incomplete. Now the service properties can also be used in Linux and Windows.

Take a look in these 2 template files:
D:\glassfish3\glassfish\lib\install\templates\Domain-service-winsw.xml.template
D:\glassfish3\glassfish\lib\install\templates\linux-service.template

Any of those tokens can be replaced by setting the value as a service-property.

E.g.

--serviceproperties DISPLAY_NAME="whatever you want"

Note that this is a new feature for 3.1.2 and 4.0. For released versions the doc is correct, it only applies to SMF.

This feature was added because a user pointed out that it is impossible to specify a custom display name for a service...

Comment by Byron Nevins [ 14/Nov/11 ]

Contents of the template file:

<service>
<id>%%%NAME%%%</id>
<name>%%%DISPLAY_NAME%%%</name>
<description>GlassFish Server</description>
<executable>%%%AS_ADMIN_PATH%%%</executable>
<logpath>%%%LOCATION%%%/%%%ENTITY_NAME%%%/bin</logpath>
<logmode>reset</logmode>
<depend>tcpip</depend>
<startargument>%%%START_COMMAND%%%</startargument>
<startargument>--verbose</startargument>
%%%CREDENTIALS_START%%%%%%LOCATION_ARGS_START%%%<startargument>%%%ENTITY_NAME%%%</startargument>
<stopargument>%%%STOP_COMMAND%%%</stopargument>
%%%CREDENTIALS_STOP%%%%%%LOCATION_ARGS_STOP%%%<stopargument>%%%ENTITY_NAME%%%</stopargument>
</service>

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

Actually now that I look at the template – DISPLAY_NAME is the one-and-only thing that a user should optionally set as a service-property in Windows.

Comment by Paul Davies [ 14/Dec/11 ]

Fixed in revision 51521.





[GLASSFISH-17716] [REGRESSION] Instance synchronization fails with classes in lib subdirectory Created: 12/Nov/11  Updated: 19/Apr/12  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin
Affects Version/s: 3.1.2_b09
Fix Version/s: 3.1.2_b14, 4.0

Type: Bug Priority: Major
Reporter: sonialiu Assignee: Tom Mueller
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File server.log    
Tags: 3_1_2-approved

 Description   

OS: solaris and Linux
build: v3.1.2 b09

We tried to run security BAT test against V3.1.2 and it failed to start cluster after ran a customrealm test. Steps to reproduce the bug:

1.Checkout SQE workspace:
cvs co appserver-sqe/bootstrap.xml
(CVSROOT=:pserver:cvsguest@sunsw.us.oracle.com:/m/jws)
cd appserver-sqe
ant -f bootstrap.xml co-security
2. install GF V3.1.12, don NOT start domain1 (otherwise it will cause port conflict when run SQE setup-cluster-profile target)
3. Set env. variables
S1AS_HOME <GF installation dir> (example: /export/sonia/v3/glassfishv3/glassfish
SPS_HOME <workspace dir> (example: /export/sonia/appserver-sqe)
ANT_HOME <ant dir>
JAVA_HOME <java dir>
4. cd appserver-sqe/, run "ant setup-cluster-profile"
5. cd appserver-sqe/pe/security/customrealm/, run "ant ee all-appservrealm"
The test failed to start cluster after configured customrealm:

start-domain-ee:
[exec] Deprecated syntax, instead use:
[exec] asadmin --user admin --passwordfile /export/sonia/appserver-sqe/build-config/adminpassword.txt --echo --terse=false --host localhost --port 4848 start-cluster [options] ...
[exec] asadmin --host localhost --port 4848 --user admin --passwordfile /export/sonia/appserver-sqe/build-config/adminpassword.txt --interactive=false --echo=true --terse=false start-cluster --verbose=false sqe-cluster
[exec] remote failure: clustered_instance_1: Could not start instance clustered_instance_1 on node localhost-domain1 (localhost).
[exec]
[exec] Command failed on node localhost-domain1 (localhost): Command start-local-instance failed.
[exec]
[exec] CLI802 Synchronization failed for directory lib, caused by:
[exec] HTTP connection failed with code 500, message: Internal Error
[exec]
[exec] To complete this operation run the following command locally on host localhost from the GlassFish install location /export/sonia/v3/glassfish3:
[exec]
[exec] bin/asadmin start-local-instance --node localhost-domain1 --sync normal clustered_instance_1
[exec] Command start-cluster failed.

The server.log showed the following exeptions:

[#|2011-11-11T17:48:28.758-0800|SEVERE|glassfish3.1.2|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=79;_ThreadName=Thread-2;|service exception
java.lang.RuntimeException: java.util.zip.ZipException: duplicate entry: lib/classes/samples/security/customrealm/appserv/SimpleCustomRealm.class
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:243)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:238)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:833)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:730)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1031)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.util.zip.ZipException: duplicate entry: lib/classes/samples/security/customrealm/appserv/SimpleCustomRealm.class
at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:215)
at org.glassfish.admin.payload.ZipPayloadImpl$Outbound.prepareEntry(ZipPayloadImpl.java:94)
at org.glassfish.admin.payload.ZipPayloadImpl$Outbound.writePartsTo(ZipPayloadImpl.java:100)
at org.glassfish.admin.payload.PayloadImpl$Outbound.writeTo(PayloadImpl.java:359)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:239)
... 17 more

#]

[#|2011-11-11T17:48:28.782-0800|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=91;_ThreadName=Thread-2;|CLI802 Synchronization failed for directory lib, caused by:|#]
[#|2011-11-11T17:48:28.784-0800|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=91;_ThreadName=Thread-2;| HTTP connection failed with code 500, message: Internal Error|#]

The server.log is attached.



 Comments   
Comment by Nithya Ramakrishnan [ 15/Nov/11 ]

Sonia,

Can you please retry with the latest build. There has been no change in the security code that might have caused this. Please let us know if this issue occurs in the latest build.

Thanks
Nithya

Comment by sonialiu [ 15/Nov/11 ]

Thanks for looking at the issue. I tried the latest nightly build and it still failed. I noticed that create-auth-realm command did not work. See below:

create-auth-realm:
[echo] Creating auth realm realmperapp ...
[exec] Deprecated syntax, instead use:
[exec] asadmin --user admin --passwordfile /export/hudson/workspace/alex-linux-clu/appserver-sqe/build-config/adminpassword.txt --echo --terse=false --host localhost --port 4848 create-auth-realm [options] ...
[exec] asadmin --host localhost --port 4848 --user admin --passwordfile /export/hudson/workspace/alex-linux-clu/appserver-sqe/build-config/adminpassword.txt --interactive=false --echo=true --terse=false create-auth-realm --classname samples.security.customrealm.appserv.SimpleCustomRealm --property auth-type=simecustomrealm:jaas-context=simpleCustomRealm --target sqe-cluster realmperapp
[exec] remote failure: An error occurred during replication
[exec] FAILURE: Command create-auth-realm failed on server instance clustered_instance_1: remote failure: Creation of Authrealm realmperapp failed. com.sun.enterprise.security.auth.realm.BadRealmException: java.lang.ClassNotFoundException: samples.security.customrealm.appserv.SimpleCustomRealm not found by org.glassfish.main.security [223]
[exec] com.sun.enterprise.security.auth.realm.BadRealmException: java.lang.ClassNotFoundException: samples.security.customrealm.appserv.SimpleCustomRealm not found by org.glassfish.main.security [223]
[exec] Command create-auth-realm failed.

Comment by Nithya Ramakrishnan [ 30/Nov/11 ]

Sonia,

A normal create-auth-realm on the cluster in 3.1.2 passes when the class jar file is dropped into the lib:

Command create-local-instance executed successfully.
nitkal@nithya-dell-ubuntu:~/gf-v3-img/glassfish3/glassfish/bin$ ./asadmin start-cluster c1
Command start-cluster executed successfully.
nitkal@nithya-dell-ubuntu:~/gf-v3-img/glassfish3/glassfish/bin$ ./asadmin create-auth-realm --target c1 --classname com.samplerealm.SampleRealm realmperapp2
Command create-auth-realm executed successfully.

It appears from your test case that you are trying to drop the classes for your custom realm into lib/classes. Is that so? There does not seem to be any directory classes under the lib. Has this location changed in the test case recently? Can you try to drop the jar file containing the classes into the lib and repeat the test case?

Comment by Nithya Ramakrishnan [ 02/Dec/11 ]

Sonia reported that the custom realm classes are dropped inside <DOMAIN-DIR>/lib/classes. It appears that after a cluster start in 3.1.2, there is an error (Error 1) in syncing the lib/classes of the DAS with that of the instances:

If the command bin/asadmin start-local-instance --node localhost-domain1 --sync normal i1 is provided, as per the suggestion in the error message below, there is a further error (Error 2) displayed:

The stack trace for both are common. (Pasted below the errors). This is the root cause of the problem. Transferring to the admin team.

Error 1:

./asadmin start-cluster c1
remote failure: i1: Could not start instance i1 on node localhost-domain1 (localhost).

Command failed on node localhost-domain1 (localhost): Command start-local-instance failed.

CLI802 Synchronization failed for directory lib, caused by:
HTTP connection failed with code 500, message: Internal Error

To complete this operation run the following command locally on host localhost from the GlassFish install location /home/nitkal/gf-v3-img2/glassfish3:

bin/asadmin start-local-instance --node localhost-domain1 --sync normal i1

The command start-instance failed for: i1
Command start-cluster failed.

Error 2:

CLI802 Synchronization failed for directory lib, caused by:
HTTP connection failed with code 500, message: Internal Error
Command start-local-instance failed.

The stack traces for both are common:

[#|2011-12-02T15:55:57.914+0530|SEVERE|glassfish3.1.2|com.sun.grizzly.config.GrizzlyServiceListener|_ThreadID=24;_ThreadName=Thread-2;|service exception
java.lang.RuntimeException: java.util.zip.ZipException: duplicate entry: lib/classes/com/samplerealm/SampleLoginModule.class
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:246)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:238)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:833)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:730)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1031)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.util.zip.ZipException: duplicate entry: lib/classes/com/samplerealm/SampleLoginModule.class
at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:192)
at org.glassfish.admin.payload.ZipPayloadImpl$Outbound.prepareEntry(ZipPayloadImpl.java:94)
at org.glassfish.admin.payload.ZipPayloadImpl$Outbound.writePartsTo(ZipPayloadImpl.java:100)
at org.glassfish.admin.payload.PayloadImpl$Outbound.writeTo(PayloadImpl.java:359)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:242)
... 17 more

#]
Comment by Nithya Ramakrishnan [ 02/Dec/11 ]

Transferring to the admin team to investigate further.

Comment by Tom Mueller [ 03/Dec/11 ]

This is a regression due to revision 50623. This needs to be fixed in 3.1.2.
The problem is that the ServerSynchronizer.getFileNames method is putting both
a directory name and a file that is contained within that directory into
the output payload, and the output playload cannot handle that.

Comment by Tom Mueller [ 09/Dec/11 ]

Fixed on the 3.1.2 branch in revision 51426.
Fixed on the trunk in revision 51428.

Comment by josesuero [ 19/Apr/12 ]

I'm using 3.1.2 build 23 and jars are still not being copy to cluster instances, please check

Comment by Tom Mueller [ 19/Apr/12 ]

Can you please provide details about where you put the JARs and the steps you took?

Note, that if you just copy a JAR into the domain's lib directory, and then restart a server, the file is not going to be copied over because the domain.xml file did not change. Each try touching the domain.xml file on the DAS or using the add-library subcommand rather than just copying the file into the domain's lib directory.





[GLASSFISH-17715] Removing DomainOS service on OEL6 gives an error Created: 12/Nov/11  Updated: 27/Dec/11  Resolved: 14/Dec/11

Status: Closed
Project: glassfish
Component/s: admin
Affects Version/s: 3.1.2_b09
Fix Version/s: 3.1.2_b14, 4.0_b15

Type: Bug Priority: Major
Reporter: Alex Pineda Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

System is running Oracle Enterprise Linux (OEL) 6-64bit OS, has GF 3.1.2 build9 installed, Browser used is Firefox 3.6. Installation as "root" user.


Attachments: Zip Archive 17715.zip    
Tags: 3_1_2-approved

 Description   

Installed GF 3.1.2 build 9 as "root: user using the Custom option to create the DomainOS services on my OEL6 system. System worked fine. Was able to start and stop the service as follows:

  • Start the server:
    [root@wolfrun:~] $ /etc/init.d/GlassFish_domain1 start
  • Stop the server:
    [root@wolfrun:~] $ /etc/init.d/GlassFish_domain1 stop

When I tried to remove the service, I got an error message. The exact command and error were:

  • [root@wolfrun:~] $ asadmin _delete-service domain1
    Unable to delete this file: /etc/rc.d/rc0.d/K20GlassFish_domain1. Please delete it manually, or login with higher privileges, and run the command again.
    Command _delete-service failed.

Couple of items to note:

  • The script (GlassFish_domain1) was not copied in /etc/init.d/rc0.d. It was copied to /etc/init.d
  • The script (GlassFish_domain1) was removed despite the error message.

Need some investigation on this issue.



 Comments   
Comment by Byron Nevins [ 13/Dec/11 ]

Whoa! This will take hours just to get the environment going.

I'm stuck. I have a provisioned Linux machine.

it has no jdk.

[wnevins@adc6140387 /]$ java
java: Command not found.
[wnevins@adc6140387 /]$ sudo java
Password:
sudo: java: command not found

I tried 6 times to copy a JDK file over. It automagically gets truncated to zero bytes!!!

Comment by Byron Nevins [ 14/Dec/11 ]

The problem. I think, is the way that the JDK treats symbolic link files. I had an over-kill test in the code that checked to make sure that the link files had "canWrite()" permission. THe JDK said no. My guess is that the JDK loked at what the link file pointed at – not the link file itself.

At any rate, the check was unnecessary. The very next code deleted all the link files. That code never ran because the canWrite() returning false caused an Exception to be thrown w/o attempting to delete the files.

Trivial to fix.

Comment by Byron Nevins [ 14/Dec/11 ]
  • What is the impact on the customer of the bug?
    _delete-service will always fail on Linux

How likely is it that a customer will see the bug and how serious is the bug?
Fairly likely and seriously simply because it is broken.
THe command is still "hidden" though

Is it a regression? Does it meet other bug fix criteria (security, performance, etc.)?
Sort of. It is caused by change in behavior of JDK (I think)

  • What is the cost/risk of fixing the bug?
    As close to zero as one can get

How risky is the fix? How much work is the fix? Is the fix complicated?
Very little work. Very very simple. Essentially no risk.

  • Is there an impact on documentation or message strings?
    No.
  • Which tests should QA (re)run to verify the fix did not destabilize GlassFish?
    QA should re-run manual tests to verify
  • Which is the targeted build of 3.1.2 for this fix?
    B15
Comment by Byron Nevins [ 14/Dec/11 ]

Commit to 4.0

d:\gf\branches\3.1.2\admin>svn commit d:\gf\trunk\main\nucleus\admin
Sending D:\gf\trunk\main\nucleus\admin\server-mgmt\src\main\java\com\sun\enterprise\admin\servermgmt\services\LinuxService.java
Transmitting file data .
Committed revision 51551.

Waiting for approval to checkin to 3.1.2 branch

Comment by Byron Nevins [ 14/Dec/11 ]

The zip contains the one changed java file.

Unzip from 3.1.2/admin directory

I don't want it to get lost so here it is!

Comment by Alex Pineda [ 14/Dec/11 ]

As the reporter of this issue, I would like to clarify that I'm a member of the QA group and the bug was found by QA. The manual tests developed in GF 3.1, uncovered this issue and it's unique to OEL6. OEL6 is a new platform in GF 3.1.2 and the issue was found as part of our regular manual test cycle. I would ask that you correct the justification comment and note that the "DomainOS test procedure" needs to be executed in order to verify this fix.

Comment by Byron Nevins [ 14/Dec/11 ]

Ales Said:
The script (GlassFish_domain1) was not copied in /etc/rc.d/rc0.d. It was copied to /etc/rc.d
The script (GlassFish_domain1) was removed despite the error message.

Byron Says:

  • Are you sure about this? The script should be in /etc/init.d only. If not then I need to work with your machine directly.
  • It should not be copied anywhere else
  • There should be 7 link files in /etc/rc.d/rcN.d N is 0,...6 and S I think on OEL
  • To make things more confusing, those directories are also linked as /etc/rc0.d etc.
Comment by Byron Nevins [ 14/Dec/11 ]

d:\gf_prev\branches\3.1.2\admin>svn commit
Sending admin\server-mgmt\src\main\java\com\sun\enterprise\admin\servermgmt\services\LinuxService.java
Transmitting file data .
Committed revision 51562.

Comment by Alex Pineda [ 27/Dec/11 ]

My original comment about the location of the script was incorrect. Have corrected it in the original writeup.

In addition, just went through the manual scenario and the issue is resolved. I now get the expected message ("Command _delete-service executed successfully). Verified fix.

Comment by Alex Pineda [ 27/Dec/11 ]

Verified fix. No longer an issue.





[GLASSFISH-17652] need clear message in console while enabling secure admin with empty domain password. Created: 08/Nov/11  Updated: 20/Jan/12  Resolved: 09/Dec/11

Status: Closed
Project: glassfish
Component/s: admin_gui
Affects Version/s: None
Fix Version/s: 3.1.2_b14

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

GF 3.1.2 nightly dated b09_11_07_2011
firefox 3.6


Attachments: JPEG File secureAdminPage.jpg    
Issue Links:
Duplicate
is duplicated by GLASSFISH-17907 incorrect error msg when trying to en... Resolved
Tags: 3_1_2-review, 3_1_2-verified

 Description   

When Console is accessed from localhost, try to enable secure admin when the domain password is empty, The error thrown in console complains about the keystore not containing the specified aliases, which is confusing and does not provide an informative error message about what is wrong..as in CLI. In CLI the below error is thrown which is informative:

#asadmin enable-secure-admin
remote failure: At least one admin user has an empty password, which secure admi
n does not permit.
Command enable-secure-admin failed.

attached the screenshot.



 Comments   
Comment by Anissa Lam [ 15/Nov/11 ]

This is fixed when fixing GLASSFISH-17654.
The message now says:

Secure admin is turned on, empty password is not allowed.

Comment by Anissa Lam [ 07/Dec/11 ]

I thought this issue was fixed. It seems to appear again, or was never fixed before. Request Srini to take a look.
I filed GLASSFISH-17907 on this same issue. Will close that as duplicate. I wonder why the CLI gives a different message than what is showed in the console.

Comment by srinik76 [ 07/Dec/11 ]

Issue 17654 fix is while setting admin password.

But current issue is during enable secure admin page, when there is failure error is hardcoded in the gui, the fix needs to be propagate the back end error. Will fix this.

Comment by srinik76 [ 07/Dec/11 ]

The fix is

Index: src/main/resources/org/glassfish/common/admingui/Strings.properties
===================================================================
— src/main/resources/org/glassfish/common/admingui/Strings.properties (revision 51338)
+++ src/main/resources/org/glassfish/common/admingui/Strings.properties (working copy)
@@ -91,7 +91,6 @@
security.secureAdmin.adminaliasHelp=The alias that refers to the SSL/TLS certificate on the DAS. This alias is used by the instances to authenticate against the DAS.
security.secureAdmin.instancealias=Instance Alias:
security.secureAdmin.instancealiasHelp=The alias that refers to the SSL/TLS certificate on the instances. This alias is used by the DAS to authenticate against the instances.
-security.secureAdminEnableFailure=Error enabling secure admin, the keystore does not contain the specified aliases
security.secureLabel=Secure Administration:

Index: src/main/resources/appServer/securityAdmin.jsf
===================================================================
— src/main/resources/appServer/securityAdmin.jsf (revision 51338)
+++ src/main/resources/appServer/securityAdmin.jsf (working copy)
@@ -77,7 +77,7 @@
<!command
gf.restRequest(endpoint="#

{sessionScope.REST_URL}

/enable-secure-admin", attrs="#

{pageSession.valueMap}

", method="POST", result="#

{pageSession.resultMap}

", throwException="false");
if ("#

{pageSession.resultMap.data.exit_code}

=FAILURE") {

  • prepareAlertMsg(summary="$resource {i18nc.security.secureAdminEnableFailure}

    ", type="error");
    + prepareAlertMsg(summary="#

    {pageSession.resultMap.data.message}

    ", type="error");
    gf.redirect("#

    {facesContext.externalContext.requestContextPath}/common/appServer/securityAdmin.jsf?&alertType=${alertType}&alertSummary=${alertSummary}&alertDetail=${alertDetail}");
    }
    gf.redirect("#{facesContext.externalContext.requestContextPath}

    /common/appServer/restart-2.jsf");

Comment by srinik76 [ 08/Dec/11 ]

Fixed the issue in 3.1.2 branch

Sending common/src/main/resources/appServer/securityAdmin.jsf
Sending common/src/main/resources/org/glassfish/common/admingui/Strings.properties
Transmitting file data ..
Committed revision 51365.

Comment by srinik76 [ 08/Dec/11 ]

Checked in the fix in trunk

Sending common/src/main/resources/appServer/securityAdmin.jsf
Sending common/src/main/resources/org/glassfish/common/admingui/Strings.properties
Transmitting file data ..
Committed revision 51367.

Comment by shaline [ 20/Jan/12 ]

verified in GF 3.1.2 b18.





Provide an option to the "start-database" command to set JVM parameters (GLASSFISH-5430)

[GLASSFISH-17523] Add documentation for start-database --jvm-options Created: 28/Oct/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: None
Fix Version/s: 3.1.2_b14

Type: Sub-task Priority: Major
Reporter: Tom Mueller Assignee: Paul Davies
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Once this is implemented, the --jvm-options option to the start-database command will need to be documented.



 Comments   
Comment by Paul Davies [ 14/Dec/11 ]

Fixed in revision 51521.





[GLASSFISH-17498] Application Client problem with network linked glassfish dependencies Created: 27/Oct/11  Updated: 10/May/12  Resolved: 13/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin
Affects Version/s: V3, v3.0.1, 3.1, 3.1.1
Fix Version/s: 3.1.2_b14, 4.0_b14

Type: Bug Priority: Major
Reporter: andydr Assignee: Byron Nevins
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows Server 2003, JDK 1.6.0_26


Issue Links:
Duplicate
is duplicated by GLASSFISH-17138 Network share problem with standalone... Closed
Related
is related to GLASSFISH-18713 Fix ServerEnvironmentImpl not to corr... Open
Tags: 3_1_2-review

 Description   

According to the documentation http://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB I added the required library

$GLASSFISH_HOME/glassfish/lib/gf-client.jar 

It works properly if the path is absolut. If the glassfish directory is mapped as a windows share, the following problem occurs.

org.jvnet.hk2.component.ComponentException: injection failed on com.sun.enterprise.v3.server.ServerContextImpl.env with class org.glassfish.server.ServerEnvironmentImpl
        at org.jvnet.hk2.component.InjectionManager.error_injectionException(InjectionManager.java:277)
        at org.jvnet.hk2.component.InjectionManager.inject(InjectionManager.java:163)
        at org.jvnet.hk2.component.InjectionManager.inject(InjectionManager.java:91)
        at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:126)
        at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91)
        at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82)
        at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67)
        at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139)
        at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:76)
        at org.jvnet.hk2.component.Habitat.getByContract(Habitat.java:1042)
        at com.sun.enterprise.naming.impl.SerialContext.<init>(SerialContext.java:323)
        at com.sun.enterprise.naming.impl.SerialContext.<init>(SerialContext.java:335)
        at com.sun.enterprise.naming.impl.SerialInitContextFactory.createInitialContext(SerialInitContextFactory.java:358)
        at com.sun.enterprise.naming.impl.SerialInitContextFactory.getInitialContext(SerialInitContextFactory.java:353)
        at com.sun.enterprise.naming.SerialInitContextFactory.getInitialContext(SerialInitContextFactory.java:69)
        at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
        at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
        at javax.naming.InitialContext.init(Unknown Source)
        at javax.naming.InitialContext.<init>(Unknown Source)
        at my.test.ServiceLocator.<init>(ServiceLocator.java:25)
        at my.test.ServiceLocator.getInstance(ServiceLocator.java:33)
        at my.test.delegates.UserDelegate.login(UserDelegate.java:25)
        at my.test.SimpleLoginService.authenticate(SimpleLoginService.java:48)
        at org.jdesktop.swingx.auth.LoginService$1.doInBackground(LoginService.java:140)
        at org.jdesktop.swingx.auth.LoginService$1.doInBackground(LoginService.java:136)
        at javax.swing.SwingWorker$1.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at javax.swing.SwingWorker.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
        at java.io.File.<init>(Unknown Source)
        at org.glassfish.server.ServerEnvironmentImpl.postConstruct(ServerEnvironmentImpl.java:148)
        at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:131)
        at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91)
        at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82)
        at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67)
        at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139)
        at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:76)
        at org.jvnet.hk2.component.Habitat.getBy(Habitat.java:1048)
        at org.jvnet.hk2.component.Habitat.getByType(Habitat.java:1029)
        at com.sun.hk2.component.InjectInjectionResolver.getComponentInjectValue(InjectInjectionResolver.java:159)
        at com.sun.hk2.component.InjectInjectionResolver.getValue(InjectInjectionResolver.java:90)
        at org.jvnet.hk2.component.InjectionManager.inject(InjectionManager.java:141)
        ... 30 more



 Comments   
Comment by Tim Quinn [ 03/Nov/11 ]

It seems that, in this case, there are errors processing the asenv.bat file when accessed over the share. Those errors, though, are swallowed in ASenvPropertyReader.

I am transferring this issue to the admin component.

Also, GlassFish 3.1.1 is not supported on Windows Server 2003; it is supported on Windows Server 2008 (and many other platforms). Here is a link to the support matrix:

http://www.oracle.com/technetwork/middleware/ias/downloads/glassfish311cert-matrix-444569.xls

The later version of Windows might not show this problem. In any event we need to address the exception that is caught but not reported.

Comment by Tom Mueller [ 03/Nov/11 ]

Time to deal with the "// TODO" comment where the exception is caught in setProperties.

Comment by scatari [ 04/Nov/11 ]

Please evaluate this as for possible inclusion into 3.1.2.

Comment by Byron Nevins [ 13/Dec/11 ]

The problem isn't in AsenvPropertyReader.

There is nothing that can be done about the Exception that Tom is talking about. I changed the comment from "TODO" to"Nothing to do" so there's no confusion.

Now the code at line 148 where the NPE is thrown is just plain junkyard dog crazy. It is taking every single key from Asenv (e.g. hostname) and assumes it is a File and creates a File object with it. Very weird!

Then right after this the caller of that method un-does it in
GlassFish glassFish = createGlassFish(gfKernel, habitat, gfProps.getProperties());

SO – if you step through the code in a Debugger you will see c.s.a.hostname set to (for instance) "c:/blah/domain1/somehostname"
I set a watch and the System Property definitely got that bogus value!
Then the createGlassFish() call changes the value back to "somehostname".

Summary:
The code that is causing an NPE is weird and everything it does gets undone soon after.

Fix:
Don't call the File constructor with null (it did not check)

Comment by Byron Nevins [ 13/Dec/11 ]

The code is still weird but now the NPE problem is fixed.

d:\gf\branches\3.1.2\common\common-util>svn commit . \gf\trunk\main\nucleus\common\common-util
Sending branches\3.1.2\common\common-util\src\main\java\com\sun\enterprise\universal\glassfish\ASenvPropertyReader.java
Sending branches\3.1.2\common\common-util\src\main\java\org\glassfish\server\ServerEnvironmentImpl.java
Sending trunk\main\nucleus\common\common-util\src\main\java\com\sun\enterprise\universal\glassfish\ASenvPropertyReader.java
Sending trunk\main\nucleus\common\common-util\src\main\java\org\glassfish\server\ServerEnvironmentImpl.java
Transmitting file data ....
Committed revision 51532.





[GLASSFISH-17464] WELD-001508 is not handled correctly Created: 24/Oct/11  Updated: 12/Dec/11  Resolved: 12/Dec/11

Status: Resolved
Project: glassfish
Component/s: cdi
Affects Version/s: 3.1.1_b09, 3.1.1_b10, 3.1.1_b11, 3.1.1_b12, 3.1.1
Fix Version/s: 3.1.2_b14, 4.0

Type: Bug Priority: Major
Reporter: Bas van Gils Assignee: kshitiz_saxena
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 x64


Tags: 3_1_2-review, jms, weld, weld-integration

 Description   

I have an EAR that deploys without problems in GF 3.0.1. Now that we want to upgrade to GF 3.1.1 we are testing our apps on GF 3.1.1.
One specific app doesn't deploy, it fails with the messages in server.log listed below. No clue whatsoever.

SEVERE: Exception while loading the app

SEVERE: Exception while shutting down application container
SEVERE: Exception while shutting down application container
SEVERE: Exception while shutting down application container
SEVERE: Exception while shutting down application container
INFO: No timers to be deleted for id: 86444029077618688
INFO: No timers to be deleted for id: 86444029077618688
INFO: No timers to be deleted for id: 86444029077618688
SEVERE: Exception while shutting down application container : java.lang.NullPointerException</code>

After many trail and error sessions, I finally found that my EAR deploys on GF 3.1.1-b08 but not on GF 3.1.1-b09. So I looked up the differences in svn and after some testing I found that a change in class org.glassfish.weld.WeldDeployer is responsible for the failed deploy:

http://java.net/projects/glassfish/sources/svn/revision/47614

GLASSFISH-16730: The weld-integration module wasn't firing ProcessInjectionTargetEvents to MessageDriven Beans. So, reference to Beans that are injected through Portable Extensions weren't satisfied as the Extension wasn't receiving ProcessInjectionTarget Events for MDBs. Support for JMS message listeners is added

After adding a try/catch + exception log in method WeldDeployer.firePITEvent(), the following error is shown

WELD-001508 Cannot create an InjectionTarget from public abstract interface class <MyInterface> as it is an interface|#]

To my basic Weld knowledge, the error seems perfectly legal since it's trying to handle an interface class.

I have two issues:

  • this error should be logged in server.log
  • interfaces that extend javax.jms.MessageListener should not be given to Weld in this case


 Comments   
Comment by Bas van Gils [ 09/Dec/11 ]

Any idea if a fix will be included in 3.1.2?

Comment by Sivakumar Thyagarajan [ 09/Dec/11 ]

dj_canard: Yes, we are working on a fix for this issue for 3.1.2.

Comment by Sivakumar Thyagarajan [ 09/Dec/11 ]

Request Kshitiz to handle this issue in 3.1.2 and trunk.

Comment by kshitiz_saxena [ 12/Dec/11 ]

Now in firePITEvent method, it is checked whether BDA(Bean Deployment Archive) class is a interface. If it is a interface, then PIT event is not fired.

checkin logs :
Sending weld-integration/src/main/java/org/glassfish/weld/WeldDeployer.java
Transmitting file data .
Committed revision 51474.

For logging, I found following SEVERE message is logged in server logs which in my view is sufficient
[#|2011-12-12T17:15:07.707+0530|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=19;_ThreadName=Thread-2;|Exception while loading the app : WELD-001508 Cannot create an InjectionTarget from public abstract interface class com.sun.s1asdev.cdi.hello.mdb.MyMessageListener as it is an interface
org.jboss.weld.exceptions.DefinitionException: WELD-001508 Cannot create an InjectionTarget from public abstract interface class com.sun.s1asdev.cdi.hello.mdb.MyMessageListener as it is an interface
at org.jboss.weld.manager.SimpleInjectionTarget.<init>(SimpleInjectionTarget.java:65)
at org.jboss.weld.manager.BeanManagerImpl.createInjectionTarget(BeanManagerImpl.java:906)
at org.jboss.weld.manager.BeanManagerImpl.fireProcessInjectionTarget(BeanManagerImpl.java:1055)
at org.glassfish.weld.WeldDeployer.firePITEvent(WeldDeployer.java:303)
at org.glassfish.weld.WeldDeployer.fireProcessInjectionTargetEvents(WeldDeployer.java:293)
at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:178)
at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:128)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:277)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:238)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:680)

#]

Probably it is fixed in latest weld integration





[GLASSFISH-17422] Add online help for Secure Administration page Created: 14/Oct/11  Updated: 20/Jan/12  Resolved: 14/Dec/11

Status: Closed
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.2_b01
Fix Version/s: 3.1.2_b14

Type: Task Priority: Major
Reporter: shaline Assignee: Mike Fitch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: Solaris Sparc 10.
Browser : Firefox 3.6.23
GF 3.1.2 b05


Tags: 3_1_2-verified

 Description   

Using the GF 3.1.2 promoted build 05, enable secure admin and restart domain1. Access Console from a remote browser , and click on server(Admin server)node/Secure Administration button. while in the Secure Admin Page, click open the HELP Window. Notice that the below Http status 404 is displayed.

HTTP Status 404 -

type Status report

message

descriptionThe requested resource () is not available.
Oracle GlassFish Server 3.1.2



 Comments   
Comment by Anissa Lam [ 14/Oct/11 ]

Not sure if doc team has integrated new version that contains this help page.

Comment by Paul Davies [ 21/Oct/11 ]

Converted from bug to a task, as this task is planned for 3.1.2.

Comment by shaline [ 01/Dec/11 ]

Tried on nightly dated GF 3.1.2 b13-11-30-2011 using latest-ogs.zip bundle, and the HELP contents are Secure Admin is not yet available, and displays 404 Error upon opening Help Window from secure admin page from Console.

Comment by Mike Fitch [ 14/Dec/11 ]

Included in 3.1.2_b14 via svn commit 51521

Comment by shaline [ 20/Jan/12 ]

verified in GF 3.1.2 b18.





[GLASSFISH-17396] java.lang.ClassNotFoundException: Cannot deploy EAR with beans.xml and session bean contained in WAR Created: 08/Oct/11  Updated: 09/Dec/11  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: cdi
Affects Version/s: 3.1.1
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: alniks Assignee: kshitiz_saxena
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 x64, deployment through Netbeans


Attachments: Zip Archive mavencdiproject.zip    
Tags: 3_1_2-review, cdi, maven, netbeans

 Description   

When I try to deploy a maven EAR application with CDI enabled in both EJB and WAR application I have a java.lang.ClassNotFoundException:

Caused by: java.lang.ClassNotFoundException: com.alniks.test.cdi.web.LoggingInterceptor
at com.sun.enterprise.loader.ASURLClassLoader.findClassData(ASURLClassLoader.java:787)
at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:696)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.jboss.weld.resources.DefaultResourceLoader.classForName(DefaultResourceLoader.java:52)
at org.jboss.weld.manager.Enabled$ClassLoader.apply(Enabled.java:71)
... 41 more



 Comments   
Comment by Sivakumar Thyagarajan [ 14/Nov/11 ]

Requesting Kshitiz to investigate

Comment by kshitiz_saxena [ 09/Dec/11 ]

If multiple modules within ear have beans.xml file, class loading may fail as classloader set in thread context may point to a different BDA(Bean Deployment Archive). To fix this issue, a resource loader is created per BDA pointing to BDA's classloader. This will override default resource loader which used to depend on thread context classloader.

3.1.2 checkin logs :
Sending src/main/java/org/glassfish/weld/BeanDeploymentArchiveImpl.java
Adding src/main/java/org/glassfish/weld/ResourceLoaderImpl.java
Sending src/main/java/org/glassfish/weld/WeldDeployer.java
Transmitting file data ...
Committed revision 51422.

trunk checkin logs :
Sending weld-integration/src/main/java/org/glassfish/weld/BeanDeploymentArchiveImpl.java
Adding weld-integration/src/main/java/org/glassfish/weld/ResourceLoaderImpl.java
Sending weld-integration/src/main/java/org/glassfish/weld/WeldDeployer.java
Transmitting file data ...
Committed revision 51425.





[GLASSFISH-17395] DCOM - delete-instance is not deleting files Created: 07/Oct/11  Updated: 09/Dec/11  Resolved: 08/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: None
Fix Version/s: 3.1.2_b14

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

Tags: 3_1_2-approved

 Description   

It SAYS it deleted files but they are still there.



 Comments   
Comment by Byron Nevins [ 08/Dec/11 ]

Fixed.
Note that on Windows if you have Explorer or a command prompt or ANYTHING holding on to the file – they won't get deleted.





[GLASSFISH-17393] create --install --> chicken and egg problem Created: 07/Oct/11  Updated: 09/Dec/11  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: None
Fix Version/s: 3.1.2_b14, 4.0_b14

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

Tags: 3_1_2-approved

 Description   

d:\gf>asadmin create-node-dcom -W \pw --nodehost wnevins-lnr --install=true lnr
remote failure: Warning: some parameters appear to be invalid.
DCOM node not created. To force creation of the node with these parameters rerun the command using the --force option.
Could not find a remote Glassfish installation on host: wnevins-lnr at D:\glassfish3\glassfish

Well – duh! I asked you to create a remote GlassFish installation!

work-around == install-node



 Comments   
Comment by Byron Nevins [ 09/Dec/11 ]

the --install option is problematic. We should never have supported this!

Anyways – now it doesn't require that GF be installed remotely when it is going to install remotely!

d:\gf\branches\3.1.2\cluster>svn commit d:\gf\trunk\main\nucleus\cluster d:\gf\branches\3.1.2\cluster
Sending D:\gf\branches\3.1.2\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\NodeUtils.java
Sending D:\gf\branches\3.1.2\cluster\compare.bat
Sending D:\gf\branches\3.1.2\cluster\copyy.bat
Sending D:\gf\branches\3.1.2\cluster\setfiles.bat
Sending D:\gf\trunk\main\nucleus\cluster\admin\src\main\java\com\sun\enterprise\v3\admin\cluster\NodeUtils.java
Transmitting file data .....
Committed revision 51438.





[GLASSFISH-17375] stop-instance: Don't look for local pid file when the instance is remote Created: 30/Sep/11  Updated: 09/Dec/11  Resolved: 02/Dec/11

Status: Resolved
Project: glassfish
Component/s: distributed management
Affects Version/s: None
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: Byron Nevins Assignee: carlavmott
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Very easy to reproduce:

1. brand-new domain. No instances
2. Create >= 1 *remote* instance
3. start the instance
4. Call asadmin stop-instance
The code below skips all of the ssh/dcom code below it for no good reason.

InstanceDirs throws an IOException because there is no nodes directory since there are no local instances/nodes.

Anyways – it should not be looking locally for files for a node that is remote!

Look for the XXXXXXXXXX

// we think the instance is down but it might not be completely down so do further checking
// get the node name and then the node
// if localhost check if files exists
// else if SSH check if file exists on remote system
// else can't check anything else.
String nodeName = instance.getNodeRef();
Node node = nodes.getNode(nodeName);
String nodeHost = node.getNodeHost();
InstanceDirUtils insDU = new InstanceDirUtils(node, serverContext);
try

{ pidFile = new File (insDU.getLocalInstanceDir(instance.getName()) , "config/pid"); }

catch (java.io.IOException eio)

{ // could not get the file name so can't see if it still exists. Need to exit return; // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX }

// this should be replaced with method from Node config bean.



 Comments   
Comment by Joe Di Pol [ 30/Sep/11 ]

This:

        InstanceDirUtils insDU = new InstanceDirUtils(node, serverContext);
        try {
            pidFile = new File (insDU.getLocalInstanceDir(instance.getName()) , "config/pid");
        } catch (java.io.IOException eio){
            // could not get the file name so can't see if it still exists.  Need to exit
            return;
        }

should be moved to the "if (node.isLocal()){" case.

Comment by Byron Nevins [ 30/Sep/11 ]

Not that simple. SSH is also using "pidFile". You have t dig it out of the node and handle null nodedir, etc.

Comment by carlavmott [ 04/Nov/11 ]

I ran the following test

asadmin create-node-ssh --nodehost adc2190111 --installdir /scratch/gf/cmott/glassfish3 nodeA
asadmin create-instance --node nodeA ins1
asadmin start-instance ins1
asadmin stop-instance ins1

I set a break point in stop-instance and looked at what getLocalInstanceDir returned and see that the path is the instance dir on the remote machine. It seems that this is working. Did I miss something?

Comment by Byron Nevins [ 07/Nov/11 ]

Yes you missed something!

You probably were not following the instructions exactly. Did you do the first step:

1. brand-new domain. No instances
?

======

Do this:

1. get rid of any local instances. Make sure you have no "nodes" directory on DAS.

2. Now the code is guaranteed to throw an IOException and all of that SSH code in that block will not run. There will be no SSH calls to the remote machine asking if the pid file exists.

========

InstanceDirs will not put up with any errors. It is immutable and is either totally valid and reliable or – empty garbage. Its constructor is where the IOException is coming from.

So if you have no "nodes" folder, then InstanceDirs will definitely throw an IOException and your code will return and never look remotely by using SSH.

In any case InstanceDirs is exclusively used for local paths – not remote paths.
==========

Recommended fix – look at how I did it for DCOM (just below the SSH block)

You have to write some code that will create the full path of the pid file relative to the remote computer.

Comment by carlavmott [ 08/Nov/11 ]

Yes I have a brand new domain.

Just to be sure I deleted my installation of glassfish and reinstalled. I still don't see the problem. I then reinstalled again and ran with the debugger so I could see the actual file that it was looking for and it was correct. I'm running a build from the trunk. Is the code for stop-instance different in the trunk and 3.1.2? What are the exact steps to recreate this?

cd glassfish3/glassfish/bin/
glassfishs-macbookpro53:bin cmott$ ls ..
bin config docs domains legal lib modules osgi
glassfishs-macbookpro53:bin cmott$ ls ../nodes
ls: ../nodes: No such file or directory
glassfishs-macbookpro53:bin cmott$ asadmin start-domain
Waiting for domain1 to start ................
Successfully started the domain : domain1
domain Location: /Users/cmott/gf-v3/glassfish3/glassfish/domains/domain1
Log File: /Users/cmott/gf-v3/glassfish3/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.
glassfishs-macbookpro53:bin cmott$ asadmin create-node-ssh --nodehost adc2190111 --installdir /scratch/gf/cmott/glassfish3 nodeA
Command create-node-ssh executed successfully.
glassfishs-macbookpro53:bin cmott$ asadmin create-instance --node nodeA ins1
Command _create-instance-filesystem executed successfully.
Port Assignments for server instance ins1:
JMX_SYSTEM_CONNECTOR_PORT=28686
JMS_PROVIDER_PORT=27676
HTTP_LISTENER_PORT=28080
ASADMIN_LISTENER_PORT=24848
JAVA_DEBUGGER_PORT=29009
IIOP_SSL_LISTENER_PORT=23820
IIOP_LISTENER_PORT=23700
OSGI_SHELL_TELNET_PORT=26666
HTTP_SSL_LISTENER_PORT=28181
IIOP_SSL_MUTUALAUTH_PORT=23920
The instance, ins1, was created on host adc2190111
Command create-instance executed successfully.
glassfishs-macbookpro53:bin cmott$ asadmin start-instance ins1
Waiting for ins1 to start .............
Successfully started the instance: ins1
instance Location: /scratch/gf/cmott/glassfish3/glassfish/nodes/nodeA/ins1
Log File: /scratch/gf/cmott/glassfish3/glassfish/nodes/nodeA/ins1/logs/server.log
Admin Port: 24848
Command start-local-instance executed successfully.
The instance, ins1, was started on host adc2190111
Command start-instance executed successfully.
glassfishs-macbookpro53:bin cmott$ asadmin stop-instance ins1
The instance, ins1, is stopped.
Command stop-instance executed successfully.

From the server log:

[#|2011-11-07T14:51:01.576-0800|INFO|44.0|org.hibernate.validator.util.Version|_ThreadID=12;_ThreadName=Thread-2;|Hibernate Validator 4.1.0.Final|#]

[#|2011-11-07T14:51:01.587-0800|INFO|44.0|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=12;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-11-07T14:51:17.324-0800|INFO|44.0|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin.cluster|_ThreadID=13;_ThreadName=Thread-2;|Command _validate-das-options executed successfully.|#]

[#|2011-11-07T14:51:19.089-0800|INFO|44.0|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin.cluster|_ThreadID=13;_ThreadName=Thread-2;|Command _create-instance-filesystem executed successfully.|#]

[#|2011-11-07T14:51:46.630-0800|INFO|44.0|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin.cluster|_ThreadID=12;_ThreadName=Thread-2;|Waiting for ins1 to start .............
Successfully started the instance: ins1
instance Location: /scratch/gf/cmott/glassfish3/glassfish/nodes/nodeA/ins1
Log File: /scratch/gf/cmott/glassfish3/glassfish/nodes/nodeA/ins1/logs/server.log
Admin Port: 24848
Command start-local-instance executed successfully.|#]

[#|2011-11-07T14:51:56.913-0800|INFO|44.0|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin.cluster|_ThreadID=12;_ThreadName=Thread-2;|Instance ins1 shutdown initiated|#]

I then reinstalled glassfish on both machines and started the server with debug and set a break point in
InstanceDirUtils in methode getLocalInstanceDir

InstanceDirs instanceDirs = new InstanceDirs(nodeDirFile.toString(), node.getName(), instance);

nodeDirFile shows the following:
/scratch/gf/cmott/glassfish3/glassfish/nodes

Which is what I expected.

The server output shows (note I started and stopped the instance twice):

[#|2011-11-07T14:58:57.595-0800|INFO|44.0|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin.cluster|_ThreadID=13;_ThreadName=admin-listener(1);|Command _create-instance-filesystem executed successfully.|#]

[#|2011-11-07T14:59:51.660-0800|INFO|44.0|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin.cluster|_ThreadID=12;_ThreadName=admin-listener(2);|Waiting for ins1 to start ...........
Successfully started the instance: ins1
instance Location: /scratch/gf/cmott/glassfish3/glassfish/nodes/nodeA/ins1
Log File: /scratch/gf/cmott/glassfish3/glassfish/nodes/nodeA/ins1/logs/server.log
Admin Port: 24848
Command start-local-instance executed successfully.|#]

[#|2011-11-08T14:02:58.913-0800|INFO|44.0|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin.cluster|_ThreadID=13;_ThreadName=admin-listener(1);|Instance ins1 shutdown initiated|#]

[#|2011-11-08T14:03:28.653-0800|INFO|44.0|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin.cluster|_ThreadID=12;_ThreadName=admin-listener(2);|CLI801 Instance is already synchronized
Waiting for ins1 to start .........
Successfully started the instance: ins1
instance Location: /scratch/gf/cmott/glassfish3/glassfish/nodes/nodeA/ins1
Log File: /scratch/gf/cmott/glassfish3/glassfish/nodes/nodeA/ins1/logs/server.log
Admin Port: 24848
Command start-local-instance executed successfully.|#]

[#|2011-11-08T14:03:33.597-0800|INFO|44.0|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin.cluster|_ThreadID=13;_ThreadName=admin-listener(1);|Instance ins1 shutdown initiated|#]

Comment by Joe Di Pol [ 18/Nov/11 ]

I've confirmed the problem is still there. To see the problem you really need to step through with the debugger. To reproduce:

1) New install, no instances.
2) Start the domain in --debug mode. Attach a debugger. Set a breakpoint in StopInstanceCommand.execute()
3) Create an SSH node for a remote system
4) Create an instance on that SSH node
5) start the instance
6) stop the instance

In the debugger step through the code. You will see that this line throws an IO exception because down in insDU.getLocalInstanceDir() it assumes you are operating on local paths, and you are not. You are operating on a path for the remote system which may not exist on the local system.

        } else if (node.getType().equals("SSH")) {
            try {
                pidFile = new File (insDU.getLocalInstanceDir(instance.getName()) , "config/pid");
            } catch (java.io.IOException eio){

To fix this we need to generate the path without using InstanceDirUtils

Comment by carlavmott [ 30/Nov/11 ]

The issue is that all the code that was added to get the instance directory name was written such that it assumes a local node and not that the node could be on another machine. The code checks the validity of the path as it is built so there are many places where this will fail in the case where the node is remote.

How important is it to check that the path being built is correct as it is built? Can we build the path and check that it is correct once it is built? I tried to remove the checks but got to a point where some test was failing. I'm still investigating if all the checks are necessary for building the path.

Comment by carlavmott [ 02/Dec/11 ]

I have updated the code to create the path based on the information in the node. I check that the config directory exists before looking for the pid file since I can not tell if an error is because the pid file has been deleted as expected or if the path to the pid file is incorrect. If the config dir exists then I look to see if the pid file exists.

Comment by carlavmott [ 02/Dec/11 ]

marking this bug as fixed as code has been integrated.





[GLASSFISH-17291] org.omg.stub.java.rmi is missing from system export list Created: 13/Sep/11  Updated: 07/Dec/11  Resolved: 07/Dec/11

Status: Resolved
Project: glassfish
Component/s: orb
Affects Version/s: 3.1.1
Fix Version/s: 3.1.2_b14

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

Attachments: Text File osgi-properties.patch    
Tags: 3_1_2-review

 Description   

Just noticed that org.omg.stub.java.rmi is missing from system package export list.



 Comments   
Comment by Sanjeeb Sahoo [ 03/Nov/11 ]

While fixing, make sure this is removed from following bundles:
glassfish-corba-omgapi
org.glassfish.core.glassfish-extra-jre-packages

Comment by Sanjeeb Sahoo [ 11/Nov/11 ]

This bug requires fixes in two places:

1) We have to add org.omg.stub.java.rmi in package list in osgi-platforms/felix/src/main/resources/glassfish/config/osgi.properties. I am attaching a patch which does this. See osgi-properties.patch.
2) In glassfish-corba-omgapi.jar, we need to remove org.omg.stub.java.rmi from the exported package list.

I have no idea where the source code for #2. Since it is owned by CORBA team and they have to make a new release of the jar and integrate the same in GF 3.1.2, I am transferring the bug to them to do the needful. While integrating the new version of glassfish-corba-omgapi.jar, they have to apply osgi-properties.patch as well in glassfish workspace.

This needs to be done in 3.1.2 release.

Comment by Sanjeeb Sahoo [ 11/Nov/11 ]

Patch for osgi.properties

Comment by Harshad Vilekar [ 03/Dec/11 ]

Integrated to 3.1.2.

Comment by Harshad Vilekar [ 07/Dec/11 ]

Integrated to Corba build 3.1.0-b032.

Comment by scatari [ 07/Dec/11 ]

Fix integrated into 3.1.2.





[GLASSFISH-17272] cdi extension ignored Created: 06/Sep/11  Updated: 09/Dec/11  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: cdi
Affects Version/s: 3.1.1
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: kumm Assignee: kshitiz_saxena
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

jdk1.6u25


Attachments: Zip Archive mvntestee.zip    
Tags: 3_1_2-review

 Description   

I have an ear with one ejb and one web project.
In the web project i try to create a cdi extension. Drop my extension classname to META-INF/sevices/javax.enterprise.inject.spi.Extension. My extension just write a message from static constructor.

When both ejb and web projects contains a beans.xml, my extension class ignored. My message don't appears in the log.
When i remove the beans.xml for the ejb, my extension class is loaded, my message appears.

I've created a very simple project.
Attached.



 Comments   
Comment by kshitiz_saxena [ 09/Dec/11 ]

Earlier the extensions were loaded only using classloader set in thread context. Now behavior is changed to get all the BDAs(Bean Deployment Archive) within ear and then get their corresponding classloader to load extension per BDA.

3.1.2 checkin logs :
Sending weld-integration/src/main/java/org/glassfish/weld/DeploymentImpl.java
Transmitting file data .
Committed revision 51423.

trunk checkin logs :
Sending src/main/java/org/glassfish/weld/DeploymentImpl.java
Transmitting file data .
Committed revision 51424.





[GLASSFISH-17199] Spurious messages in server log when running enhanced MQ cluster Created: 17/Aug/11  Updated: 09/Dec/11  Resolved: 08/Dec/11

Status: Resolved
Project: glassfish
Component/s: jms
Affects Version/s: 3.1.1
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: Nigel Deakin Assignee: Satish Kumar
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1_2-review

 Description   

Create a GlassFish cluster which is configured to use an enhanced MQ broker cluster.

When the cluster is started, the server log contains these entries:

 
[#|2011-08-17T10:39:56.109+0100|WARNING|glassfish3.1.1|
javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.util|
_ThreadID=10;_ThreadName=Thread-2;|RAR8000 : 
The method setHARequired is not present in the class : com.sun.messaging.jms.ra.ResourceAdapter|#]

[#|2011-08-17T10:39:56.125+0100|WARNING|glassfish3.1.1|
javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.util|
_ThreadID=10;_ThreadName=Thread-2;|RAR7097: 
No setter method present for the property HARequired in the class com.sun.messaging.jms.ra.ResourceAdapter|#]

The method setHARequired was removed from JMSRA in MQ 4.0, so the Glassfish JMS module should no longer be setting it.



 Comments   
Comment by Satish Kumar [ 08/Dec/11 ]

Removed the call to setHARequired from ActiveJMSResourceAdapter since this method has been removed from JMSRA from MQ 4.0





[GLASSFISH-17186] CDI bean registered by extension registered twice Created: 11/Aug/11  Updated: 11/Dec/11  Resolved: 11/Dec/11

Status: Resolved
Project: glassfish
Component/s: cdi
Affects Version/s: 3.1.1
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: Jozef Hartinger Assignee: Sivakumar Thyagarajan
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

java version "1.6.0_24"
Apache Maven 3.0.3
GF 3.1.1
Fedora 15


Attachments: File test.war    
Issue Links:
Duplicate
is duplicated by GLASSFISH-17185 CDI bean registered by extension regi... Closed
Tags: 3_1_2-review

 Description   

AmbiguousDependencyException is thrown deploying the attached application. Source codes are available at https://github.com/seam/compatibility/blob/develop/src/test/java/org/jboss/seam/compat/cdi/registration/VisibilityOfBeanRegisteredByExtensionFromNonBeanLibraryTest.java

[#|2011-08-11T13:19:44.857+0200|SEVERE|glassfish3.1.1|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=18;_ThreadName=Thread-2;|Exception while loading the app|#]

[#|2011-08-11T13:19:44.903+0200|SEVERE|glassfish3.1.1|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=18;_ThreadName=Thread-2;|Exception while loading the app : WELD-001409 Ambiguous dependencies for type [BeanClassToRegister] with qualifiers [@Default] at injection point [[field] @Inject private org.jboss.seam.compat.cdi.registration.AnotherBeanClassToRegister.collaborator]. Possible dependencies [[Managed Bean [class org.jboss.seam.compat.cdi.registration.BeanClassToRegister] with qualifiers [@Any @Default], Managed Bean [class org.jboss.seam.compat.cdi.registration.BeanClassToRegister] with qualifiers [@Any @Default]]]
org.jboss.weld.exceptions.DeploymentException: WELD-001409 Ambiguous dependencies for type [BeanClassToRegister] with qualifiers [@Default] at injection point [[field] @Inject private org.jboss.seam.compat.cdi.registration.AnotherBeanClassToRegister.collaborator]. Possible dependencies [[Managed Bean [class org.jboss.seam.compat.cdi.registration.BeanClassToRegister] with qualifiers [@Any @Default], Managed Bean [class org.jboss.seam.compat.cdi.registration.BeanClassToRegister] with qualifiers [@Any @Default]]]
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:274)
at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:106)
at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:129)
at org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:351)
at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:336)
at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:396)
at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:190)
at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:128)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:306)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:462)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:382)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1064)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1244)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1232)
at org.glassfish.admin.rest.ResourceUtil.runCommand(ResourceUtil.java:202)
at org.glassfish.admin.rest.ResourceUtil.runCommand(ResourceUtil.java:195)
at org.glassfish.admin.rest.resources.TemplateListOfResource.createResource(TemplateListOfResource.java:321)
at org.glassfish.admin.rest.resources.TemplateListOfResource.post(TemplateListOfResource.java:180)
at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:134)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.SubLocatorRule.accept(SubLocatorRule.java:134)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
at com.sun.jersey.server.impl.container.grizzly.GrizzlyContainer._service(GrizzlyContainer.java:182)
at com.sun.jersey.server.impl.container.grizzly.GrizzlyContainer.service(GrizzlyContainer.java:147)
at org.glassfish.admin.rest.adapter.RestAdapter.service(RestAdapter.java:184)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:238)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)



 Comments   
Comment by Sivakumar Thyagarajan [ 11/Dec/11 ]

Resolving this issue as the application now deploys successfully against latest builds of 3.1.2 and trunk.

— server.log snippet showing successful deployment of archive —
[#|2011-12-11T21:37:31.730+0530|INFO|glassfish3.1.2|org.jboss.weld.Version|_ThreadID=17;_ThreadName=Thread-2;|WELD-000900 1.1.4 (Final)|#]

[#|2011-12-11T21:37:32.771+0530|INFO|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=17;_ThreadName=Thread-2;|WEB0671: Loading application [test] at [/test]|#]

[#|2011-12-11T21:37:32.846+0530|INFO|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=17;_ThreadName=Thread-2;|test was successfully deployed in 3,075 milliseconds.|#]
— server.log snippet showing successful deployment of archive —





[GLASSFISH-17139] asadmin create-jvm-options does not handle colons as documented Created: 01/Aug/11  Updated: 24/Oct/13  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.1
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: pgiblox Assignee: Mike Fitch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:
  1. java -version
    java version "1.6.0_18"
    Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
    Java HotSpot(TM) 64-Bit Server VM (build 16.0-b13, mixed mode)
  2. uname -a
    Linux the_hostname 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

Tags: admin, create-jvm-options, jvm

 Description   

asadmin create-jvm-options does not seem to handle parsing options that have colons in them. Not a surprise since colons are used as the delimiter between pairs as well:

  1. asadmin create-jvm-options --help | grep -B3 PrintGCDetails
    This example sets the maximum available heap size to 1024
    and requests details about garbage collection.

asadmin> create-jvm-options "-Xmx1024m:-XX:+PrintGCDetails"

  1. asadmin create-jvm-options "-Xmx1024m:-XX:+PrintGCDetails"
    remote failure: JVM option +PrintGCDetails is invalid because it does not start with a '-'
    Command create-jvm-options failed.

So, I thought: "who cares? I'll just issue two separate commands":

  1. asadmin create-jvm-options "-Xmx1024m"
    Created 1 option(s)
    Command create-jvm-options executed successfully.
  2. asadmin create-jvm-options "-XX:+PrintGCDetails"
    remote failure: JVM option +PrintGCDetails is invalid because it does not start with a '-'
    Command create-jvm-options failed.

Nope.. so the only way I can find to set "-XX:" options (I'm actually only interested in -XX:MaxPermSize) from the command line is to use external scripts such as some BASH or Python - but this is less than ideal.

Additional Note: The asadmin create-jvm-options --help command also lists an example:
asadmin> create-jvm-options --profiler=true -XX:MaxPermSize=192m

... naturally, this fails with the "invalid because it does not start with a '-'" error as well.



 Comments   
Comment by Tom Mueller [ 01/Aug/11 ]

A colon ( can be included in a JVM option using the create-jvm-options command by escaping it with a backslash (). For example, on Linux with bash:

asadmin create-jvm-options -XX
:MaxPermSize=192m

or

asadmin create-jvm-options "-XX\:MaxPermSize=192m"

This is definitely a documentation issue as the manual page needs to be corrected.

However, there is also a problem with passing a plus ("+") in a JVM option, as it is converted to a space due to the URL encoding that happens when the command is passed to the server. As a workaround, the PrintGCDetails option can be set using the following command:

asadmin create-jvm-options "-XX\:%2BPrintGCDetails"

Comment by Tom Mueller [ 01/Aug/11 ]

I created issue GLASSFISH-17141 to deal with the plus issue.

Changing this issue to be a documentation issue for the create-jvm-options manual page. Then change to the manual page needs to explain how to escape the colon when it is passed in an argument. Also, the examples that use a colon need to be corrected.

Comment by Paul Davies [ 01/Aug/11 ]

The description of the operand (which is where colons would be specified) already states the need to escape the colon character:

Note - If an option name or option value contains a colon, the backslash must be used to escape the colon in the name or value. Other characters might also require an escape character. For more information about escape characters in subcommand options, see the asadmin(1M) man page.

In the online version of the create-jvm-options(1) man page, Examples 1-3 show the required backslash characters. The version that is displayed when --help is typed must be fixed to match the online version.

The required backslash that is missing from Example 4 must be added.

Comment by Mike Fitch [ 14/Dec/11 ]

Corrected colon in example 4 in build 14 via svn commit 51521

Comment by emailnbw [ 30/Mar/12 ]

@Tom Mueller

You mentioned using %2B for the + character. eg. asadmin create-jvm-options "-XX\:%2BPrintGCDetails"

Using %2B inside a text file that is fed into asadmin multimode on Windows 7 x64 w/Glassfish 3.1.2 FCS (build 23) failed for me. It did not translate %2B to +.

What I ended up doing which did work was using single quotes and leaving the + and escaping the :. For example inside my multimode file:

create-jvm-options '-XX\:+PrintGCDetails'

-Noah

Comment by juliohm [ 24/Oct/13 ]

I've also noted this issue while using asadmin via command line. I am able to create jvm options escaping the colon with a double slash only. For example:

 
create-jvm-options -XX\\:+PrintGCDetails

list-jvm-options will show the following:

 
-XX: PrintGCDetails

However, when I open the domain.xml file, the plus sign is there and it seems to be configured correctly. A list of running jobs on linux reveals that the command line executed for glassfish is also correct.

 
/opt/jdk/bin/java -cp /opt/glassfish3/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOptions -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+PrintGCDetails -server ## snipped

So, unless this has any real effect during runtime, this might be considered not as major as reported. It seems more of a problem displaying the + character on the terminal while running list-jvm-options and parsing it during create-jvm-options.





Admin GUI shall show "Allow encoded slashes in URIs" for http-listener (GLASSFISH-17072)

[GLASSFISH-17077] OLH: add encodedSlashEnabled and websocketsSupportEnabled attributes to the HTTP page Created: 20/Jul/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 4.0_b08
Fix Version/s: 3.1.2_b14

Type: Sub-task Priority: Major
Reporter: Anissa Lam Assignee: Mike Fitch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

2 checkbox has been added to the edit HTTP page and create Protocol page. Refer to GLASSFISH-17072.

need to update OLH to include this.
The help id for these 2 pages are:

protocolNew=ref-protocolnew.html
http=ref-protocolhttpedit.html



 Comments   
Comment by Mike Fitch [ 28/Nov/11 ]

Updated the ref-protocolnew and ref-protocolhttpedit topics to include these two options.

Comment by Mike Fitch [ 14/Dec/11 ]

Updates in build 14 via svn commit 51521





[GLASSFISH-17061] Issues on the database which doesn't support setClientInfo method Created: 19/Jul/11  Updated: 04/Mar/14  Resolved: 09/Dec/11

Status: Resolved
Project: glassfish
Component/s: jdbc
Affects Version/s: 4.0
Fix Version/s: 3.1.2_b14, 4.0

Type: Bug Priority: Major
Reporter: ito_m Assignee: Shalini
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All
JDK: 6 or later


Attachments: Text File GF17061.patch    
Tags: 3_1_1-exclude, 3_1_1-scrubbed, 3_1_2-review

 Description   

Some databases don't support getClientInfo / setClientInfo method. I detected there are two issues when closing connections on the database which don't support setClientInfo method.

1. In case of enabling SQL Trace Listeners
The exception which occurs when calling setClientInfo method before closing connection is not handled appropriately because of the invocation through Proxy. As a result of the following example, JPA provider (EntityManagerSetupImpl.deploy) catches this exception and closing connections will be never executed.

at $Proxy148.setClientInfo(Unknown Source)
at com.sun.gjc.spi.jdbc40.ConnectionHolder40.setClientInfo(ConnectionHolder40.java:322)
at com.sun.gjc.spi.jdbc40.ConnectionHolder40.close(ConnectionHolder40.java:530)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:617)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:233)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:394)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:185)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:242)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:237)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:208)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:269)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.gjc.spi.JdbcObjectsFactory$1.invoke(JdbcObjectsFactory.java:143)
... 82 more

2. In case of disabling SQL Trace Listeners
RAR7115 message is output every time when closing connections as follow. I think this information is not useful for users who have already known the fact client info properties are not supported, and affects log size if many connections are used.

[#|2011-07-19T12:30:45.685+1000|INFO|glassfish3.2|javax.enterprise.resource.resourceadapter.com.sun.gjc.spi|_ThreadID=17;_ThreadName=Thread-2;|RAR7115: Unable to set ClientInfo for connection|#]
[#|2011-07-19T12:30:50.479+1000|INFO|glassfish3.2|javax.enterprise.resource.resourceadapter.com.sun.gjc.spi|_ThreadID=17;_ThreadName=Thread-2;|RAR7115: Unable to set ClientInfo for connection|#]
[#|2011-07-19T12:30:52.698+1000|INFO|glassfish3.2|javax.enterprise.resource.resourceadapter.com.sun.gjc.spi|_ThreadID=17;_ThreadName=Thread-2;|RAR7115: Unable to set ClientInfo for connection|#]

The current Glassfish implementation always calls getClientInfo()/setClientInfo() regardless of supporting these methods. I suggest it should check whether the client info properties are supported or not in advance to resolve the above issues.



 Comments   
Comment by ito_m [ 19/Jul/11 ]

I will attache the patch for this issue later.

Comment by Jagadish [ 26/Jul/11 ]

w.r.t the first issue of not closing the connection, it will be a jdbc-driver issue.
The method getClientInfo / setClientInfo are supposed to throw SQLClientInfoException in which case GlassFish will still close the connection. If this is due to Proxy used by JDBC-RA, then we need to fix it. If its due to JDBC driver, the issue is with JDBC driver.

w.r.t. the second issue of logging the message each time, yes, this could be fixed by caching the response after first call to get/setClientInfo. As a workaround, you can set the log level of "javax.enterprise.resource.resourceadapter.com.sun.gjc.spi" to WARNING which will avoid the INFO messages.

Marking to exclude for 3.1.1 as it is post Hard code freeze. We can look at fixing it in trunk.

Comment by ito_m [ 27/Jul/11 ]

I attached a patch for this issue.

Comment by ito_m [ 27/Jul/11 ]

To clarify my description, I'd like to add some comments.

w.r.t the first issue, closing a connection means that ConnectionHolder40 which is a logical connection handled by applications is called.
After resetting ClientInfo with setClientInfo() in ConnectionHolder40#close(), the corresponding ManagedConnection which is a physical connection wrapping an actual connection on DB will be put back to pool if there is no transaction managed by the application server at that time.

I think the following stacktrace indicates that SQLClientInfoException the driver returned was wrapped by InvocationTargetException. However ConnectionHolder40 catches only SQLClientInfoException according to the current implementation. Therefore close() on the super class of ConnectionHolder40 was skipped.
at $Proxy148.setClientInfo(Unknown Source)
at com.sun.gjc.spi.jdbc40.ConnectionHolder40.setClientInfo(ConnectionHolder40.java:322)
at com.sun.gjc.spi.jdbc40.ConnectionHolder40.close(ConnectionHolder40.java:530)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.gjc.spi.JdbcObjectsFactory$1.invoke(JdbcObjectsFactory.java:143)
... 82 more
Caused by: java.sql.SQLClientInfoException: the specified method is not supported in this driver.

Comment by ito_m [ 27/Jul/11 ]

>if there is no transaction
More properly if there is no transaction which the targeted connection was enlisted in.

Comment by Shalini [ 09/Dec/11 ]

Fixed in trunk. Thanks for the patch.

Sending appserver/jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnection.java
Sending appserver/jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ConnectionHolder40.java
Transmitting file data ..
Committed revision 51410.

Comment by Shalini [ 09/Dec/11 ]

Fixed this in 3.1.2 branch.

Sending jdbc/jdbc-ra/jdbc-core/src/main/java/com/sun/gjc/spi/ManagedConnection.java
Sending jdbc/jdbc-ra/jdbc40/src/main/java/com/sun/gjc/spi/jdbc40/ConnectionHolder40.java
Transmitting file data ..
Committed revision 51412.

Comment by hanafey [ 21/Mar/12 ]

I am using "GlassFish Server Open Source Edition 3.1.2 (build 23)" with a connection pool based on Sybase jConnect 7 and am getting zillions of

[#|2012-03-21T13:56:59.265-0400|INFO|glassfish3.1.2|
  javax.enterprise.resource.resourceadapter.com.sun.gjc.spi| _ThreadID=112;_ThreadName=Thread-2;|
  RAR7114: Unable to get ClientInfo for connection |#]

messages.

Should this problem be fixed in this version of GF?

Comment by hanafey [ 22/Mar/12 ]

The INFO level logging happens with Sybase jConnect 7 because in the method below (in ConnectionHolder40), the "getClientInfoProperties" method throws "com.sybase.jdbc4.utils.UnimplementedOperationException: The method com.sybase.jdbc4.jdbc.SybDatabaseMetaData.public ResultSet getClientInfoProperties() has not been completed and should not be called."

If this statement was moved inside of the try block, then the logging would only happen at level FINEST (but the catch block would need a more general exception since the Sybase exception extends java.lang.UnsupportedOperationException.

    private boolean isSupportClientInfo() throws ResourceException, SQLException {
        Boolean isSupportClientInfo = getManagedConnection().isClientInfoSupported();
        if (isSupportClientInfo != null) {
            return isSupportClientInfo;
        } else {
            ResultSet rs = getManagedConnection().getCachedDatabaseMetaData().getClientInfoProperties();  <<<==============
            try {
                isSupportClientInfo = rs.next();
                getManagedConnection().setClientInfoSupported(isSupportClientInfo);
                return isSupportClientInfo;
            } finally {
                try {
                rs.close();
                } catch(SQLException ex) {
                    if(_logger.isLoggable(Level.FINEST)) {
                        _logger.log(Level.FINEST, "jdbc.unable_to_get_client_info", ex);
                    }
                    return false;
                }
            }
        }
    }
Comment by emailnbw [ 10/Apr/12 ]

FWIW I just filed this similar issue: http://java.net/jira/browse/GLASSFISH-18609

Comment by hanafey [ 02/Oct/12 ]

This problem continues in GlassFish Server Open Source Edition 3.1.2.2 (build 5) (With Sybase jConnect v7 JDBC).

Any chance this is going to be fixed? My comment 2 steps above seems to be a reasonable fix...

Comment by rdelaplante [ 11/Oct/13 ]

We're running GlassFish 3.1.2.2 in production (it is now October 2013) and see tons of these warnings in the log file:

[#|2013-10-11T09:44:05.573-0400|INFO|glassfish3.1.2|javax.enterprise.resource.resourceadapter.com.sun.gjc.spi|_ThreadID=91;_ThreadName=Thread-2;|RAR7114: Unable to get ClientInfo for connection |#]

[#|2013-10-11T09:44:05.576-0400|INFO|glassfish3.1.2|javax.enterprise.resource.resourceadapter.com.sun.gjc.spi|_ThreadID=91;_ThreadName=Thread-2;|RAR7115: Unable to set ClientInfo for connection|#]

I'm not sure if it's the jTDS or PostgreSQL JDBC driver, but regardless it seems that this issue is not fixed and should be re-opened.

Comment by sebastian2 [ 19/Nov/13 ]

Hello,
we are suffering the same problem is there any plan to fix this problem for 3.1.2.2?
Thank you,
Sebastian

Comment by Lasse60 [ 04/Mar/14 ]

Any solution for 3.1.2.2???





[GLASSFISH-17036] Cannot find entity which actually is there / Works well standalone / Works well with disabled cache Created: 13/Jul/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: entity-persistence
Affects Version/s: 3.1, 3.1.1_b11
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: mkarg Assignee: Mitesh Meswani
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Win7 Pro SP1 64 Bit de_DE


Attachments: File SuperSimple.ear     Zip Archive Test.zip    
Tags: 3_1-next, 3_1_1-scrubbed

 Description   

We noticed a showstopper in GFv3.1 which still exists in GFv3.1.1_b11.
In certain scenarios it happens that EclipseLink is able to find(cls,pk) an entity, but if the entity contains a @ManyToOne reference, the reference is NULL – which cannot be the case, as in this particular scenario the reference is an additional, object-oriented mapping of the primary key (in terms of DBMS technolog: The primary key and the foreign key share the same columns, and the target object is existing).

The strange thing is: This is working well standalone, also it is working well in GF as soon as the cache is switched off using @Cacheable(false) for all entities used in this scenario. So there must be an issue with JDBC caches in GF.

We can provide a closed-source confidential EAR for reproduction of this bug: Please write to karg@quipsy.de to obtain a copy (since it is confidential we must not upload it into JIRA).

This is a showstopper obviously, as existing data is not found and the workaround enforces a source code change of the deployed application.



 Comments   
Comment by Mitesh Meswani [ 13/Jul/11 ]

Can you please provide some code snippets of your entities and the scenario that triggers it. Does the find(cls,pk) above refer to em.find()? Is it done inside a transaction or outside?

>The strange thing is: This is working well standalone, also it is working well in GF as soon as the cache is switched off using @Cacheable(false)
>for all entities used in this scenario. So there must be an issue with JDBC caches in GF.
Your description seems to indicate that this might be due to a probable EclipseLink bug and you should be able to reproduce it standalone (@Cacheable is interpreted by persistence provider for 2nd level cache. It has nothing to do with any JDBC cache in appserver) Make sure that your standlone test case simulates transactional persistence context (like the managed persistence context within appserver). That is close em after transaction commit.

Comment by mkarg [ 14/Jul/11 ]

Mitesh,

we stripped down the problem to the following scenario:

In our web service we have two methods similar to these ones:

public void saveTest(String partId, String partVersion, short year)

{ Part part = em.find(Part.class, new PartPrimaryKey(partId, partVersion)); em.persist(new ManufacturedAmount(part, year)); }

The first method works well: We checked the database content using an SQL tool and the new row is inserted, and the row contains a valid part foreign key.

Then we run the second method:

public String loadTest(String partId, String partVersion, short year)

{ ManufacturedAmount amount = em.find(ManufacturedAmount.class, new ManufacturedAmountPk(partId, partVersion, year)); if (amount == null) return "Amount not found"; if (amount.getPart() == null) return "Part not found"; return "OK"; }

The second method returns "Part not found", which is weird, as we call both methods with the same parameters and the database proofs that the data actually IS THERE.

If we do @Cacheable(false) on Part and ManufactureAmount, THEN IT WORKS!

Both methods have no explicit transaction setting, so the default (REQUIRED) is in place.

The only special thing we can detect is that the reference from ManufacturedAmount to Part is sharing the some columns with the primary key (partId, partVersion; the pk additionally has year), which we enabled by setting the primary key's fields to updateable=false,insertable=false.

We cannot understand why it does work with cache DISABLED but is NOT working with cache ENABLED. In GFv2ur2 (TopLink Essentials) it was working very well, BTW. To us this just looks like a very weird bug in the EclipseLink cache.

Comment by Mitesh Meswani [ 14/Jul/11 ]

Can you please provider code snippet for your Part and ManufacturedAmoun entities (Specially the @ID and the corresponding relationship attributes for both of them).

To isolate EclipseLink issue, can you try your scaled down version above from a JavaSE test case like as follows
If you are able to reproduce the error, please file an EclipseLink issue at bugs.eclipse.org and update this issue with its reference.

public static void main() {
  EntityManagerFactory emf = Persistence.createEMF(..);

  EntityManager em = emf.createEM();
  em.getEntityTransaction().begin();
  saveTest(em,  partId,  partVersion, year); // Use the em passed here inside the method
  em.getEntityTransaction().commit();
  em.close();

  em = emf.createEM();
  em.getEntityTransaction().begin();
  loadTest(em,  partId,  partVersion, year); // Use the em passed here inside the method
  em.getEntityTransaction().begin();
  em.close();

  emf.close();  

}
Comment by mkarg [ 18/Jul/11 ]

Test.zip contains a standalone test program ("x"). Together with the second upload ("SuperSimple.ear") you will have the following:

(A) SuperSimple.ear – The original EAR containing a web service proofing the failure. See the contained Info.txt how to invoke it from the admin GUI to see the problem. Just ingore all the deployment errors popping up due to missing ressource – you won't need them for the test. The only resource really needed is that one describe in persistence.xml to be able to connect to a database. The web service's second method ("load") will fail if @Cacheable(false) is NOT used, and it will succeed IF it is used.

(B) A complete Eclipse project ("x"), containg the exactly same code, but as a standalone program. This is NOT suffering from that problem and will run fine.

So it seems the problem is not the code, but the problem is the environment: A standalone Eclipse is fine, that one of GlassFish is not.

For your requested code snippets, please find all java sources inside of the "x" project contained in the zip. It will answer your questions.

I hope this helps finding the bug.

Comment by Mitesh Meswani [ 19/Jul/11 ]

Thanks for attaching the test case. Can you please update your standalone test case to follow the pattern above (to simulate transactional em vs. extended as it is currently doing) and try again. From the data provided by you, it looks highly probable that the issue (if it exists) is with EclipseLink run time. Need your help to isolate it

        final EntityManagerFactory emf = Persistence.createEntityManagerFactory("test");
        final EntityManager em = emf.createEntityManager();

        final EntityTransaction tx = em.getTransaction();
        tx.begin();

        final Part part = em.find(Part.class, new PartPrimaryKey(PART_ID, PART_VERSION));
        if (part != null) {
            final ManufacturedAmount manufacturedAmountToSaved = new ManufacturedAmount(part, YEAR);
            em.persist(manufacturedAmountToSaved);
            System.out.println("\nAmount saved.\n");
        } else {
            System.out.println("\nPart not found.\n");
            tx.rollback();
            return;
        }

        tx.commit();
/****************** Insert following code **********/
em.close();
em = emf.createEntityManager();
tx = em.getTransaction();
/****************** End - Insert **********/
        tx.begin();

        final ManufacturedAmount amount = em.find(ManufacturedAmount.class, new ManufacturedAmountPk(PART_ID, PART_VERSION, YEAR));
        if (amount == null)
            System.out.println("\nAmount = NULL.\n");
        else
            System.out.println(String.format("\n Part = %s\n", amount.getPart() == null ? "NULL" : part.toString()));

        tx.commit();


Comment by mkarg [ 19/Jul/11 ]

Mitesh, I inserted the code snippet as you asked me to do and now that reproduces the bug even in the standalone program:

[EL Finest]: 2011-07-19 13:59:13.101-UnitOfWork(614213397)Thread(Thread[main,5,main])-Execute query ReadObjectQuery(name="readObject" referenceClass=ManufacturedAmount sql="SELECT AMOUNTAPRIL, AMOUNTAUGUST, AMOUNTDECEMBER, AMOUNTFEBRUARY, AMOUNTJANUARY, AMOUNTJULY, AMOUNTJUNE, AMOUNTMARCH, AMOUNTMAY, AMOUNTNOVEMBER, AMOUNTOCTOBER, AMOUNTSEPTEMBER, VERSION, YEAR, partId, partVersion FROM MANUFACTUREDAMOUNT WHERE (((YEAR = ?) AND (partId = ?)) AND (partVersion = ?))")
[EL Finest]: 2011-07-19 13:59:13.101-UnitOfWork(614213397)Thread(Thread[main,5,main])-Register the existing object entities.ManufacturedAmount@39697b67(pk=(part='null, 'year='1900'))
[EL Finer]: 2011-07-19 13:59:13.101-UnitOfWork(614213397)Thread(Thread[main,5,main])-begin unit of work commit
[EL Warning]: 2011-07-19 13:59:13.101-UnitOfWork(614213397)Thread(Thread[main,5,main])-Local Exception Stack:
Exception [EclipseLink-7197] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Null or zero primary key encountered in unit of work clone [entities.ManufacturedAmount@11e9c82e(pk=(part='null, 'year='1900'))], primary key [[[1900, null, null]: 1900]]. Set descriptors IdValidation or the "eclipselink.id-validation" property.
at org.eclipse.persistence.exceptions.ValidationException.nullPrimaryKeyInUnitOfWorkClone(ValidationException.java:1427)
at org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.calculateChanges(DeferredChangeDetectionPolicy.java:107)
at org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.calculateChangesForExistingObject(DeferredChangeDetectionPolicy.java:54)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.calculateChanges(UnitOfWorkImpl.java:636)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1482)
at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.commitRootUnitOfWork(RepeatableWriteUnitOfWork.java:265)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitAndResume(UnitOfWorkImpl.java:1135)
at org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commitInternal(EntityTransactionImpl.java:84)
at org.eclipse.persistence.internal.jpa.transaction.EntityTransactionImpl.commit(EntityTransactionImpl.java:63)
at Test.main(Test.java:53)

Obviously EclipseLink understands that the SELECTed object already is in the cache, but then registers it with an in-part empty primary key (primary key [[[1900, null, null] – a primary key must never contain null).

Comment by mkarg [ 19/Jul/11 ]

BTW, how to prevent the forum software to strike-through some parts of my posts, and how to mark posts a code as you did above?

Comment by Mitesh Meswani [ 19/Jul/11 ]

Thanks for the update. Can you please file an issue against EclipseLink attaching your standalone test case and update this issue to reference it.

>formatting in these comments
Now we are able to use wiki markup in comments (when you are writing a comment, click on the yellow '?' icon on right hand side of your text box for syntax). Use

{pre}

tags to avoid unintentional formatting of comment

Comment by mkarg [ 20/Jul/11 ]

This bug is reported to the EclipseLink team as this https://bugs.eclipse.org/bugs/show_bug.cgi?id=352533 issue.

Comment by mkarg [ 20/Jul/11 ]

(Mitesh, thank you for the tip with the '?' icon. Actually I never have seen it before since it always was outside of my screen. Silly me!)

Comment by scatari [ 26/Jul/11 ]

Marking to be fixed in the patch release that follows 3.1.1. Does not affect primary functionality of the product, fix should be through eclipselink project, downgrading.

Comment by mkarg [ 26/Jul/11 ]

I do not understand why you think it dies not affect primary functionality of the product? A third party EAR will definitively crash on GFv3.1.1. That IS a primary fault. There is no workaround that does not induce source code changes to the EAR, so GFv3.1.1 is unuseable for third party products.

Comment by Mitesh Meswani [ 14/Dec/11 ]

Marking this as fixed with integration of EclipseLink 2.3.2.





[GLASSFISH-16770] [asadmin] Unable to set "-server" JVM options Created: 31/May/11  Updated: 13/Jan/12  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1, 3.1.1_b01
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: ancoron Assignee: Mike Fitch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by GLASSFISH-17127 asadmin create-jvm-options "-server" Resolved
is duplicated by GLASSFISH-18180 asadmin incorrectly parses -server as... Resolved
Tags: 3_1-next_release-note-added, 3_1-next_release-notes, 3_1-release-notes

 Description   

Just trying to change the JVM options with asadmin instead of writing XML:

$ ./bin/asadmin create-jvm-options -server
Deprecated syntax, instead use:
asadmin --secure --echo create-jvm-options [options] ...

^^^
and there it hangs. The command doesn't return at all, neither success, nor failure.

The following doesn't work either:

$ ./bin/asadmin create-jvm-options "-server"
$ ./bin/asadmin create-jvm-options '-server'
$ ./bin/asadmin create-jvm-options -server

However, as a current workaround, the following works:
$ ./bin/asadmin create-jvm-options "-server"
...or:
$ ./bin/asadmin create-jvm-options '-server'



 Comments   
Comment by ancoron [ 31/May/11 ]

This JIRA just vanishes backslashes. Another try:

The following doesn't work either:

$ ./bin/asadmin create-jvm-options "-server"
$ ./bin/asadmin create-jvm-options '-server'
$ ./bin/asadmin create-jvm-options \-server


However, as a current workaround, the following works:

$ ./bin/asadmin create-jvm-options "\-server"


...or:

$ ./bin/asadmin create-jvm-options '\-server'
Comment by Tom Mueller [ 31/May/11 ]

The required syntax for setting a JVM option that looks like an asadmin short option is as follows:

asadmin create-jvm-options – -server

The "--" option causes asadmin to stop processing asadmin options and anything after it is considered a subcommand option.

Comment by ancoron [ 31/May/11 ]

Well, that is OK for the command part itself, but why does the command hang?

Comment by ancoron [ 02/Jun/11 ]

This should also be stated in the documentation, because it is not obvious that "-server" is an asadmin short option.

Comment by Tom Mueller [ 08/Jun/11 ]

Reopening this issue a docs bug to add a special comment to the create-jvm-options manual page about setting JVM options that look like asadmin short options.

Comment by Tom Mueller [ 08/Jun/11 ]

The create-jvm-options manual page should include a note about the interaction between some JVM options, such as "-server" and asadmin short options, such as "-s" and "-e" (for --secure and --echo).

When creating a JVM option that starts with one of the asadmin short options, then it is necessary to cause asadmin to stop parsing its options by specifying the "--" option after the subcommand name, as in:

asadmin create-jvm-options – -server

Comment by Tom Mueller [ 08/Jun/11 ]

Regarding the question about why the command appears to hang, the command doesn't actually hang. It attempts to make a secure connection to the server, but the connection eventually times out on the SSL handshake. If one waits long enough, the output is the following:

$ asadmin create-jvm-options -server
Deprecated syntax, instead use:
asadmin --secure --echo create-jvm-options [options] ...
It appears that server [localhost:4848] does not accept secure connections. Retry with --secure=false.
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
Command create-jvm-options failed.

Regarding the parsing of "-server" as the short asadmin options -s and -e (with the -r and -v ignored), this problem is addressed by issue GLASSFISH-72.

Comment by Paul Davies [ 08/Jul/11 ]

Too late to fix in the man page for 3.1.1. Should be added to the Release Notes.

Comment by Rebecca Parks [ 12/Jul/11 ]

Added the following to the 3.1.1 Release Notes:

Unable to set -server JVM options (16770)

Description

GlassFish Server misinterprets the following command:

asadmin> create-jvm-options -server

The command is interpreted as if the following command had been entered, using the short options for --secure and --echo:

asadmin> create-jvm-options -se

Workaround

To specify a JVM option that could be mistaken for one or more asadmin command short options, use a double dash before the JVM option. For example:

asadmin> create-jvm-options – -server

This double dash tells the asadmin command to stop parsing its own short options and start parsing subcommand options.

Comment by Paul Davies [ 18/Jul/11 ]

I would like to keep this issue open to allow for the possibility of adding this information to the man page in a future release.

Comment by Mike Fitch [ 14/Dec/11 ]

Updated create-jvm-option in build 14 via svn commit 51521

Comment by Mike Fitch [ 14/Dec/11 ]

Accidentally clicked "Close" instead of "Resolve"

Comment by Mike Fitch [ 14/Dec/11 ]

Clicking "Resolve" this time.





[GLASSFISH-16746] pessimistic lock can not generated into SQL in GF V3.1(eclipselink-2.2.0.v20110202-r8913) Created: 27/May/11  Updated: 15/Dec/11  Resolved: 15/Dec/11

Status: Resolved
Project: glassfish
Component/s: entity-persistence
Affects Version/s: 3.1
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: Wu Jie Assignee: tware
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

GF V3.1(eclipselink-2.2.0.v20110202-r8913)
Database:SQL Server 2008


Tags: 3_1-next, 3_1_1-scrubbed, EclipseLink, GlassFish, PESSIMISTIC_LOCK

 Description   

the app is following:
===
Query query = em.createQuery("select i from RowLockEntity i where i.id=:id");
query.setParameter("id", id);
query.setHint(QueryHints.PESSIMISTIC_LOCK,lockType);
entity = (RowLockPesEntity)query.getSingleResult();
===
The generated SQL of above app by eclipselink-2.2.0.v20110202-r8913 as following.

===
SELECT ID,ENT_TYPE, NAME, OPT_LOCK_VER FROM ROWLOCKENTITY WHERE (ID = ?)")
===

The generated SQL does not contain pessimistic lock.
This problem occurred not only in SQL Server 2008, but also in Oracle, Derby and so on.



 Comments   
Comment by Mitesh Meswani [ 27/May/11 ]

A better approach for getting pessimistic lock is to use the standard API instead of EclipseLink specific API as follows

Query query = em.createQuery("select i from RowLockEntity i where i.id=:id");
query.setParameter("id", id);
query.setLockMode(javax.persistence.LockModeType.PESSIMISTIC_READ);
//query.setHint(QueryHints.PESSIMISTIC_LOCK,lockType);
entity = (RowLockPesEntity)query.getSingleResult();

That said, I believe EclipseLink should definitely honor the hint if you are executing the query within a transaction. Can you please file a bug against EclipseLink (https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EclipseLink) and cross reference both the bugs.

Comment by Wu Jie [ 29/May/11 ]

filed a bug against EclipseLink as following link:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=347592

Comment by scatari [ 11/Jun/11 ]

Mitesh,
Is the EclipseLink fix made in the trunk included in 2.3.0.x drop into 3.1.1? If not, then this should be deferred from 3.1.1. Could you please update accordingly?

Comment by Mitesh Meswani [ 15/Dec/11 ]

EclipseLink version with corresponding fix is integrated into GlassFish. Marking as fixed.





[GLASSFISH-16716] [16126]DAS page should include a button to enable-secure-admin and then warn user to restart domain Created: 24/May/11  Updated: 14/Dec/11  Resolved: 14/Dec/11

Status: Resolved
Project: glassfish
Component/s: docs
Affects Version/s: 3.1.1_b06
Fix Version/s: 3.1.2_b14

Type: Task Priority: Major
Reporter: srinik76 Assignee: Mike Fitch
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Dependency
depends on GLASSFISH-16126 DAS page should include a button to e... Closed

 Description   

This is a doc bug for tracking Issue 16126.

About 16126 : Providing an option to enable/disable secure admin in the domain page.

1. Added Secure Admin.. button in domain page
2. On pressing secure admin button user can enable/disable secure admin in a new page depending on the current status of the secure admin.
3. Also disabled the enabling of security enabled in protocol and network page and provided a link to direct to domain page for enabling/disabling secure admin



 Comments   
Comment by Paul Davies [ 26/May/11 ]

Doc group currently plans NOT to update OLH for 3.1.1 - hence Fix Version is set to 3.2.

Comment by Paul Davies [ 27/May/11 ]

Under consideration for fixing in 3.1.1

Comment by Mike Fitch [ 13/Jun/11 ]

Added these topic stubs to the common module's online help:

  • "Secure Administration," ref-securityadmin
  • "To Enable Secure Administration," task-enable-secure-admin
  • "To Disable Secure Administration," task-disable-secure-admin

Also, the common module's "General Information" page (ref-generaltab) needs to have info added to it about the Secure Administration button, and the web module's "Edit Network Listener" page (ref-networklisteneredit) needs to have info added to it about the Security field being read-only (but only for the admin-listener listener).

Comment by Mike Fitch [ 13/Jun/11 ]

Hid the help pages stubbed out in the common module, as this feature is not being included in 3.1.1.

Setting Fix Release to "future release".

Comment by Mike Fitch [ 14/Dec/11 ]

Fixed in build 14 via svn commit 51521.





[GLASSFISH-16513] Events and @Observes(during=TransactionPhase.AFTER_COMPLETION) not working in Glassfish 3.1 Created: 02/May/11  Updated: 11/Dec/11  Resolved: 11/Dec/11

Status: Resolved
Project: glassfish
Component/s: cdi
Affects Version/s: 3.1
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: nagelfar Assignee: Sivakumar Thyagarajan
Resolution: Fixed Votes: 5
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7, 64bit, Windows XP, 32bit


Attachments: File AsyncWebApp.war     Zip Archive AsyncWebApp.zip    
Tags: 3_1-next, 3_1_1-scrubbed, 3_1_2-review, asynchronous, cdi, events, observes, weld-int-required

 Description   

First of all let me state, that the following code example worked just fine in GF 3.0.1. The troubles started when we switched to GF 3.1.

I'm using a method
@Asynchronous
public void executeFlowStep(@Observes(during=TransactionPhase.AFTER_COMPLETION) ExecuteFlowStepEvent executeFlowStepEvent)

Since the switch, whenever this method should receive an ExecuteFlowStepEvent I get the following error message:

WELD-000401 Failure while notifying an observer of event [package].ExecuteFlowStepEvent

No further information or Stacktrace is given. It works if I remove the @Asynchronous annotation and the AFTER_COMPLETION attribute, of course this breaks the program as I depend on the AFTER_COMPLETION timing.

Is this a bug, or is this intended behaviour?

Does this imply that Weld does NOT work with Asynchronous methods/AFTER_COMPLETION attributes?

Why did this work in GF 3.0.1?



 Comments   
Comment by ossaert [ 03/May/11 ]

Some extra info can be found here: http://www.java.net/forum/topic/glassfish/glassfish/weld-11-and-asynchronous-methods-gfv31.

Comment by ossaert [ 05/May/11 ]

by the way, it happens on a Ubuntu 10.04 64bit too.

Comment by Nazrul [ 09/May/11 ]

Compatibility issue with 3.0.1. We should take a look

Comment by ossaert [ 10/May/11 ]

I attached a sample project to illustrate the error. You can deploy the WAR on a GFv3.1 and point the browser to http://xxxx:yyyy/AsyncWebApp/resources/generic. You will see that the finishJob method in the MyActor-class fails with TransactionPhase.AFTER_SUCCESS.

Jan

Comment by Sivakumar Thyagarajan [ 13/Jun/11 ]

While trying to reproduce this issue, I see that WELD throws the WELD-000401 because of the underlying exception: org.jboss.weld.exceptions.UnsatisfiedResolutionException: WELD-001308 Unable to resolve any beans for Types: [interface org.jboss.weld.context.ejb.EjbRequestContext]; Bindings: [@javax.enterprise.inject.Any(), @javax.enterprise.inject.Default(), @org.jboss.weld.context.unbound.Unbound()]

Could you share sources for your application? I would like to debug and find why the EJBRequestContext is not available in that injection point. Is there an easier way of reproducing this?

Comment by ossaert [ 14/Jun/11 ]

This is the source which produces the bug. If you have questions, don't hesitate to ask.
Greetings,
Jan

Comment by Sivakumar Thyagarajan [ 26/Jun/11 ]

Thanks Jan for the sources. I am working with the Weld team to understand the root cause. I will update this thread as soon as I have more information. Thanks

Comment by prasads [ 27/Jun/11 ]

Increasing the priority

Comment by Sivakumar Thyagarajan [ 08/Jul/11 ]

Filed https://issues.jboss.org/browse/WELD-936 to track this issue

Comment by Sivakumar Thyagarajan [ 08/Jul/11 ]

Marked issue as "Major"

Comment by stuartdouglas [ 15/Jul/11 ]

This is fixed in weld upstream, and will be part of 1.1.2

Comment by Sivakumar Thyagarajan [ 11/Dec/11 ]

Marking this issue as resolved as with the integration of Weld 1.1.2 and beyond, this issue doesn't occur with latest builds of GlassFish 3.1.2 (b14+) and trunk:

– server.log snippet showing successful invocation of app –
[#|2011-12-11T21:44:50.691+0530|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=25;_ThreadName=Thread-2;|IN BEAN|#]

[#|2011-12-11T21:44:50.762+0530|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=25;_ThreadName=Thread-2;|FINISH|#]
– server.log snippet showing successful invocation of app –





[GLASSFISH-16429] Eclipselink cannot map a compound constraint because of exception: The reference column name [y] mapped on the element [field x] does not correspond to a valid field on the mapping reference Created: 21/Apr/11  Updated: 15/Dec/11  Resolved: 15/Dec/11

Status: Resolved
Project: glassfish
Component/s: entity-persistence
Affects Version/s: 3.1
Fix Version/s: 3.1.2_b14

Type: Bug Priority: Major
Reporter: xcallejas Assignee: tware
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux, Netbeans 7.0, Glassfish 3.1 FCS, MySQL 5.1


Attachments: File ddl.sql     PNG File er_diag.png     Zip Archive WebApplication1.zip    
Tags: 3_1-next, 3_1_1-scrubbed, eclipselink, glassfish-3-1

 Description   

This is a problem of Eclipselink since 2.1.x that stop me from upgrade my applications to Glasfish 3.1. I hopped this would be fixed in final 3.1 but isn't.

I have attached a test case with 3 database tables: Clientes, Operaciones, RoutingOrders; attached is a ER diagram.

RoutingOrders table has a foreign constraint compounded of 2 fields: [Cliente, Operacion ] from for foreign table Operaciones; attached is the DDL.

Please look at these entities code:

@Entity
@Table(name = "Operaciones")
@XmlRootElement
@NamedQueries(

{ @NamedQuery(name = "Operaciones.findAll", query = "SELECT o FROM Operaciones o")}

)
public class Operaciones implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@NotNull
@Column(name = "idOperacion")
private Integer idOperacion;

@OneToOne(cascade = CascadeType.ALL, mappedBy = "operaciones")
private RoutingOrders routingOrders;

@JoinColumn(name = "Cliente", referencedColumnName = "idCliente")
@ManyToOne(optional = false)
private Clientes cliente;

...
}

@Entity
@Table(name = "RoutingOrders", uniqueConstraints =
@UniqueConstraint(columnNames =

{"Cliente", "Operacion"}

))
@XmlRootElement
@NamedQueries(

{ @NamedQuery(name = "RoutingOrders.findAll", query = "SELECT r FROM RoutingOrders r")}

)
@AttributeOverride(name = "Cliente", column =
@Column(name = "Cliente"))
public class RoutingOrders implements Serializable {

private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@NotNull
@Column(name = "idRoutingOrder")
private Integer idRoutingOrder;

@JoinColumns(

{ @JoinColumn(name = "Cliente", referencedColumnName = "Cliente"), @JoinColumn(name = "Operacion", referencedColumnName = "idOperacion")}

)
@OneToOne(optional = false, targetEntity=Operaciones.class)
private Operaciones operaciones;
...
}

The problem seems to be in the 'operaciones' field, in the ... referencedColumnName = "Cliente" ..., when I try to deploy the application into Glassfish 3.1 it throws the following exception:

Internal Exception: Exception [EclipseLink-7333] (Eclipse Persistence Services - 2.2.0.v20110202-r8913): org.eclipse.persistence.exceptions.ValidationException
Exception Description: The reference column name [Cliente] mapped on the element [field operaciones] does not correspond to a valid field on the mapping reference...

I have search for days looking for the solution but I gave up, there is the uppercase association thing but this doesn't help.

For me is a Blocker because I cannot deploy any application that has this kind of characteristics and it seems that this problem remains since Eclipselink 2.1.x.



 Comments   
Comment by xcallejas [ 21/Apr/11 ]


I am using Glassfish 3.0.1 + Eclipselink 2.1.2 and this test case works, this stop working in Eclipselink 2.2.0, this is why I cannot use Glassfish 3.1, I have tried to downgrade Eclipse in Glassfish 3.1 but I haven't been able.

Comment by Mitesh Meswani [ 25/Apr/11 ]

Being tracked with https://bugs.eclipse.org/bugs/show_bug.cgi?id=343632

Comment by xcallejas [ 25/Apr/11 ]


Thanks!

Comment by Nazrul [ 09/May/11 ]

Backward compatibility issue. User is unable to move from 3.0.1 to 3.1. Lets take a look at this.

Comment by scatari [ 10/Jun/11 ]

We will not get the fix from eclipselink in time for 3.1.1.

Comment by xcallejas [ 16/Jun/11 ]


scatari: now with the change in the 3.1.1 release date, do you have time for consider this fix for 3.1.1?

Comment by scatari [ 20/Jun/11 ]

This is not a blocker for releasing 3.1.1. We will be targeting this fix in the next release of GlassFish.

Comment by Mitesh Meswani [ 15/Dec/11 ]

EclipseLink version with corresponding fix has been integrated into GlassFish. Marking as fixed





Generated at Tue Sep 27 16:11:40 UTC 2016 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.