Affects Version/s: 3.1
Fix Version/s: 3.1.1
2 virtual servers running atop VMWare ESXi:
4 x Intel Xeon E5540 @ 2.53GHz
10.0 GB RAM
Windows Server 2008 R2 Standard, Service Pack 1
C:\ drive is a system drive where Windows and common software is installed
D:\ drive is a 15GB drive where Java 1.6.0_24, Glassfish 3.1 and Apache 2.2 are installed
Glassfish: D:\GlassfishShow2 virtual servers running atop VMWare ESXi: 4 x Intel Xeon E5540 @ 2.53GHz 10.0 GB RAM Windows Server 2008 R2 Standard, Service Pack 1 C:\ drive is a system drive where Windows and common software is installed D:\ drive is a 15GB drive where Java 1.6.0_24, Glassfish 3.1 and Apache 2.2 are installed Java: D:\Java\32\jdk Apache: D:\Apache\Application Glassfish: D:\Glassfish
I'm trying to evaluate different application servers for our next generation production infrastructure. This issue is preventing me from even evaluating Glassfish. I have been working on this for several days, and I'm about ready to scratch it and move to a different product. I was really excited about Glassfish 3.1, but so far I've only been disappointed.
Steps to configure:
1. Install and configure Cygwin SSH per the instructions in the high availability guide
2. Install Glassfish on Server 1 and configure DAS (with a Windows service)
3. Install Glassfish on Server 2 and configure nothing
4. Open up admin console at http://server1:4848 and sign in
5. Create node2 on Server 2 using admin console (localhost-domain1 node on Server 1, aka node1, has already been created)
6. Copy default config (I named it aspgrp01-config), add JK Connector network interface with JK enabled, add system property for JK connector port
7. Create a cluster aspgrp01 and reference aspgrp01-config
8. Create instances s01instance01 and s01instance02 on node1 (server1) in cluster aspgrp01
9. Create instances s02instance01 and s02instance02 on node2 (server2) in cluster aspgrp01
10. Create Windows services on server1 for server1 instances using "asadmin create-instance..."
11. Create Windows services on server2 for server2 instances using "asadmin create-instance..."
12. Start all four instances (start cluster)
On Server 2 only, the D:\Glassfish\glassfish\nodes\node2\s02instance01\docroot and D:\Glassfish\glassfish\nodes\node2\s02instance02\docroot directories are not created. (The analog directories on Server 1 are properly created.) Because of this, when deploying applications to the cluster, the applications only deploy to the instances on Server 1. They do not deploy in the instances on Server 2 (instead, for those two instances only, you get a "failed to deploy" "fix your application and redeploy" message). Can go to both Server 1 instance URLs directly and interact with the application without any errors. Cannot on Server 2. Both Server 2 instances "require restart" with the pending change of deploying the application. No number of restarts or stop-starts make the "require restart" message go away. Cannot undeploy application from those two instances because it is not deployed. Cannot attempt to deploy application to those two instances again because it says it is already deployed. Only choice is to delete and recreate the instances, but this does not make the root issue go away.
Before attempting to deploy an application to the cluster, copy the "docroot" directory from one of the instances on Server 1 and paste it into the instances on Server 2. Deployment succeeds. Application deploys and starts services on all four instances.
On Server 2 only, JSP files do not compile. The environments and JVMs on both servers are identical, so this is not the issue here. There is no Windows firewall and no anti-virus installed. If I went to the "/appname/do/config/login" URL in my application directly on each instance, I could interact with the application without any errors on both Server 1 instances, but on Server 2 instances I get an error that the RequestDispatcher for /jsp/config/login.jsp could not be loaded. I investigated the JSP generation directories, and on Server 1 found directories this deep:
However, on Server 2 they only go this deep:
This leads me to believe that for some reason, Glassfish is not compiling JSPs on the instances on Server 2. All four instances have "appname\loader_[number]" dirctories. No errors are logged in server.log at ALL, except for the "could not load RequestDispatcher" error, which does not indicate WHY JSP files aren't being compiled, only THAT they aren't being compiled.
No known workaround that I could find. This obviously needs to be fixed, but a workaround would sure be helpful for me to continue my evaluations.