[GLASSFISH-17777] localization issue with get-health command for REST client Created: 21/Nov/11  Updated: 22/Nov/11  Resolved: 22/Nov/11

Status: Resolved
Project: glassfish
Component/s: group_management_service
Affects Version/s: 3.1.2_b05
Fix Version/s: 3.1.2_b12, 4.0

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


 Description   

Current get-health Properties field in the action report doesn't allow for localization. I just realize that when trying to add this info to the admin console.
Current action report says:

{"message":"ABC-1 stopped since Sun Nov 20 12:02:12 PST 2011\nABC-3 started since Sun Nov 20 12:00:20 PST 2011\nABC-4 failed since Sun Nov 20 12:03:07 PST 2011\nABC-5 not started","command":"get-health AdminCommand","exit_code":"SUCCESS",
"properties":

{ "ABC-5":"not started", "ABC-4":"failed since Sun Nov 20 12:03:07 PST 201", "ABC-3":"started since Sun Nov 20 12:00:20 PST 201", "ABC-1":"stopped since Sun Nov 20 12:02:12 PST 201"}

,"
extraProperties":{"methods":[

{"name":"GET"}

,{}]}}

This probably returns based on the locale that the server is running, but the console maybe running on a different browser locale.
This make it hard to localize it. Also, it maybe better to separate the Status (failed, started, not started) etc. from the actual data (time).
Maybe properties can be a List of Map.
The Map has the following key:

Name: instance name
Status: Started, Stopped, Not Started, Failed etc. (an enum will be good)
timestamp: the time expressed as a Long, so that it can be converted back to Date.

This is similar to the list-instances command. You can try :4848/management/domain/list-instances.json

Sorry i didn't realize there maybe an issue when suggesting the fix before.

As of now, the get-health info is displayed in the Instance General Info page, which may have i18n issue. When this bug is fixed, console code will change to extract the info differently.



 Comments   
Comment by Bobby Bissett [ 21/Nov/11 ]

Hi Anissa,

For the state, we have an Enum of states already in HealthHistory.STATE in the gms-bootstrap module. Can you use those? I'll have to express the timestamp as String.valueOf(long) so that it can be stored, but that's simple enough for you to change back to long.

I'm not clear at all about how to stuff all this into properties in the report.getTopMessagePart() object. I know how to express the List of Maps of List of Maps as json or xml, but not how to get it into the report. Example of what I mean in json:

"properties":{ "ABC-1": { "Status" : "foo", "timestamp": "123" }}

Instead, could I store the props with a separator between the state and timestamp? I could do something like this in the get health command code:

top.addProperty(instanceName, health.state.name() + ":" + String.valueOf(health.time))

...and the result should be something like this:

"properties":

{ "ABC-1": "RUNNING:12345678", "ABC-2": "FAILURE:12345678", "ABC-3": "NOT_RUNNING:"}

Note that there's no time associated with the NOT_RUNNING state, so I can either leave it empty after the colon or use a flag like -1. Probably empty is better so you can use String.isEmpty() to check it. Let me know what you'd prefer.

Thanks,
Bobby

Comment by Anissa Lam [ 21/Nov/11 ]

Having:

"properties": [
            {  "name" : "ABC-1",
               "status" : "RUNNING",
               "time": "12345678"
            },

            {  "name" : "ABC-2",
               "status" : "FAILURE",
               "time": "12345678"
            },

	   {  "name" : "ABC-3",
               "status" : "NOT-RUNNING",
               "time": ""
            },
}
can be parsed much easier than

"properties":{ "ABC-1": "RUNNING:12345678", "ABC-2": "FAILURE:12345678", "ABC-3": "NOT_RUNNING:"}

It can be in the extraProperties like the list-instances command instead of using properties.
Can you take a look at how list-instances is done and do the same ?
thanks

Comment by Bobby Bissett [ 21/Nov/11 ]

Ok, I think I have it. This work for you?

{"message":"inst1 started since Mon Nov 21 13:42:39 EST 2011\ninst2 stopped since Mon Nov 21 15:46:09 EST 2011\ninst3 not started","command":"get-health AdminCommand","exit_code":"SUCCESS","extraProperties":{"methods":[

{"name":"GET"}

,{}],"instances":[

{"status":"RUNNING","name":"inst1","time":"1321900959398"}

,

{"status":"SHUTDOWN","name":"inst2","time":"1321908369298"}

,

{"status":"NOT_RUNNING","name":"inst3","time":""}

]}}

So in extraProperties, the key "instances" is mapped to a list of maps containing the name, status, and time for each instance. The status matches the enum mentioned above.

Comment by Anissa Lam [ 21/Nov/11 ]

yes, that will work. thanks.

Comment by Bobby Bissett [ 21/Nov/11 ]

Just commited fix in 3.1.2 branch. Will fix in trunk as well and mark fixed here.

Comment by Bobby Bissett [ 22/Nov/11 ]

Changes checked into revisions 51038 (3.1.2 branch) and 51054 (trunk).





[GLASSFISH-17769] Update release identifer in bundled HTML pages Created: 18/Nov/11  Updated: 23/Nov/11  Resolved: 23/Nov/11

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

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


 Description   

The release identifier must be updated in the HTML pages that are bundled with GlassFish Server:

  • about.html
  • copyright.html
  • features.html
  • quickstart.html
  • index.html


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

Fixed in 3.1.2 branch revision 51116.

Comment by Paul Davies [ 23/Nov/11 ]

Fix should appear in promoted build 12.





[GLASSFISH-17768] Change man-page references in POM files to meet requirements of the new repository Created: 18/Nov/11  Updated: 29/Nov/11  Resolved: 29/Nov/11

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

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


 Description   

As a result of repository changes, man pages are promoted to the repository as ZIP archives instead of JAR archives. Therefore, all references to man pages in POM files must be changed accordingly.



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

Fixed in 3.1.2 branch revision 51116.

Comment by Paul Davies [ 29/Nov/11 ]

Fixed in the trunk in revision 51178.





[GLASSFISH-17766] MDB cluster test failed in v3.1.2 Created: 17/Nov/11  Updated: 29/Nov/11  Resolved: 29/Nov/11

Status: Resolved
Project: glassfish
Component/s: orb
Affects Version/s: 3.1.2_b10
Fix Version/s: 3.1.2_b12, 4.0

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

Attachments: File patch.diff     Text File server.log    
Issue Links:
Related
is related to GLASSFISH-17633 j2ee-jms test failing with "org.omg... Resolved
Tags: 3_1_2-review, regression

 Description   

OS: solaris, linux
build: v3.1.2 promoted build.

We tried to run SQE ejb/mdb test cases in cluster mode against v3.1.2 and they all failed. This is a regression bug since the same test cases passed for v3.1.1. About 30+ test cases failed due to this bug.

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-jms
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/ejb/mdb/basic, run "ant ee all" (don't forget the "ee" target). The test failed and the following error displayed:

runclient-common:
[echo] Executing appclient at /export/sonia/appserver-sqe/pe/ejb/mdb/basic
[echo] Nov 17, 2011 3:13:06 PM org.glassfish.appclient.client.acc.AppclientCommandArguments warnAboutPasswordUsage
[echo] WARNING: ACC013: The -password option is deprecated and will likely be removed in a future release. Please use -passwordfile or let the app client container prompt for the username and/or password if they are needed to access a remote resource.
[echo] WS HOME appserver-sqe
[echo] In main before calling init
[echo] org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No
[echo] at sun.reflect.GeneratedConstructorAccessor32.newInstance(Unknown Source)
[echo] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[echo] at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
[echo] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
[echo] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
[echo] at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
[echo] at $Proxy34.connectFailure(Unknown Source)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)
[echo] at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:130)
[echo] at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
[echo] at com.sun.enterprise.naming.impl.SerialContext$ProviderCacheKey.getNameService(SerialContext.java:1239)
[echo] at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:410)
[echo] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:346)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[echo] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[echo] at com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)
[echo] at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$1.create(ComponentEnvManagerImpl.java:650)
[echo] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776)
[echo] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744)
[echo] at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:169)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[echo] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.initTopic(BasicJMS2EJBClient.java:63)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.init(BasicJMS2EJBClient.java:52)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.main(BasicJMS2EJBClient.java:315)
[echo] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[echo] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[echo] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[echo] at java.lang.reflect.Method.invoke(Method.java:601)
[echo] at org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:438)
[echo] at org.glassfish.appclient.client.AppClientFacade.launch(AppClientFacade.java:182)
[echo] at org.glassfish.appclient.client.AppClientGroupFacade.main(AppClientGroupFacade.java:65)
[echo] Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
[echo] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:339)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
[echo] ... 31 more
[echo] Caused by: java.net.ConnectException: Connection refused
[echo] at sun.nio.ch.Net.connect0(Native Method)
[echo] at sun.nio.ch.Net.connect(Net.java:364)
[echo] at sun.nio.ch.Net.connect(Net.java:356)
[echo] at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:623)
[echo] at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
[echo] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:324)
[echo] ... 32 more
[echo] basicJMS2EJB initTopic failed: unexpected NamingException
[echo] javax.naming.NamingException: Lookup failed for 'java:comp/env/jms/basicTopic' in SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is javax.naming.NamingException: Lookup failed for 'jms/basic/topic' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/basicTopic} [Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/basicTopic} [Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No]]]
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[echo] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.initTopic(BasicJMS2EJBClient.java:63)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.init(BasicJMS2EJBClient.java:52)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.main(BasicJMS2EJBClient.java:315)
[echo] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[echo] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[echo] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[echo] at java.lang.reflect.Method.invoke(Method.java:601)
[echo] at org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:438)
[echo] at org.glassfish.appclient.client.AppClientFacade.launch(AppClientFacade.java:182)
[echo] at org.glassfish.appclient.client.AppClientGroupFacade.main(AppClientGroupFacade.java:65)
[echo] Caused by: javax.naming.NamingException: Lookup failed for 'jms/basic/topic' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/basicTopic} [Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/basicTopic} [Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No]]
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[echo] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[echo] at com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)
[echo] at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$1.create(ComponentEnvManagerImpl.java:650)
[echo] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776)
[echo] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744)
[echo] at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:169)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498)
[echo] ... 12 more
[echo] Caused by: javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/basicTopic} [Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No]
[echo] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:351)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
[echo] ... 20 more
[echo] Caused by: org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No
[echo] at sun.reflect.GeneratedConstructorAccessor32.newInstance(Unknown Source)
[echo] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[echo] at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
[echo] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
[echo] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
[echo] at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
[echo] at $Proxy34.connectFailure(Unknown Source)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)
[echo] at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:130)
[echo] at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
[echo] at com.sun.enterprise.naming.impl.SerialContext$ProviderCacheKey.getNameService(SerialContext.java:1239)
[echo] at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:410)
[echo] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:346)
[echo] ... 21 more
[echo] Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
[echo] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:339)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
[echo] ... 31 more
[echo] Caused by: java.net.ConnectException: Connection refused
[echo] at sun.nio.ch.Net.connect0(Native Method)
[echo] at sun.nio.ch.Net.connect(Net.java:364)
[echo] at sun.nio.ch.Net.connect(Net.java:356)
[echo] at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:623)
[echo] at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
[echo] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:324)
[echo] ... 32 more
[echo] org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No
[echo] at sun.reflect.GeneratedConstructorAccessor32.newInstance(Unknown Source)
[echo] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[echo] at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
[echo] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
[echo] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
[echo] at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
[echo] at $Proxy34.connectFailure(Unknown Source)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)
[echo] at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:130)
[echo] at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
[echo] at com.sun.enterprise.naming.impl.SerialContext$ProviderCacheKey.getNameService(SerialContext.java:1239)
[echo] at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:410)
[echo] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:346)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[echo] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[echo] at com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)
[echo] at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$1.create(ComponentEnvManagerImpl.java:650)
[echo] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776)
[echo] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744)
[echo] at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:169)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[echo] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.initQueue(BasicJMS2EJBClient.java:111)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.init(BasicJMS2EJBClient.java:53)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.main(BasicJMS2EJBClient.java:315)
[echo] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[echo] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[echo] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[echo] at java.lang.reflect.Method.invoke(Method.java:601)
[echo] at org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:438)
[echo] at org.glassfish.appclient.client.AppClientFacade.launch(AppClientFacade.java:182)
[echo] at org.glassfish.appclient.client.AppClientGroupFacade.main(AppClientGroupFacade.java:65)
[echo] Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
[echo] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:339)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
[echo] ... 31 more
[echo] Caused by: java.net.ConnectException: Connection refused
[echo] at sun.nio.ch.Net.connect0(Native Method)
[echo] at sun.nio.ch.Net.connect(Net.java:364)
[echo] at sun.nio.ch.Net.connect(Net.java:356)
[echo] at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:623)
[echo] at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
[echo] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:324)
[echo] ... 32 more
[echo] basicJMS2EJB initQueue failed: unexpected NamingException
[echo] javax.naming.NamingException: Lookup failed for 'java:comp/env/jms/basicQueue' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl}

[Root exception is javax.naming.NamingException: Lookup failed for 'jms/basic/queue' in SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/basicQueue}

[Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/basicQueue}

[Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No]]]
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[echo] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.initQueue(BasicJMS2EJBClient.java:111)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.init(BasicJMS2EJBClient.java:53)
[echo] at com.sun.s1peqe.ejb.mdb.basic.BasicJMS2EJBClient.main(BasicJMS2EJBClient.java:315)
[echo] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[echo] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[echo] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[echo] at java.lang.reflect.Method.invoke(Method.java:601)
[echo] at org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:438)
[echo] at org.glassfish.appclient.client.AppClientFacade.launch(AppClientFacade.java:182)
[echo] at org.glassfish.appclient.client.AppClientGroupFacade.main(AppClientGroupFacade.java:65)
[echo] Caused by: javax.naming.NamingException: Lookup failed for 'jms/basic/queue' in SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/basicQueue}

[Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/basicQueue}

[Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No]]
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[echo] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[echo] at com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)
[echo] at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$1.create(ComponentEnvManagerImpl.java:650)
[echo] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776)
[echo] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744)
[echo] at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:169)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498)
[echo] ... 12 more
[echo] Caused by: javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/basicQueue}

[Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No]
[echo] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:351)
[echo] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
[echo] ... 20 more
[echo] Caused by: org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No
[echo] at sun.reflect.GeneratedConstructorAccessor32.newInstance(Unknown Source)
[echo] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[echo] at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
[echo] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
[echo] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
[echo] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
[echo] at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
[echo] at $Proxy34.connectFailure(Unknown Source)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
[echo] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)
[echo] at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:130)
[echo] at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
[echo] at com.sun.enterprise.naming.impl.SerialContext$ProviderCacheKey.getNameService(SerialContext.java:1239)
[echo] at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:410)
[echo] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:346)
[echo] ... 21 more
[echo] Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
[echo] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:339)
[echo] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
[echo] ... 31 more
[echo] Caused by: java.net.ConnectException: Connection refused
[echo] at sun.nio.ch.Net.connect0(Native Method)
[echo] at sun.nio.ch.Net.connect(Net.java:364)
[echo] at sun.nio.ch.Net.connect(Net.java:356)
[echo] at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:623)
[echo] at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
[echo] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:324)
[echo] ... 32 more
[echo] basicJMS2EJB queue failed: queueSession is null
[echo] basicJMS2EJB topic failed: topicSession is null
[echo] basicJMS2EJB closeTopic did NOT close the connection because it was already null!
[echo] basicJMS2EJB closeQueue did NOT close the connection because it was already null!
[echo] Generating report at /export/sonia/appserver-sqe/test_results.xml
[echo]
[echo]
[echo] -----------------------------------------
[echo] - basicJMS2EJB-closeQueue: FAIL -
[echo] - basicJMS2EJB-initTopic: FAIL -
[echo] - basicJMS2EJB-initQueue: FAIL -
[echo] - basicJMS2EJB-queue: FAIL -
[echo] - basicJMS2EJB-closeTopic: FAIL -
[echo] - basicJMS2EJB-topic: FAIL -
[echo] -----------------------------------------
[echo] Total PASS: 0
[echo] Total FAIL: 6
[echo] Total DNR: 0
[echo] -----------------------------------------

There is no exceptions/errors in server.log



 Comments   
Comment by Satish Kumar [ 18/Nov/11 ]

From the log messages, it appears to be due to an IIOP issue -

[echo] org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 33700 vmcid: OMG minor code: 1 completed: No

This seems to suggest either a configuration issue or an issue with IIOP. Can you please confirm that the IIOP service is started correctly and running on localhost:33700?

If you continue to experience the problem, please attach the entire server log.

Comment by sonialiu [ 18/Nov/11 ]

I looked more into the test case. I found that after I ran the test against v3.1.1, I could see the following iiop related ports were listening.

  1. netstat -a|grep 3700
    .3700 *. 0 0 49152 0 LISTEN
    .43700 *. 0 0 49152 0 LISTEN
    .53700 *. 0 0 49152 0 LISTEN
    .33700 *. 0 0 49152 0 LISTEN

However, after I ran the same test against v3.1.2, I could only see the 3700 port was listening and the 43700, 33700 and 53700 were not. BTW,I can consistently reproduce the bug on solaris and linux machines.

Attached server.log

Comment by Satish Kumar [ 21/Nov/11 ]

Reassigning to the IIOP team since this is an IIOP/Naming related issue and not a JMS issue...

Comment by Harshad Vilekar [ 27/Nov/11 ]

Attached code change (patch.diff) resolves this issue.





[GLASSFISH-17633]  j2ee-jms test failing with "org.omg.CORBA.COMM_FAILURE" error Created: 04/Nov/11  Updated: 29/Nov/11  Resolved: 29/Nov/11

Status: Resolved
Project: glassfish
Component/s: orb
Affects Version/s: 3.1.2_b01
Fix Version/s: 3.1.2_b12, 4.0

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

Configuration :
Distribution :3.1.2 Build 06 ogs bits
OS : OEL6 (64 bit)
Jdk : JDK 7 ( b148 )
Ant : Ant 1.7.1 .


Attachments: Text File run1.log     File v3g_jms.output    
Issue Links:
Related
is related to GLASSFISH-17766 MDB cluster test failed in v3.1.2 Resolved
Tags: 3_1_2-review

 Description   

I am noticing 12 new failure in j2ee-jms tests.
All the test are failing with "org.omg.CORBA.COMM_FAILURE" error.
Attaching entire v3g_jms.output file. Ran "jmscluster-test1-AppClient" test manually , attaching the log file for the same.

To see the problem, please follow the following example, adjust the glassfish3, jdk, ant location and your id in CVSROOT

% setenv CVSROOT :pserver:cvsguest@sunsw.us.oracle.com:/m/jws
% setenv SPS_HOME /space/test1/ws/appserver-sqe
% setenv S1AS_HOME /space/test1/glassfish3/glassfish
% setenv JAVA_HOME /space/test1/tool/jdk1.7.0-b148
% setenv ANT_HOME /space/test1/tool/apache-ant-1.7.1
% setenv PATH $JAVA_HOME/bin:$ANT_HOME/bin:$S1AS_HOME/bin:$PATH

To check out test source

% cvs co appserver-sqe/bootstrap.xml
% cd appserver-sqe
% ant -f bootstrap.xml co-core

To run the test
% ant start-domain
% ant startDerby
% ant v3g-jms-all
or
% cd $SPS_HOME/pe/jms/jmscluster
% run the individual tests manually.

The complete error is:

jms-change-orb-port:
[copy] Copying 1 file to /scratch/bhavya/312/antws/appserver-sqe/pe/jms/jmscluster/test1
[echo] Changing the ORB Port to : 1114

jms-run-appclient:
[exec] WS HOME appserver-sqe
[exec] Start the Test : jmscluster-test1-AppClient
[exec] org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 1114 vmcid: OMG minor code: 1 completed: No
[exec] at sun.reflect.GeneratedConstructorAccessor31.newInstance(Unknown Source)
[exec] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[exec] at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
[exec] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
[exec] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
[exec] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
[exec] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
[exec] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
[exec] at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
[exec] at $Proxy34.connectFailure(Unknown Source)
[exec] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
[exec] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
[exec] at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
[exec] at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
[exec] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
[exec] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)
[exec] at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:130)
[exec] at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
[exec] at com.sun.enterprise.naming.impl.SerialContext$ProviderCacheKey.getNameService(SerialContext.java:1241)
[exec] at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:411)
[exec] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:347)
[exec] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
[exec] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[exec] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[exec] at com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)
[exec] at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$1.create(ComponentEnvManagerImpl.java:650)
[exec] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776)
[exec] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744)
[exec] at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:172)
[exec] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498)
[exec] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[exec] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[exec] at com.sun.s1peqe.jms.jmscluster.client.Client.run(Client.java:55)
[exec] at com.sun.s1peqe.jms.jmscluster.client.Client.main(Client.java:40)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[exec] at java.lang.reflect.Method.invoke(Method.java:601)
[exec] at org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:438)
[exec] at org.glassfish.appclient.client.AppClientFacade.launch(AppClientFacade.java:182)
[exec] at org.glassfish.appclient.client.AppClientGroupFacade.main(AppClientGroupFacade.java:65)
[exec] Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
[exec] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:339)
[exec] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
[exec] ... 30 more
[exec] Caused by: java.net.ConnectException: Connection refused
[exec] at sun.nio.ch.Net.connect0(Native Method)
[exec] at sun.nio.ch.Net.connect(Net.java:364)
[exec] at sun.nio.ch.Net.connect(Net.java:356)
[exec] at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:623)
[exec] at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
[exec] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:324)
[exec] ... 31 more
[exec] javax.naming.NamingException: Lookup failed for 'java:comp/env/jms/mq_q' in SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl}

[Root exception is javax.naming.NamingException: Lookup failed for 'jms/mq_q' in SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/mq_q}

[Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/mq_q}

[Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 1114 vmcid: OMG minor code: 1 completed: No]]]
[exec] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
[exec] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[exec] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[exec] at com.sun.s1peqe.jms.jmscluster.client.Client.run(Client.java:55)
[exec] at com.sun.s1peqe.jms.jmscluster.client.Client.main(Client.java:40)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[exec] at java.lang.reflect.Method.invoke(Method.java:601)
[exec] at org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:438)
[exec] at org.glassfish.appclient.client.AppClientFacade.launch(AppClientFacade.java:182)
[exec] at org.glassfish.appclient.client.AppClientGroupFacade.main(AppClientGroupFacade.java:65)
[exec] Caused by: javax.naming.NamingException: Lookup failed for 'jms/mq_q' in SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/mq_q}

[Root exception is javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/mq_q}

[Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 1114 vmcid: OMG minor code: 1 completed: No]]
[exec] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
[exec] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455)
[exec] at javax.naming.InitialContext.lookup(InitialContext.java:411)
[exec] at com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:90)
[exec] at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$1.create(ComponentEnvManagerImpl.java:650)
[exec] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:776)
[exec] at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:744)
[exec] at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:172)
[exec] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:498)
[exec] ... 11 more
[exec] Caused by: javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[myEnv=

{java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, com.sun.enterprise.naming.logicalName=java:comp/env/jms/mq_q}

[Root exception is org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 1114 vmcid: OMG minor code: 1 completed: No]
[exec] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:352)
[exec] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504)
[exec] ... 19 more
[exec] Caused by: org.omg.CORBA.COMM_FAILURE: FINE: IOP00410001: Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 1114 vmcid: OMG minor code: 1 completed: No
[exec] at sun.reflect.GeneratedConstructorAccessor31.newInstance(Unknown Source)
[exec] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[exec] at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
[exec] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
[exec] at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
[exec] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
[exec] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
[exec] at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
[exec] at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
[exec] at $Proxy34.connectFailure(Unknown Source)
[exec] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:257)
[exec] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:270)
[exec] at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:129)
[exec] at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:223)
[exec] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:228)
[exec] at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:393)
[exec] at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:130)
[exec] at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
[exec] at com.sun.enterprise.naming.impl.SerialContext$ProviderCacheKey.getNameService(SerialContext.java:1241)
[exec] at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:411)
[exec] at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:347)
[exec] ... 20 more
[exec] jmscluster-test1-AppClient setup failed: unexpected NamingException
[exec] Generating report at /scratch/bhavya/312/antws/appserver-sqe/test_results.xml
[exec]
[exec]
[exec] -----------------------------------------
[exec] - jmscluster-test1-AppClient: FAIL -
[exec] -----------------------------------------
[exec] Total PASS: 0
[exec] Total FAIL: 1
[exec] Total DNR: 0
[exec] -----------------------------------------
[exec] Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
[exec] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:339)
[exec] at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:242)
[exec] ... 30 more
[exec] Caused by: java.net.ConnectException: Connection refused
[exec] at sun.nio.ch.Net.connect0(Native Method)
[exec] at sun.nio.ch.Net.connect(Net.java:364)
[exec] at sun.nio.ch.Net.connect(Net.java:356)
[exec] at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:623)
[exec] at com.sun.corba.ee.impl.orbutil.ORBUtility.openSocketChannel(ORBUtility.java:110)
[exec] at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:324)
[exec] ... 31 more



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

With which 3.1.2 build did these tests last pass?

Do they pass with Java SE 1.6?

Comment by hsbhavya [ 04/Nov/11 ]

This is the 1st run with 3.1.2 . Even with jdk1.6 these test are failing with same error.
Note : This is the 1st run on OEL6

Comment by Tim Quinn [ 04/Nov/11 ]

Thanks for the added info. And do the tests pass on platforms other than OEL6?

Comment by Tim Quinn [ 14/Nov/11 ]

Because the immediate problem seems to be ORB-related I'm moving this to the ORB component.

Comment by Harshad Vilekar [ 27/Nov/11 ]

Fix for 17766 resolves this issue also.





[GLASSFISH-17623] Online Help is not availble for the Console. Created: 03/Nov/11  Updated: 15/Feb/13  Resolved: 06/Dec/11

Status: Resolved
Project: glassfish
Component/s: admin_gui
Affects Version/s: 3.1.1_b07
Fix Version/s: 3.1.2_b12, 4.0

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

OS: Solaris Sparc 10
firefox 3.6.23
GF 3.1.2 b07


Issue Links:
Related
is related to GLASSFISH-17912 4.0: Online Help is not availble for ... Resolved
is related to GLASSFISH-17912 4.0: Online Help is not availble for ... Resolved
is related to GLASSFISH-17572 [NLS]Admin console is not localized c... Closed

 Description   

In GF 3.1.2 promoted b07 ,The Online Help is not available for the Admin Console,and opening the HELP window for each screen/page in the Admin Console is displaying HTTP Status 404 as below:

HTTP Status 404 -
type Status report
message
descriptionThe requested resource () is not available.
Oracle GlassFish Server 3.1.2

Steps:
Start domain and enable secure-admin.
Restart domain.
Access Console from a remote Browser.
CLick "Help" Button.



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

even without secure admin, using localhost also sees the problem.

Comment by Anissa Lam [ 03/Nov/11 ]

This is due to the bundle name change.
The admin console plugin jar has changed and added a 'main' in the name.

Bundle-SymbolicName: org.glassfish.main.admingui.console-web-plugin

The help jar MANIFAST.MF needs to change Fragment-Host name accordingly.
eg.

Fragment-Host: org.glassfish.main.admingui.console-cluster-plugin

The HK2-Bundle-Name and Bundle-SymbolicName can remind the same if preferred. But maybe better to match the console plugin jar.

Transferring to 'doc' to make the changes.

Comment by Paul Davies [ 23/Nov/11 ]

Fixed in 3.1.2 branch revision 51116.

Comment by Paul Davies [ 29/Nov/11 ]

Fixed in the trunk in revision 51178.

Comment by Paul Davies [ 29/Nov/11 ]

Issue is fixed in 3.1.2, but further changes are required in the trunk to fix it for 4.0.

Comment by Paul Davies [ 29/Nov/11 ]

Changes to packaging are required to fix this issue for 4.0. I have changed the Component accordingly.

Comment by Joe Di Pol [ 06/Dec/11 ]

I'm resolving this issue based on the fact that it is fixed in 3.1.2 and the docs changes have been made in the trunk. I created issue GLASSFISH-17912 to cover the packaging changes that still need to be made in the trunk.

Comment by Anissa Lam [ 15/Feb/13 ]

I have just marked GLASSFISH-17912 resolved, as OLH is working fine and i am not aware of any packaging changes pending.
Paul, if you think otherwise, please reopen that bug and specify what exactly you think needs to be don.





[GLASSFISH-17402] Need more validation in 2 commands using DCOM Created: 10/Oct/11  Updated: 07/Dec/11  Resolved: 07/Dec/11

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

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   

2 commands:

install-node
uninstall-node

if in "DCOM mode" then fail the command if sshport and/or sshkeyfile are specified as options since they don't apply to DCOM






[GLASSFISH-17400] update-node-dcom - get rid of ssh from option names Created: 10/Oct/11  Updated: 07/Dec/11  Resolved: 07/Dec/11

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

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   

Adding an alias for --sshuser --dcomuser is not visible from auto-generated help.

It would be nice to change --sshuser to --remoteuser and then give an alias of "--sshuser".

opinions? If I don't hear any feedback I'll re-work the code to get rid of all options with "ssh" in them and add duplicate options that have "dcom" embedded in their names.



 Comments   
Comment by Byron Nevins [ 10/Oct/11 ]

I have no idea where the strikeouts in the above comment came from?!?

d:\gf\main\nucleus\cluster\cli>asadmin update-node-dcom --x
Invalid option: --x
Usage: asadmin [asadmin-utility-options] update-node-dcom
[--nodehost <nodehost>] [--installdir <installdir>]
[--nodedir <nodedir>] [--sshport <sshport>] [--sshuser <sshuser>]
[--sshkeyfile <sshkeyfile>] [--force[=<force(default:false)>]]
[?|-help[=<help(default:false)>]] name

Comment by Byron Nevins [ 11/Oct/11 ]

Final Decision:

change the names of the options --dcomuser





[GLASSFISH-17390] StandardWrapper getRootCause: infinite loop Created: 07/Oct/11  Updated: 28/Nov/11  Resolved: 28/Nov/11

Status: Closed
Project: glassfish
Component/s: web_container
Affects Version/s: 9.1.1, 3.1.1
Fix Version/s: 3.1.2_b12

Type: Bug Priority: Major
Reporter: wrschneider99 Assignee: Shing Wai Chan
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: web-core

 Description   

Basically the same issue as raised and fixed previously in Tomcat 5.x:

https://issues.apache.org/bugzilla/show_bug.cgi?id=39088

The problem is that calling a "getRootCause" method via reflection is not safe, because an application-level exception may implement this method with different semantics than ServletException/JspException.



 Comments   
Comment by wrschneider99 [ 11/Oct/11 ]

BTW: this is likely to prevent me from using Glassfish in production, because a third-party commercial application won't run properly on it. (if it were my own code, it would be an easy workaround.)

Comment by Shing Wai Chan [ 28/Nov/11 ]

fix in 3.1.2:
Sending web-core/src/main/java/org/apache/catalina/core/StandardWrapper.java
Transmitting file data .
Committed revision 51162.

fix in trunk:
Sending web-core/src/main/java/org/apache/catalina/core/StandardWrapper.java
Transmitting file data .
Committed revision 51163.





[GLASSFISH-16993] list-*** commands should not return "Nothing to list" if there is no child. Created: 08/Jul/11  Updated: 28/Nov/11  Resolved: 28/Nov/11

Status: Resolved
Project: glassfish
Component/s: jca
Affects Version/s: None
Fix Version/s: 3.1.2_b12, 4.0

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

Issue Links:
Dependency
blocks GLASSFISH-16924 Error when JMS Connection factory is ... Resolved
Tags: 3_1_1-exclude, 3_1_1-scrubbed, 3_1_2-review

 Description   

Returns by list-xxx commands sometimes return "Nothing to list" if there is no such resource. I haven't tried all the list-xxx commands, but seems that this happens to all the resources, but not when listing out config elements.

If there is no connector-connection-pool, you will see:

%asadmin list-connector-connection-pools
Nothing to list.
Command list-connector-connection-pools executed successfully.

and the action report says there is one child with the name "Nothing to list" :
{"message":"","command":"list-connector-connection-pools AdminCommand","exit_code":"SUCCESS","extraProperties":{"methods":[

{"name":"GET"}

,{"messageParameters":{"targetName":

{"acceptableValues":"","optional":"true","type":"string","defaultValue":"server"}

}}]},"children":[{"message":"Nothing to list.","properties":{}}]}

If you create MyPool
%asadmin create-connector-connection-pool --raname jaxr-ra --connectiondefinition com.sun.connector.jaxr.JaxrConnectionFactory MyPool
Connector connection pool MyPool created.
Command create-connector-connection-pool executed successfully.

You get:
%asadmin list-connector-connection-pools
MyPool
Command list-connector-connection-pools executed successfully.

and
{"message":"","command":"list-connector-connection-pools AdminCommand","exit_code":"SUCCESS","extraProperties":{"methods":[

{"name":"GET"}

,{"messageParameters":{"targetName":

{"acceptableValues":"","optional":"true","type":"string","defaultValue":"server"}

}}]},"children":[{"message":"MyPool","properties":{}}]}

When parsing the action report, there is no way to differentiate if there is a pool called "MyPool" or "Nothing to list".

I see the same thing happens to other list commands, eg list-jdbc-resources list-jms-resources, list-jndi-resources etc.

When listing the config element, eg. list-thread-pools list-virtual-servers etc, if there is no such elements, there is no "children" in the action report. I believe this is the correct behavior.
eg.

{"message":"","command":"list-threadpools AdminCommand","exit_code":"SUCCESS","extraProperties":{"methods":[

{"name":"GET"}

,{"messageParameters":{"id":

{"acceptableValues":"","optional":"false","type":"string","defaultValue":"server"}

}}]}}

We need to fix the list-xxx commands such that no 'children' should be created in the action report when there is no child at all, instead of saying there is a child with the name "Nothing to list".



 Comments   
Comment by Tom Mueller [ 08/Jul/11 ]

Assigning to Jagadish to deal with the connector related commands.

Not outputting "Nothing to list" is in line with the asadmin output guidelines here:

http://wikis.sun.com/display/GlassFish/Asadmin+Command+Output+Guidelines

Comment by Jagadish [ 26/Jul/11 ]

Excluding the issue for 3.1.1 as its not critical. We can fix it in trunk/next release.

Providing the email exchanges between Anissa, Tom and Jagadish.

-----------------------------------------------------------------------------------------------------------------------------
OK. I shall remove the output "Nothing to List" to keep it uniform.

Tom : You may have to look at all modules / send email to all module
owners as I see other modules also having "Nothing to List" message in
the code/logStrings.

Thanks,
-Jagadish

> > On 7/11/11 11:20 AM, Tom Mueller wrote:
> > > While I understand the concerns over compatibility, please note
> > > that the adopted standard now for commands is to not output a
> > > "Nothing to list" message when there is nothing to list.
> > From the Guidelines:
> > 10. When a list has no items, then output a "Nothing to list"
> > message if and only if column headings are turned on. If there are
> > no column headings, then output nothing for an empty list.
> >
> > Anissa.
> > > Please see:
> > >
> > > http://wikis.sun.com/display/GlassFish/Asadmin+Command+Output
> > > +Guidelines
> > >
> > > Thanks.
> > > Tom
> > >
> > > On 7/11/2011 11:35 AM, Anissa Lam wrote:
> > > >
> > > > Hi Jagadish,
> > > >
> > > > Thanks for looking into this. So, instead of
> > > > {"message":"","command":"list-connector-connection-pools
> > > > AdminCommand","exit_code":"SUCCESS","extraProperties":{"methods":[

{"name":"GET"}

,{"messageParameters":{"targetName":

{"acceptableValues":"","optional":"true","type":"string","defaultValue":"server"}

}}]},"children":[{"message":"Nothing to list.","properties":{}}]}
> > > >
> > > > it will become:
> > > >
> > > > {"message":"Nothing to list
> > > > ","command":"list-connector-connection-pools
> > > > AdminCommand","exit_code":"SUCCESS","extraProperties":{"methods":[

{"name":"GET"}

,{"messageParameters":{"targetName":

{"acceptableValues":"","optional":"true","type":"string","defaultValue":"server"}

}}]}
> > > >
> > > > That will be fine from GUI's perspective. cc'ing Tom and Jason
> > > > in case they have any concern.
> > > >
> > > > thanks
> > > > Anissa.
> > > >
> > > > On 7/11/11 7:54 AM, Jagadish Prasath Ramu wrote:
> > > > > http://java.net/jira/browse/GLASSFISH-16993
> > > > >
> > > > >
> > > > > Hi Anissa,
> > > > >
> > > > > I am looking into the above issue where you suggested not to add a child
> > > > > to action report when there are no resources to list.
> > > > > "Nothing to list" is currently added as child of TopMessagePart of
> > > > > ActionReport.
> > > > >
> > > > > I looked at v2.x behavior and different command yields different
> > > > > results
> > > > > ie.,
> > > > > some commands display "Nothing to list"
> > > > > and
> > > > > some commands do not display the text.
> > > > >
> > > > > Is it fine from GUI's perspective if we add the message "Nothing to
> > > > > list" to the TopMessagePart of the ActionReport instead of the child of
> > > > > TopMessagePart so that we don't break backward compatibility ?
> > > > >
--------------------------------------------------------------------------------------------------------------------------------

Comment by Jagadish [ 28/Nov/11 ]

FIX IN TRUNK :

svn log -v -r 51140

r51140 | jr158900 | 2011-11-27 18:32:52 +0530 (Sun, 27 Nov 2011) | 6 lines
Changed paths:
M /trunk/main/appserver/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListConnectorConnectionPools.java
M /trunk/main/appserver/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListConnectorResources.java
M /trunk/main/appserver/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListConnectorSecurityMaps.java
M /trunk/main/appserver/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListResourceAdapterConfigs.java
M /trunk/main/appserver/jdbc/admin/src/main/java/org/glassfish/jdbc/admin/cli/ListJdbcConnectionPools.java
M /trunk/main/appserver/jdbc/admin/src/main/java/org/glassfish/jdbc/admin/cli/ListJdbcResources.java
M /trunk/main/appserver/resources/javamail/javamail-connector/src/main/java/org/glassfish/resources/javamail/admin/cli/ListJavaMailResources.java
M /trunk/main/appserver/resources/resources-connector/src/main/java/org/glassfish/resources/admin/cli/ListCustomResources.java
M /trunk/main/appserver/resources/resources-connector/src/main/java/org/glassfish/resources/admin/cli/ListJndiResources.java

svn log -v -r 51142
------------------------------------------------------------------------
r51142 | jr158900 | 2011-11-27 18:34:44 +0530 (Sun, 27 Nov 2011) | 5 lines
Changed paths:
M /trunk/main/appserver/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListAdminObjects.java

FIX IN 3.1.2 :

svn log -v -r 51138
------------------------------------------------------------------------
r51138 | jr158900 | 2011-11-26 23:15:12 +0530 (Sat, 26 Nov 2011) | 5 lines
Changed paths:
M /branches/3.1.2/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListAdminObjects.java
M /branches/3.1.2/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListConnectorConnectionPools.java
M /branches/3.1.2/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListConnectorResources.java
M /branches/3.1.2/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListConnectorSecurityMaps.java
M /branches/3.1.2/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListCustomResources.java
M /branches/3.1.2/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListJavaMailResources.java
M /branches/3.1.2/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListJndiResources.java
M /branches/3.1.2/connectors/admin/src/main/java/org/glassfish/connectors/admin/cli/ListResourceAdapterConfigs.java
M /branches/3.1.2/jdbc/admin/src/main/java/org/glassfish/jdbc/admin/cli/ListJdbcConnectionPools.java
M /branches/3.1.2/jdbc/admin/src/main/java/org/glassfish/jdbc/admin/cli/ListJdbcResources.java





[GLASSFISH-16969] jdbc-connection-pool's ping="true" is not executed at deployment Created: 06/Jul/11  Updated: 28/Nov/11  Resolved: 28/Nov/11

Status: Resolved
Project: glassfish
Component/s: jca
Affects Version/s: 3.1
Fix Version/s: 3.1.2_b12, 4.0

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

Win7 Pro SP1 64 Bit de_DE


Tags: 3_1_1-next, 3_1_1-scrubbed, 3_1_2-review

 Description   

In glassfish-resources.xml I have defined a line that obviously must prevent deployment:

<jdbc-connection-pool name="CRASHTEST" datasource-classname="FOOBAR" ping="true"/>

The reason is obvious: There is no class named "FOOBAR", so at deployment the required ping must notice the missing class (isn't that the idea of that ping?).

But when doing asadmin deploy with an EAR containing that glassfish-resources.xml, the deployment actually works successfully, and no ping gets executed, and the only notice of CRASHTEST in the log is:

[#|2011-07-06T10:29:56.193+0200|WARNING|glassfish3.1|javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.util|_ThreadID=58;_ThreadName=Thread-1;|RAR8068: Using default datasource : __ds_jdbc_ra for pool : java:app/CRASHTEST|#]

It seems as if GlassFish not even thinks about doing that ping.

As asadmin says the deployment was successful, but obivously CANNOT be successful as there is no such driver class, this bug is a showstopper: Administrators will not understand that the application is not working, as they instructed GlassFish explicitly to ping...!



 Comments   
Comment by Hong Zhang [ 06/Jul/11 ]

assign to jagadish to take a look

Comment by Jagadish [ 06/Jul/11 ]

Yes, this seems to be an issue when using add-resources command or bundling glassfish-resources.xml in the application (app-scoped-resources)

However, when ping fails, we would not prevent deployment as creation of a jdbc-connection-pool via CLI with ping=true does not prevent creating the pool.

Comment by mkarg [ 07/Jul/11 ]

How could a remote deployer see that the resource was not configured correctly (and such the application might fail in far future) if not telling him that the ping failed? A failing embedded resource is such a severe problem because those are not listed in the GUI so he never will have a chance to configure them later. So deployment must fail to give him a chance to change the wrong configuration. Again, this only talks about embedded resources.

Comment by Jagadish [ 07/Jul/11 ]

There will be ping failure message in server.log once it is fixed for app-scoped-resources.
GUI support is not available, but it is possible to reconfigure via CLI. Such ping failures can happen even after deployment (after re-configuring) them and so deployment need not fail.

Comment by Jagadish [ 08/Jul/11 ]

Workarounds for 3.1.1 as it is past HCF :
1) use ping-connection-pool after deployment
2) use global resources.

Comment by mkarg [ 09/Jul/11 ]

Remember that we are shipping our application to 200+ enterprises. They expect a more or less plug and play solution. Can you please tell me:

1) How one of those 200+ administrators does a ping-connection-pool on a resource that he is not aware of? What command does he have to type exactly?

2) How to prevent that one gains access to the resource as soon as a resource is global? As EclipseLink expects to have exclusive access (unless the cache is disabled) this will imply severe concurrency problems, including lost data!

As a result, the workarounds are not acceptable for a production grade product and such the priority must stay at critical. Sorry to say that, but our customers expect to get production ready products, without a need to use workarounds.

Comment by Jagadish [ 09/Jul/11 ]

1) How one of those 200+ administrators does a ping-connection-pool on a resource that he is not aware of? What command does he have to type exactly?
The resource is shown via "asadmin list-applications --subcomponents --resources" and is not a hidden resource. As well it will be shown in domain.xml

It is also expected that administrator need to know these resources as every pool/resource needs tuning at some point of time in the production based on the application's usage.

2) How to prevent that one gains access to the resource as soon as a resource is global? As EclipseLink expects to have exclusive access (unless the cache is disabled) this will imply severe concurrency problems, including lost data!

This has been the case even in GlassFish 2.x and it is expected by the administrator/deployer to make sure its not incorrectly used.

Comment by mkarg [ 11/Jul/11 ]

1) Please understand that the 200+ installations we are supporting do not need any additional tuning, but all run fine with default installation. So we want to prevent any manual steps besides asadmin deploy. As every single step implies additional costs, and those costs get multiplied by 200+, you might understand why a simple thing like this can make the difference between using GlassFish and using a concurrent product.

2) The fact that GFv2 already had this problem is no excuse for not improving it in GFv3. It is ridiculous that an administrator must care for that. It is cleary the server product's job to keep private resources really private.

Comment by mkarg [ 20/Jul/11 ]

Jagadish, you wrote:
Workarounds for 3.1.1 as it is past HCF :
1) use ping-connection-pool after deployment
2) use global resources.

So I was trying ping-connection-pool but it does not work. So this IS a showstopper as local resources cannot be pinged. How shall one know whether the connection is working or not if he cannot ping it?

See this test result:

>asadmin list-applications --resources
SuperSimple  <ear, appclient, connector, web, ejb, webservices>
  java:app/jdbc/QUIPSY/5        <JdbcResource>
  java:app/QUIPSY_MAIL  <MailResource>
  java:app/QUIPSY4      <JdbcConnectionPool>
Command list-applications executed successfully.

>asadmin ping-connection-pool java:app/QUIPSY4
remote failure: Pool [ java:app/QUIPSY4 ] does not exist.
Command ping-connection-pool failed.

As you can see it first says it found a pool but then it says it does not exist...!

Comment by Jagadish [ 20/Jul/11 ]

ping-connection-pool for app-scoped-resources should provide application name (--appname option).

In your case, please use :

asadmin ping-connection-pool --appname SuperSimple java:app/QUIPSY4

Comment by mkarg [ 21/Jul/11 ]

asadmin ping-connection-pool --appname SuperSimple java:app/QUIPSY4 is working pretty well, thank you very much for this tip! Obviously an app-scoped ping will fail if the scope name is not provided at CLI (silly me!).

Comment by Jagadish [ 28/Nov/11 ]

Fixed in trunk :
svn log -v -r 51143

Fixed in 3.1.2 :
svn log -v -r 51139

Now, ping-connection-pool will be executed for application/modules-scoped resources that are bundled in glassfish-resources.xml during deployment and its stated will be printed in server.log





Generated at Wed Feb 10 04:20:24 UTC 2016 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.