• Bug
  • Status: Closed
  • 2 Major
  • Resolution: Fixed
  • hhuynh
  • Reporter: siyer
  • February 21, 2007
  • 0
  • Watchers: 0
  • June 11, 2007
  • April 17, 2007

Attachments

Description

Tried adding the needed JAVA_OPTIONS to asadmin.bat and then to just startserver.bat but to no avail…There are 2 java processes that are spawned from the invocation of asadmin.bat and perhaps system properties are not being passed correctly and there could be an issue with the way we are weaving in.

A thread dump is attached.

Comments

Fiona OShea 2007-02-21

Tim can you take a quick look at this on comment on what you think the issue is?

Sreenivasan Iyer 2007-03-04

Thanks to our friends at Glassfish - the way to add java options to Glassfish is to add options such as this line

-Dtc.install-root=%TERRACOTTA\_INSTALL%

to config/domain.xml

Tc.install-root, tc.config, bootclasspath options were added to the domain.xml file.

Terracotta seems to be getting pulled in: 2007-03-03 23:45:37,950 INFO - Terracotta, version 2.2.1 as of 20070119-120113.

However, admin console shows the client connecting and then disconnecting (and no roots)…?

Steve Harris 2007-03-04

Are they using some sort of launcher? Is the boot-jar going to the right process?

Saravanan Subbiah 2007-03-04

Aren’t they working on a separate branch off 2.2.1 ? At some point there was a bug in 2.2.1 that had the same symptoms and got fixed in 2.2.1 If they are working off a separate branch, now is a good time to pull in all changes from 2.2.1 branch.

Tim Eck 2007-03-04

what? Saravanan, are you maybe confusing Glassfish with glassbox?

Saravanan Subbiah 2007-03-04

yes, I did. sorry !! :-s

Tim Eck 2007-03-04

I haven’t been able to figure out why, but with DSO enabled, GF seems to want to start more than one JMX connector on port 8686, leading to a bind exception, leading to the app server process exiting, leading to the disconnected client in the Terracotta admin console

Tim Eck 2007-03-04

So it seems that DSO is interfering with the setup of glassfish’ override of the platform SelectorProvider. Since DSO starts a NIO selector before the app server has even started running, we have the side effect of initializing the default provider implementation. The code in com.sun.enterprise.server.ss.ASLazyKernel.initializeASSocketService() then has no effect, the provider will not switched to the glassfish implementation.

I’m thinking that the DSO comms setup cannot use the default method for obtaining a selector.

Tim Eck 2007-03-05

disabling glassfish’s quick start mode (-Dcom.sun.enterprise.server.ss.ASQuickStartup=false) seems to clear up the bad NIO selector stuff. Next problems:

1) com.tc.tomcat.session.VersionHelper class not found. Obviously the magic to introduce this code isn’t working under GF. Drop the tc-session.jar under GF lib directory to workaround

2) VersionHelper doesn’t know what to do with GF’s tomcat version string. Hack on VersionHelper to work around this

3) The GF implementation of Tomcat’s valve interface is actually a hybrid of tomcat 5.0 and 5.5. With the current DSO session implementation for tomcat, we would need a GF specialized valve implementation.

Tim Eck 2007-04-17

A basic glassfish + DSO app can be run (plain roots only)

The remaining issues (there are plenty of them) are captured in these discreet items: CDV-231 CDV-232 DEV-633