Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Update 7 Release Notes

Load Balancer

This section describes the known load balancer issues and associated solutions.

ID 

Summary 

6422893 

The Application Server 7.1 UR5 load balancer plug-in does not recognize the HTTPS listeners even when the https-routing property is set to true in loadbalancer.xml. 

Solution 

If you are installing Application Server 7.1 afresh: 

  1. Install Application Server 7.1 UR5 without the load balancer plug-in by deselecting the load balancer during product installation.

  2. Install the Java Enterprise System (JES) 3 or JES4 Application Server from http://www.sun.com/software/javaenterprisesystem

  3. Download JES component Patch 10 from http://sunsolve.sun.com

    • For package-based patches, the patch ids are 119166-16(Solaris Sparc), 119167-16 (Solaris x86), 119168-16 (Linux)

    • For file-based patches, the patch ids (Enterprise Edition) are 119169-08 (Solaris Sparc), 119170-08 (Solaris x86), 119171-08(Linux) , 119172-08 (Windows)

    • For file-based patches, the patch ids (Platform Editon) are 119173-08 (Solaris Sparc), 119174-08 (Solaris x86), 119175-08 (Linux), 119176-08 (Windows)

  4. Begin installation. From the component list, select only the load balancer plug-in and proceed with the installation of the load balancer plug-in in the specified Web Server location.

  5. Configure Application Server 7.1 UR5 and Web server to use this plug-in.

If you already have an installation of Application Server 7.1: 

  1. Rename the libpassthrough.so file and all other related files, such as LBPluginDefault_root.res and LBPlugin_root.res installed as part of the Application Server 7.1 UR5 load balancer plugin.

  2. Install the Java Enterprise System (JES) 3 or JES4 Application Server from: http://www.sun.com/software/javaenterprisesystem

  3. Download JES component Patch 10 from http://sunsolve.sun.com

  4. For package-based patches, the patch ids are 119166-16(Solaris Sparc), 119167-16 (Solaris x86), 119168-16 (Linux)

  5. For file-based patches, the patch ids (Enterprise Edition) are 119169-08 (Solaris Sparc), 119170-08 (Solaris x86), 119171-08(Linux) , 119172-08 (Windows)

  6. For file-based patches, the patch ids (Platform Editon) are 119173-08 (Solaris Sparc), 119174-08 (Solaris x86), 119175-08 (Linux), 119176-08 (Windows)

  7. Begin installation. From the component list, select only the load balancer plug-in and proceed with the installation of the load balancer in the specified Web Server location.

  8. Configure Application Server 7.1 UR5 and Web server to use this plug-in.

6338687

Load Balancer Plug-in cannot handle URL/URI greater than 8K.

Ensure not to create a URL/URI greater than 8k if it is going to be forwarded by the load balancer plug-in to the Application Server. 

6262746

Load balancer plug-in on Apache web server, installed on Solaris 10 (SPARC and x86), is not a supported configuration.

Solution

  • Use Apache on Solaris 8 or 9, and the Application Server on Solaris 10.

    Or,

  • Use Sun Java System Web Server on Solaris10.

6155134

Manual setting of path is required for webservers to start.

After installing load balancer plug-in on Windows for IIS or Apache, append the path of the Application Server to the Path environment variable. 

  • Go to Start->Settings->Control Panel->System->Advanced->Environment Variables->System Variables->Path, and add: appserver_install_dir\bin

  • You must restart the machine.

4761151, 4825429, 4981545

Intermediate form and basic authentication failures while sending intermittent SSL and non-SSL requests through load balancer plug-in. Displays a 502 Bad Gateway error message. The persistency of proxy-to-container connections is not maintained with the default settings.

Loadbalancer looses persistent connections to the application server due to deployment/undeployment on the application server and/or due to keep alive timeout or due to stale connections in the load balancer’s connection pool. When this happens, some of load balancer’s requests will fail and the error page is displayed. This typically occurs in a development environment where frequent deployment/undeployment and other configuration changes are tried and tested. 

Solution

Set the keep alive timeout on the appserver to 0. 

Using web-based Administration interface:

  1. Launch the Administration console.

  2. Select HTTP Server -> Tuning.

  3. In the HTTP Persistent Connection Timeout field, enter 0 (last text box on the page)

  4. Apply changes and restart the appserver.

    Using the Command-line Interface:

  5. Add the line: KeepAliveTimeout 0 in init.conf of appserver

  6. Launch the asadmin reconfig command.

  7. Restart the appserver.

4962735 

On Linux, Apache Web Server 1.3.27 does not start after installing load balancer plug-in and sec_db files.

Solution

Include the following lines in /src/MakeFile after “End of automatically generated section,” and just before “OBJS= \”. Also, make sure the Application Server libraries are already installed in a particular location:

LIBS+= -licuuc -licuil8n -lnspr4 -lpthread -lxerces-c -lsupport -lnsprwrap -lns-httpd40 LDFLAGS+= -L/space/SJSAS/installations/lib.

Where: /space/SJSAS/installations is the location of the application server installation. For more information, see Appendix “Compiling Apache Web Server” in Sun Java System Application Server Administration Guide.

5018537

Identity Server/Application Server Integration Services unavailable error shown during failover.

Loadbalancer.xml has “/” as the context-root for a web-module. After a failover, since there is no context root, a “Default” string is assigned as the path of the update JROUTE cookie. This results in two JROUTE cookies on the browser side. 

  1. The old JROUTE cookie pointing to the failed instance with “/” aspath.

  2. The new JROUTE cookie pointing to the new instance with “/Default” as the path.

    The browser would always use the old outdated cookie (1) and consequently it results in redirects and failovers, and sometimes the browser itself fails.

Solution

Have specific context root for all web modules. For example: 

<web-module context-root=”appl” enabled=”true” disable-timeout-in-minutes=”60” error-url=”appl-lberror.html” />
<web-module context-root=”app2” enabled=”true” disable-timeout-in-minutes=”60” error-url=”app2-lberror.html” />

After the failover, the JROUTE gets the path as “/appl” which is valid and works correctly. 

5007720

Log message not proper for invalid value for error-url in web-module.

When the error-url attribute in web-module tag of loadbalancer.xml is set, as follows, to an invalid value, such as:

<web-module context-root="app1" enabled="true" disable-timeout-in-minutes="60" error-url="abc"/>

The log message displayed is as follows: 

warning (11113):  reports: lb.configurator: XML_VALIDATOR_WARNING: Invalid format for the error-url sun-http-lberror.

However, the log should be: 

warning (20015):  reports: lb.configurator: XML_VALIDATOR_WARNING: Invalid format for the error-url abc