Sun Java System Application Server 7 2004Q2 Update 1 Release Notes

> # Sun Java™ System Application Server Standard and Enterprise Edition Release Notes

> ### Version 7 2004Q2 Update 1

> Part Number 819-0593-05

> These release notes contain important information available at the time of the release of the Sun Java™ System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition product. Enhancements, installation notes, known problems, and other late-breaking issues are addressed here. Read this document and associated documents before you begin using the Sun product.

> This document contains the following sections:

> - Release Notes Revision History
> - What’s New
> - Platform Summary
> - Solaris Patches Required
> - Upgrade Options
> - Installing JWSDP 1.4 Common Components
> - Using Migration Tool
> - Sun ONE Studio 5 Standard Edition Update 1
> - Other Requirements and Limitations
> - Accessing the Documentation
> - Resolved Issues
> - Known Problems and Limitations
> - Redistributable Files
> - How to Report Problems and Provide Feedback
> - Additional Sun Resources

> #

> Release Notes Revision History

> This section lists the changes that have been made in these release notes after the initial release of the Sun Java System Application Server 7 Standard and Enterprise Edition product.

> Revision Date | Description of Change
> --- | ---
> May 2004 | Initial release of Sun Java System Application Server 7 2004Q2 Standard and Enterprise Edition
> September 2004 | Update 1 release of Sun Java System Application Server 7 2004Q2 Standard and Enterprise Edition

> #

> What’s New

> The Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition provides a high-performance J2EE platform suitable for broad deployment of application services and web services. The following changes have been made to the Update 1 release:

> - Stability and Quality Fixes

> Update 1 release fixes a number of performance, stability, scalability, and availability fixes, providing improved experience over Sun Java System Application Server 7 2004Q2.

> - J2SE 1.4.2_05

> The JVM version has been upgraded to 1.4.2_05.

> - High Availability on Windows platforms

> The following load balancing and failover features, earlier available with Application Server on UNIX platforms, are now available for Windows with Update 1:

> - EJB Failover

> EJB failover protection provides uninterrupted service without loosing state for any J2EE applications inspite of system or software crash.

> - RMI/IIOP Failover and Load Balancing

> Load balancing and failover of EJB and Name Service references accessed along RMI/IIOP path.

> - HTTP/s Load Balancing and Failover

> Load balancing and failover on the HTTP/S path is supported on a wide range of platforms and web servers.

> - New version of High Availability Database (HADB)

> The latest version of HADB 4.4 is bundled with Sun Java System Application Server 7 2004Q2 Update 1 Enterprise Edition, for Windows platforms. HADB 4.4. provides a new, easy-to-use administration framework through a new management system.

> - JWSDP 1.4

> JWSDP 1.4 common components are packaged under AppServer7/package/jwsdpcc_addon directory in the product CD. Use the common components to upgrade your installation of JWSDP.

> For information on installing and uninstalling the common components, see "Installing JWSDP 1.4 Common Components" .

> - NSS 3.3.11

> The latest NSS release provides enhanced security, along with fixes for a number of issues found in the previous release of NSS.

> - New configuration parameters to improve Application Server performance.

> The following configuration changes have been made to the default server configuration file, server.xml.

> These changes are the result of sustained performance testing using the SPECj2001 benchmark.

> - JVM Options

> -server -Xss128k

> -Xms256m -Xmx256m

> -XX:+AggressiveHeap

> -XX:+DisableExplicitGC

> -Djavax.rmi.CORBA.UtilClass=com.iplanet.ias.util.orbutil.IasUtilDelegate

> - ORB

> Steady Pool Size = 40

> Max Pool Size = 70

> - EJB Container / MDB Settings / Default Pool Settings

> Steady Pool Size = 32

> Max Pool Size = 1024

> Pool Resize Quantity = 16

> - Removed JVM Option

> -Dsun.rmi.dgc.server.gcInterval=3600000

> - For further performance enhancement, the default Java heap settings of -Xms256m -Xmx256m should be raised to accommodate the additional memory available on your hardware.

> For Example, on a 4 Gigabyte Solaris 9 system running only the Application Server, changing the heap to -Xmx3584m -Xms3584m can yield an additional 1440% improvement over the default heap setting of 256m, which is the minimum required to run the application server.

> Most of the new changes are to optimize the enterprise server Java engine for heap usage and garbage collection, using the settings that tested as being the most reliable and yielding the best performance results through sustained testing.

> - -XX:+DisableExplicitGC turns off explicit garbage collection when called in the application code. This lets the Application Server container and the Java engine handle all garbage collection cycles at the optimal times, deferring explicit calls to avoid a programmatic hit in optimal performance.
> - -Djavax.rmi.CORBA.UtilClass=com.iplanet.ias.util.orbutil.IasUtilDelegate activates a feature of Application Server to take advantage of sun.reflect copying of data objects whenever the ORB is utilized. It can yield as much as a 40% improvement in this area of performance.

> The ORB and MDB settings were optimized through hours of performance testing to determine which settings returned the best performance numbers reliably through sustained testing with the SPECj2001 benchmark.

> In the case of ORB, the steady pool size was increased while the max pool size was decreased since adding more threads here did not help performance.

> In the case of MDB steady pool size, max pool size and pool resize quantity were all increased to improve throughput of the asynchronous MDB requests to optimize performance in this area.

> - The RMI delegate garbage collector setting, -Dsun.rmi.dgc.server.gcInterval=3600000, was removed from the default configuration to compliment the other changes made. This switch would defer Java garbage collection of RMI objects to occur only once every hour. Removing this switch restores the Java JRE default behavior of garbage collecting RMI objects ever two minutes, which our performance testing showed to be beneficial to reliability and optimized performance.

> #

> Platform Summary

> This section provides information on supported platform components for the Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition.

> This section includes:

> - Operating Systems and Distribution Types
> - System Requirements
> - JDBC Drivers and Databases
> - Web Servers
> - Browsers
> - Software Packages

> ## Operating Systems and Distribution Types

> The following table identifies the supported operating systems and distribution types for the Sun Java System Application Server 7 2004Q2 Update 1:

> Table 1 Supported Operating Systems and Distribution Types

> Platform | Operating System Version | Distribution Type | Application Server 7 2004Q2 Update 1 Edition
> --- | --- | --- | ---
> Solaris SPARC | Solaris 8 Update 7, Solaris 9 Update 6 | file-based and package-based1 | Standard and Enterprise Edition
> Solaris x86 | Solaris 9 Update 4 | file-based and package-based | Standard and Enterprise Edition
> Linux x862 | Red Hat Advanced Server 2.1 Update 3, Red Hat Advanced Server 3 | file-based and RPM-based | Standard and Enterprise Edition
> Microsoft Windows3 | Windows 2000: Server Service Pack 2 Windows 2000: Advanced Server Service Pack 2 Windows 2000: Professional Service Pack 2 Windows 2003 Windows XP: Professional | file-based | Standard and Enterprise Edition

> 1 Superuser privileges are required for installation of package-based and RPM-based distributions.
> 2 On Red Hat Advanced Server 2.1, HADB supports devices on ext2 file systems only.
> 3 On Windows XP Professional, only Standard Edition is available.

> ## System Requirements

> The following table summarizes the Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition requirements.

> Table 2 Platform Requirements for Sun Java System Application Server

> Operating System | Architecture | Minimum Memory | Recommended Memory | Minimum Disk Space | Recommended Disk Space
> --- | --- | --- | --- | --- | ---
> Sun Solaris 8 or 9 for SPARC | 32 and 64 bit4 | 256 MB | 1024 MB | 250 MB free | 500 MB free
> Solaris x86, Version 9 | 32 bit
> Red Hat Enterprise Linux 2.1, 3
> Windows 2000: Server Service Pack 2 Windows 2000: Advanced Server Service Pack 2 Windows 2000: Professional Service Pack 2 Windows 2003 Windows XP: Professional | x86 32 bit

> 4 32 and 64 bit here refers to the supported Solaris OS. Sun Java System Application Server is a 32 bit application.

> - On UNIX, you can check your operating system version using the uname command. Disk space can be checked using the df command.
> - On Solaris, ensure that the system-wide instance of perl under /usr/bin/perl is in the path. Installation will fail if the default perl installation is not found.

> ## JDBC Drivers and Databases

> The Sun Java System Application Server Standard and Enterprise Edition is designed to support connectivity to any DBMS with a corresponding JDBC driver. For a list of components that Sun has tested and found to be acceptable for constructing J2EE compatible database configurations, refer to the following table:

> Table 3 Supported JDBC Drivers

> JDBC Vendor | JDBC Driver Type | Supported Database Server
> --- | --- | ---
> PointBase 4.2 | Type 4 | PointBase Network Server 4.2
> JConnect 5.5 | Type 4 | Sybase ASE 12.5
> DataDirect 3.2 | Type 4 | MS SQL Server 2000 Service Pack 1
> DataDirect 3.2 | Type 4 (Thin) | Oracle 8.1.7
> DataDirect 3.2 | Type 4 (Thin) | Oracle 9.2.0.1
> Oracle 9.2.03 | Type 2 (OCI) | Oracle 9.2.0.3+ w/ RAC
> IBM | Type 2 | IBM DB2 8.1 Service Pack 3

> Additional drivers have been tested to meet the JDBC requirements of the J2EE 1.3 platform with the JDBC Driver Certification Program. These drivers can be used for JDBC connectivity with Sun Java System Application Server. While Sun offers no product support for these drivers, we will support the use of these drivers with the Sun Java System Application Server.

> ## Web Servers

> This section lists the web servers that are supported for the Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition.

> Table 4 Supported Web Servers

> WebServer | Version | Operating System
> --- | --- | ---
> Sun Java System Web Server | 6.0 Service Pack 6 | Solaris SPARC 8 and 9 Red Hat Enterprise Linux 2.1 x86 Windows 2000: Server Service Pack 2 Windows 2000: Advanced Server Service Pack 2 Windows 2000: Professional Service Pack 2 Windows 2003 Windows XP: Professional
> Sun Java System Web Server | 6.1 | Solaris SPARC 8 and 9, Solaris 9 x86, Red Hat Enterprise Linux 2.1 Windows 2000: Server Service Pack 2 Windows 2000: Advanced Server Service Pack 2 Windows 2000: Professional Service Pack 2 Windows 2003 Windows XP: Professional
> Apache Web Server | 1.3.29, 2.0.49 | Solaris SPARC 8 and 9, Solaris 9 x86, Red Hat Enterprise Linux 2.1, 3, Windows 2000: Server Service Pack 2 Windows 2000: Advanced Server Service Pack 2 Windows 2000: Professional Service Pack 2
> Microsoft IIS | 5.0 | Windows 2000: Server Service Pack 2 Windows 2000: Advanced Server Service Pack 2 Windows 2000: Professional Service Pack 2 Windows XP: Professional and Windows 2003 (Standard Edition of Application Server Only)

> ## Browsers

> This section lists the browsers that are supported with the Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition.

> Table 5 Browsers Supported

> Browser | Version
> --- | ---
> Netscape Navigator | 4.79, 6.2
> Internet Explorer | 5.5 Service Pack 2, 6.0

> ## Software Packages

> This section lists the associated software packages that are supported for Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition.

> Table 6 Version of Component for Bundling with Application Server

> Component | Version used in Application Server 7.0 Platform and Standard Edition | Version used in Application Server 7.0 Enterprise Edition | Version used in Application Server 7 2004Q2 Standard and Enterprise Edition | Version used in Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition
> --- | --- | --- | --- | ---
> J2SE | 1.4.0_02 | 1.4.1_03 | 1.4.2_04 | 1.4.2_05
> PointBase | 4.2 | n/a | 4.2 (Standard Edition Only) | 4.2 (Standard Edition Only)
> Sun Java System Message Queue Standard Edition | 3.0.1 | 3.0.1 | 3.5 Service Pack 1 | 3.5 Service Pack 1
> JWSDP | 1.0_01 | 1.0_01 | 1.0_01 | 1.0_015

> 5 Use the JWSDP 1.4 common components available in the product CD to upgrade your JWSDP installation.

> #

> Solaris Patches Required

> Solaris 8 users must install the Sun recommended patch cluster, available in the Recommended and Security Patches section at:

> http://sunsolve.sun.com/

> The required patches for Solaris 8 are 109326-06, 108827-26, and 110934 (any revision, for packaged-based installation only). Without these patches, which the installer checks for, you won’t be able to install or run the Sun Java System Application Server 7 2004Q2 Update 1 software. These patches are already contained in the latest recommended patch cluster.

> #

> Upgrade Options

> The Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition installer allows you to upgrade from a previous version of the Application Server to the current version. The various Application Server installations on all the supported platforms can be upgraded to their corresponding version on the same platform and installation type. The following table identifies the upgrade options available.

> Table 7 Upgrade Options Available

> Currently Installed Product | Can Be Upgraded to Sun Java System Application Server 7 2004Q2 Update 1:
> --- | ---
> Sun ONE Application Server 7.0 Platform Edition | Standard Edition Enterprise Edition
> Sun ONE Application Server 7.0 Standard Edition, Update 1, Update 2, and Update 3 | Standard Edition Enterprise Edition
> Sun ONE Application Server 7.0 Enterprise Edition | Enterprise Edition
> Sun Java System Application Server 7 2004Q2 Standard and Enterprise Edition | Standard Edition Enterprise Edition

> The following points should be kept in mind when upgrading the Application Server installation:

> - Under certain conditions, an upgrade operation from base installation (i.e., SunOne Application Server 7.0) to a newer version of Sun Java System Application Server 7 2004Q2 may result in an automatic product uninstall. See bug IDs 5052938 and 5052939 under "Known Problems and Limitations" .
> - Only package-based installations of Sun ONE Application Server 7.0, and the update releases, can be upgraded to the corresponding package-based installation of the Sun Java System Application Server.
> - For file-based installations, the installed product registry is used to gather information pertaining to the installed Application Server product.
> - The upgrade installation option is only available using the graphical-interface and command-line installation methods; upgrade using silent mode is not supported.
> - While upgrading from Application Server 7 2004Q2 UR1 Standard Edition to Application Server 7 2004Q2 Update 1Enterprise Edition, the upgrade might stop with the following message:

> Samples and Pointbase 4.2 should be installed at the same location where Application server is installed. Please go back and select the same installation directory.

> If you get this message, go to Windows registry and modify the value of the key, HKEY_LOCAL_MACHINE/SOFTWARE/Sun Microsystems/Application Server/7 2004Q2, from 2004Q2UR1 to 2004Q2SEUR1.

> After changing this registry key value repeat the upgrade process.

> - Before upgrading on Solaris and Linux platforms, make sure that the partition on which the Application Server is installed has enough free disk space, as mentioned in "System Requirements" .
> - To safeguard configurations of an existing installation, you must take a complete installation backup to be used as a reference should the upgrade encounter an error and fail.

> Use the following procedure to recover an installation if an error occurs during the upgrade process:

> - Perform a full uninstallation of Application Server.
> - Manually clean-up any configuration files that are not removed by the uninstall program.
> - Reinstall the product at the same location, redeploy and reconfigure the installation using the backed-up copy as a reference.
> - After upgrading an earlier version of Application Server Enterprise Edition, do not perform any HADB operations if there is an existing database under appserver_install_dir/SUNWhadb/4. The existing HADB configuration files might get deleted.

> To safeguard HADB configuration files, move all hadb.data* and hadb.nilog* files from appserver_install_dir/SUNWhadb/4.3-0.16 directory to appserver_install_dir/SUNWhadb/4.3-0.19 directory before performing any HADB operation.

> If your HADB database name is other than hadb, the files will be named as database_name.data* and database_name.nilog*.

> #

> Installing JWSDP 1.4 Common Components

> This section provides instructions on installing common components from JWSDP 1.4 on Solaris(TM), Linux, and Windows. You can also use these instructions to upgrade the JWSDP version you are currently using to JWSDP 1.4.

> - Available Packages
> - Installation Procedure
> - Post-Install Steps
> - Uninstallation Procedure
> - Post-Uninstall Steps

> Note | The installer / uninstaller is the same for all combination of appserver installations: Installing on Solaris as non-root user Installing on Solaris as root user Installing on Linux as root user Installing on Linux as non-root user Installing on Microsoft Windows as admin user Installing on Microsoft Windows as non-admin user

> ## Available Packages

> The following JAR files and tools for Web Services client-side development are included in the Addon package:

> - JAXB 1.0.3 - Java API for XML Binding.
> - JAXP 1.2.6 - Java API for XML Processing.
> - JAXR 1.0.6 - Java API for XML Registeries.
> - SAAJ 1.2.1 - SOAP with Attachments API for Java.
> - JAX-RPC 1.1.2 - Java API for XML-based RPC.

> ## Installation Procedure

> 1. Copy JWSDP files from AppServer7/package/jwsdpcc_addon directory on the CD to a directory on your machine, preferably, under <appserver_install_dir>/<addons_install>/.

> If you have downloaded the Application Server, untar the downloaded file and then perform Step 1

> 2. Change the directory to where the JAR files have been copied.

> Example: $ cd appserver_install_dir/addons_install/

> 3. Unjar JWSDPCC_AddOn.jar.

> Example: $ /usr/j2se/bin/jar -xvf JWSDPCC_AddOn.jar

> The JWSDP files will be unjared to JWSDPCC_AddOn directory, in the current directory.

> 4. Change the directory to appserver_install_dir/addons_install/JWSDPCC_AddOn
> 5. Execute JWSDPCC_AddOn.class

> Example: $ /usr/j2se/bin/java JWSDPCC_AddOn appserver_install_dir appserver_instance_dir/domains/domain1/server1 install

> Executing JWSDPCC_AddOn.class without any parameters will show the usage.

> The JWSDP bundle will be installed under appserver_install_dir/lib/share directory. Do not modify any files under this directory.

> 6. If you want to install this bundle on another instance, start from Step 5.

> Note | Upgrade to the latest major release of Sun Java System Application Server for full support of JWSDPCC.

> ## Post-Install Steps

> You must perform the following steps after installing the JWSDP 1.4 Common Components.

> 1. Reconfigure the server instance on which the JWSDPCC_AddOn bundle was installed.
> 2. Restart the appserver instance so that the Application Server’s class loader can load the new classes from the installed bundle.

> ## Uninstallation Procedure

> 1. Make sure the instance on which this bundle to be uninstalled is stopped.
> 2. If you have retained appserver_install_dir/addons_install/JWSDPCC_AddOn directory after installation, start from Step 6.
> 3. Copy JWSDP files from AppServer7/package/jwsdpcc_addon directory on the CD to a directory on your machine, preferably, under appserver_install_dir/addons_install/.

> If you have downloaded the Application Server, untar the downloaded file and then perform Step 3.

> 4. Change the directory to where the JAR files have been copied.

> Example: $ cd appserver_install_dir/addons_install/

> 5. Unjar JWSDPCC_AddOn.jar.

> Example: $ /usr/j2se/bin/jar -xvf JWSDPCC_AddOn.jar

> The JWSDP files will be unjared to JWSDPCC_AddOn directory, in the current directory.

> 6. Execute JWSDPCC_AddOn.class

> Example: $ /usr/j2se/bin/java JWSDPCC_AddOn appserver_install_dir appserver_instance_dir/domains/domain1/server1 remove

> Executing JWSDPCC_AddOn.class without any parameters will show the usage.

> This will uninstall the JWSDP 1.4 common components.

> ## Post-Uninstall Steps

> You must perform the following steps after uninstalling the JWSDP 1.4 Common Components.

> 1. Reconfigure the server instance from which the JWSDPCC_AddOn bundle was uninstalled.
> 2. Restart the Application Server instance.

> #

> Using Migration Tool

> If you have an existing J2EE application that runs on another vendor’s application server, you can use the Sun Java System Migration Tool to migrate the application and run it on the Sun Java System Application Server 7 2004Q2 Update 1 release. The migrated application will run on the Sun Java System Application Server 7 2004Q2 release without any modifications. However, to use the high availability features, change the DTD version of the sun-ejb-jar.xml deployment descriptors to point to sun-ejb-jar_2_0-1.dtd instead of sun-ejb-jar_2_0-0.dtd.

> #

> Sun ONE Studio 5 Standard Edition Update 1

> The Sun ONE Studio 5, Standard Edition product that you can use with the Sun Java System Application Server has its own documentation that can be found at the following location:

> http://docs.sun.com/db/prod/java.studio

> Other IDEs that you can use include, Sun Java Studio 5 Standard Edition Update 1, Sun Java Studio Enterprise 6 2004Q1 and other 3rd party IDEs, for example, Borland’s JBuilder X.

> #

> Other Requirements and Limitations

> The following additional requirements should be met before installing the Sun Java System Application Server software:

> - For All Platforms
> - For UNIX
> - For Microsoft Windows

> ## For All Platforms

> - Free space—Your temporary directory must have a minimum of 100 MB free.

> On UNIX, you can check your disk space using the df command.

> - Available ports—On all platforms, you must have four unused ports available.
> - You’ll assign one for the Admin Server and another for the HTTP server default instance during installation.
> - The installation program detects used ports and assign two others for you: Sun Java System Message Queue (by default, 7676), and IIOP (by default, 3700). If either of these default port numbers are in use, the installation program will assign the next available port (for example, 7677 or 7678, and so on).
> - Using the uninstall program—If you need to remove the Sun Java System Application Server from your system, it is important to use the uninstall program that is installed with the Sun Java System Application Server software. If you attempt to use another method, problems will arise when you try to reinstall the same version, or when you install a new version.
> - High-Availability Database (HADB)
> - HADB supports IPv4 only. IPv6 is not supported.

> ## For UNIX

> - Root privileges—For Solaris SPARC, and x86 package-based distributions, you must have root privileges on your target machine.

> When installing as root, note the following:

> - For file-based distributions—You can install more than one Sun Java System Application Server as root as long as each installation is in a different installation directory.
> - For all distributions—You can have multiple instances running within the same installation.
> - Hardened operating system—This is an operating system stripped of some features for the purpose of enhancing security. Such an operating system usually doesn't allow GUI-based applications to be run in the environment. The following two libraries are required to install and use Sun Java System Application Server 7 in a hardened operating environment:
> - libC.so.5
> - libCrun.so.1

> These libraries can be obtained by installing the SUNWlibC (Sun Workshop Compilers Bundled libC) package which is part of the Solaris distribution in the end-user package cluster (not in the core).

> - To make your system more secure, protect sensitive directories by executing chmod 700.
> - Starting previously-installed servers—If there are previously-installed application servers or web servers on the target machine, you must start them before you begin the Sun Java System Application Server installation process. This allows the installation program to detect ports that are in use and avoid assigning them for other uses.
> - High-Availability Database (HADB)
> - HADB supports only ext2 file system for Red Hat Linux AS 2.1, not ext3. Both ext2 and ext3 are supported for Red Hat Linux AS 3.0.
> - Due to the excessive swapping problem found in Red Hat Linux AS3.0, HADB experiences problems with stability and performance when co-located with Advanced Server 3.0. and is running under load.

> Therefore, HADB on RH3.0 is not recommended for production environments.

> ## For Microsoft Windows

> - Administrator privileges—You must have administrator privileges to install the Sun Java System Application Server software on Microsoft Windows.
> - SNMP—You must install the SNMP service before you install the Sun Java System Application Server software or installation of the SNMP subagent will fail.
> - Firewall or anti-virus shutdown—You must stop any firewall or anti-virus software before installing the Sun Java System Application Server software, since some of this software disables all ports by default. The Sun Java System Application Server installation program must be able to accurately determine which ports are available.
> - On a given Microsoft Windows machine, you can only install one Sun Java System Application Server.
> - High-Availability Database (HADB)
> - The network must be configured for UDP multicast.

> #

> Accessing the Documentation

> The Sun Java System Application Server documentation is provided in a number of ways:

> - Manuals—You can view Sun Java System Application Server manuals and release notes in HTML and in printable PDF downloads at:

> http://docs.sun.com/db/prod/sjs.asse

> - Online help—Click the Help button in the graphical interface to launch a context-sensitive help window.
> - Man pages—To view man pages at the command line, you must first add install_dir/man to your MANPATH environment variable (Solaris unbundled only). After setting the variable, you can access man pages for the Sun Java System Application Server commands by typing man command_name on the command line. For example:

> man asadmin

> #

> Sun Java System Application Server 7 2004Q2 Update 1 Documentation

> The Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition manuals are available as online files in Portable Document Format (PDF) and Hypertext Markup Language (HTML).

> The following table lists tasks and concepts described in the Sun Java System Application Server manuals. The following manuals have been updated for the Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition release. For a full list of all available manuals, see documentation on the Web.

> Table 8 Sun Java System Application Server Documentation

> For information about | See the following
> --- | ---
> Late-breaking information about the software and the documentation. Includes a comprehensive, table-based summary of supported hardware, operating system, JDK, and JDBC/RDBMS. | Release Notes
> Installing the Sun Java System Application Server Standard Edition and Enterprise Edition software and its components, such as sample applications, and the Administration interface. For the Enterprise Edition software, the instructions are provided for implementing the high-availability configuration. | Installation Guide
> Creating Application Client Container (ACC) clients that access J2EE applications on the Sun Java System Application Server. | Developer’s Guide to Clients
> Information and instructions on the configuration, management, and deployment of the Sun Java System Application Server subsystems and components, from both the Administration interface and the command-line interface. Topics include cluster management, the high-availability database, load balancing, and session persistence. A comprehensive Sun Java System Application Server glossary is included. | Administration Guide
> Messages that you may encounter while running Sun Java System Application Server. Includes a description of the likely cause and guidelines on how to address the condition that caused the message to be generated. | Error Message Reference
> Information on solving Sun Java System Application Server problems. | Troubleshooting Guide

> #

> Resolved Issues

> The following table lists the critical issues resolved in Sun Java System Application Server 7 2004 Update 1 Standard and Enterprise Edition release.

> Table 9 Resolved Issues

> Bug ID | Description
> --- | ---
> 2060927 | findByPrimaryKey returns broken bean for char primary key with Sybase.
> 2058376 | EJB compiler failed to generate valid Java code for inner classes.
> 2075012 | Application Server’s asadmin utility always requests a password for SSL startup.
> 2076810 | Application Server crashes during deployment of a WAR file.
> 2078410 | SNMP doesn’t work when the instance is stopped and started (restart).
> 2078969 | iwsInstanceDeathCount is not being updated.
> 2079436 | Admin Tool works improperly in Application Server 7.0 UR1 Japanese version.
> 2079785 | Deployment fails if remote interface for the bean is named Util.
> 2080612 | appservd.exe crashes when i18n application is accessed using passthrough plug-in with SSL enabled.
> 2081055 | There is a warning message when jdbc/simple sample application is deployed.
> 2081692 | Plugin truncates XML stream.
> 2084205 | ArrayIndexOutOfBoundsException if CMP pk class has non-persistent public fields.
> 2092977 | Application Server running behind SSL off loader needs to convert traffic from HTTP to HTTPs.
> 2102329 | CMP Mapping Error: field does not have valid lower bound reported from Application Server Studio plug-in.
> 4739569 | Virtual server with state of "off" or "disabled" should not be accessible.
> 4950512 | Unable to deploy J2EE application to Application Server running on Windows.
> 4953606 | Application Server passthrough plug-in splits POST request into two when working with Microsoft IIS.
> 4989269 | LDAP security realm authentication fails if / appears in the user DN.
> 4992519 | Only allow the user who installed the product to perform uninstallation.
> 4994363 | Security role mapping not updated properly.
> 5001994 | javax.servlet.http.HttpServletRequest.getRequestURI returns the decoded request.
> 5004406 | --passwordfile does not work with a mix of uppecase and lowercase characters.
> 5011751 | Unable to deploy CMP when EJBQL with finders using Long datatype input param.
> 5015561 | JCA leaks physical connections if getMetaData() throws ResourceException.
> 5015994 | Configuration changes to improve out-of-the-box performance.
> 5017695 | Cannot deploy .rar without authentication-mechanism.
> 5020224 | Request processing stops on badly-formed header.
> 5021054 | The EJB class loader does not adhere to EJB Spec when loading Java.
> 5025894 | Partial JCA 1.5 functionality requested.
> 5039545 | Web Container sends absolute redirects causing problems with external load balancers or proxies.
> 5048147 | Application Server with zh_CN locale has wrong encoded messages in server.log of server1 instance.
> 5052594 | CMR application with multiple keys cannot be deployed to Application Server 7.0x.
> 5056695 | Application Server’s Trust database is not populated with default root CA certificates.
> 5063854 | Able to access the last session’s information.
> 2082209 | DB2 Server has connection growing after idle time out with DB2 Type II driver.
> 2103829 | Corrupted transaction log files hang Application Server.
> 2105120 | Neither the CNCtxFactory or S1ASCtxFactory can be used to programmatically reconnect.
> 2105121 | Application Server does not reconnect to directory server if directory server goes down and comes up.
> 2120373 | Customer unable to use all documented methods to use a third party ORB within an Application Server container.
> 5063481 | Trace method cannot be disabled.
> 6066323 | clsetup not working on Windows.

> #

> Known Problems and Limitations

> This section describes known problems and associated workarounds for the Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition.

> Note | If a problem statement does not specify a particular platform, the problem applies to all platforms.

> This information is organized into the following sections:

> - Installation and Uninstallation
> - Server Startup and Shutdown
> - Server Startup and Shutdown
> - Database Driver
> - Logging
> - Web Container
> - Message Service and Message-Driven Beans
> - Java Transaction Service (JTS)
> - Application Deployment
> - Verifier
> - Load Balancer
> - High Availability
> - Server Administration
> - .Sample Applications
> - ORB/IIOP Listener
> - Internationalization
> - Documentation

> ## Installation and Uninstallation

> This section describes the known installation and uninstallation issues and associated solutions.

> ID | Summary
> --- | ---
> 6199912 | Unnecessary debug messages seen on Windows platform. The Sun Java System Application Server Enterprise Edition 7 2004Q2 Update 1 on Windows are debug binaries. Solution None
> 6199911 | Sun Java System Web Server on Windows fails to start after configuring the load balancer plug-in. The Sun Java System Application Server Enterprise Edition 7 2004Q2 Update 1 load balancer plug-in for Sun Java System Web Server on Windows contains a load balancer plug-in defect for the Sun Java System Web Server. This defects results in the Sun Java System Web Server’s failure to start. This defect does not impact the load balancer plug-in for other web servers such as Apache and Microsoft IIS, nor impact load balancer plug-in of Sun Java System Web Server on other platforms. A dynamic link library (passthrough.dll) workaround exists today for Sun Java System Application Server Enterprise Edition with Sun Java Web Server on Windows. Solution Contact Sun Technical Support to get the latest load balancer plug-in for Sun Java System Web Server on Windows. See "How to Report Problems and Provide Feedback" . New Enterprise Edition binaries to resolve this defect will be released in the immediate future.
> 6155236 | asadmin create-domain hangs and fails to create a domain on Red Hat Enterprise Linux AS 3.0 On Red Hat Enterprise Linux AS 3.0 you must install compat-libstdc++ (standard C++ libraries for backwards compatibility) before installing Sun Java System Application Server 7. Solution Install compat-libstdc++ before installing Sun Java System Application Server. These libraries are included on the Red Hat Enterprise Linux AS 3.0 product CD set.
> 4742038 | Application Server does not start if the install directory contains non alpha-numeric characters. Application Server startup fails if the install directory contains characters such as #, spaces, or any other non alpha-numeric characters. In this case, the server log files are not created. The Application Server install directory can contain only the following characters: alpha numerics, - (dash) or _ (underscore). This also applies to entering existing Java 2 SDK directory during installation. Solution During installation, specify a directory where names contain only alphanumeric, dash, or underscore characters.
> 4742828 | Silent installer does not check user permissions. Although interactive installers (GUI or command-line) check for appropriate user permissions (UNIX root user), this check is not done during silent installation. As a result, installation will fail later in the process because you will not have sufficient permissions to install packages. Solution Make sure that silent installation is being run as the appropriate user.
> 4746410 | On Solaris, when installing the Application Server in non-default locations, the package-based installer on does not check disk space in the correct locations. When installing the Application Server on Solaris (using the package-based installer) in a non-default location, the installation program does not check for disk space in the specified target directory. Instead, it checks for disk space only in the default directory location (/opt). Solution Before installation, verify that you have adequate disk space (85 MB) in /opt directory; even if you do not plan to install in /opt. In addition, make sure you have adequate disk space (85 MB) in the target directory.
> 4754824 | On Solaris, an error message is displayed while running installation from a CD. When a volume is inserted into the CD-ROM drive, Solaris volume management assigns it the next symbolic name. For example, if two CD-ROMs match the default regular expression, they are named cdrom0 and cdrom. Any that match the added regular expression would be named starting with cdrom2. This is documented on vold.conf man page. Every time you install the Application Server from the CD, the CD-ROM mount point appends a number after the label name. The first time the CD is mounted everything goes well. On subsequent mounts, the following error message occurs when the installer starts: IOException:java.io.FileNotFoundException: /cdrom/appserver7 (No such file or directory) while loading default flavormap.properties file URL:file:/cdrom/appserver7#4/AppServer7/pkg/jre/lib/flavormap.properties Solution Installer functionality is not affected in any way. However, the following workaround exists: Become the superuser by entering the command su and the root password at the command prompt, or log in as root. The command prompt changes to the pound sign (#). If the /cdrom directory does not already exist, enter the following command to create it: # mkdir /cdrom Mount the CD-ROM drive. Note: The vold process manages the CD-ROM device and performs the mounting. The CD-ROM might automatically mount onto the /cdrom/cdrom0 directory. If you are running File Manager, a separate File Manager window displays the contents of the CD-ROM. If the /cdrom/cdrom0 directory is empty because the CD-ROM was not mounted, or if File Manager did not open a window displaying the contents of the CD-ROM, verify that the vold daemon is running by entering: # ps -e | grep vold | grep -v grep If vold is running, the system displays the process identification number of vold. If the system does not display anything, kill the daemon by typing the following: # ps -ef | grep vold | grep -v grep Stop the vold process by entering: # kill -15 process_ID_number Mount the CDROM manually: # mount -F hsfs -r ro /dev/dsk/cxtyd0sz /cdrom/cdrom0 where x is the CD-ROM drive controller number, y is the CD-ROM drive SCSI ID number, and z is the slice of the partition on which the CD-ROM is located. You have now mounted the CD-ROM drive. Refer to “Installing and Setting Up CD One on Solaris” for procedures on installation.
> 4757687 | On Solaris, incremental installation of the Application Server component on the system, with previously installed Administration Client component, may result in an unusable installation. This issue affects Solaris package-based installation. If you install the Application Server on a system where a standalone Administration Client component has already been installed, and select a different installation directory from the one originally used for Administration Client installation, the resulting Application Server installation will be unusable even though the installation outcome is reported as successful. This is because the Administration Client Solaris packages will be detected as already installed on the system, and will not be installed as the part of the Application Server installation process. As a result, files critical for product functionality will be missing. Solution Uninstall the standalone Administration Client before attempting to install the Application Server on the same Solaris system. Alternatively, an incremental installation can be attempted; the same installation directory that was used for the Administration Client installation should be used for the subsequent Application Server installation.
> 4976715 | On Microsoft Windows, unwanted statements are present in installation log file. The Sun Java System Application Server 7 Standard Edition on Microsoft Windows platforms installation process generates the detailed installation log under the directory defined by the environment variable %TEMP%. The log filename is Sun_Java_System_Application_Server_install.b<timestamp>. The log file will have statements “Continuing Multi CD installation” embedded in them along with useful information about the installation process. Solution These messages in the log file can be safely ignored.
> 5006942 | On Windows, the services created have the start type set by default to “Automatic” after an upgrade. Solution 1. Open the Windows services. 2. Change the start type of the servers to “Manual.”
> 5018162 | Two Message Queue packages are installed on Linux if you are doing a full installation and if a qualified Message Queue is already installed. Solution Due to a bug in the Linux RPM utility in 4.2.1.xx, the installed Sun ONE Message Queue (identified as imq) RPM is not recognized. Because of this problem, the Application Server installer will install a second version of the Sun ONE Message Queue RPM. To work around this, either install the 4.2.0.69 version of RPM on your system or uninstall Message Queue before installing the application server. Typically 4.2.1.xx version of rpm is present in Red Hat Enterprise Linux Advanced Server 3.0 unless the rpm package was upgraded on prior versions of the Linux system.
> 5027250 | Silent installation fails for non-root user. When the statefile from an installation of Application Server, performed as non-root, is used for silent install, the installation will fail with the message: No available components have been selected for installation. Component list is either empty, or contains already installed components. Solution 3. Open the statefile for editing. 4. Comment out the line starting with "INSTALLED_AS_COMPONENTS." 5. Perform silent install again, using the modified statefile.
> 5052938, 5052939 | Error condition during Application server 7 upgrade operation may result in an unexpected uninstall and deletion of product and data files from existing base installation. Under certain conditions, performing an upgrade operation from base installation (i.e., SunOne Application Server 7.0) to newer version of Sun Java System Application Server 7 2004Q2 may result in an automatic product uninstall which has the effect of removing the entire product directory from the system. To recover from this error, you must perform a fresh product installation and reconfigure the installation back to its original setup. Both file and package based installation can be affected by this issue. Application Server 7 uses InstallSDK framework to build the installer. The current upgrade installer does not utilize transactional upgrade, meaning that it will not make any distinction between the first time installation of the component and installation over an existing component. As the result, if upgrade installation fails or is stopped, it will revert into uninstall sequence which will uninstall product files. This is automatic behavior of InstallSDK framework. The upgrade installer does not create backup copies of files which are being upgraded in order to be able to revert back to the original state in the case of failed upgrade. Solution DO NOT use the upgrade feature of Application Server 7 2004Q2. Instead perform a manual migration as follows: 1. Stop all user applications. 2. Backup the existing system and configuration. 3. Uninstall the existing application server installation (ie. Sun ONE Application Server 7.0). 4. Install the new product version (i.e., Sun Java System Application Server 7 2004Q2). 5. Reconfigure and restore the needed files back to the desired setup. 6. Redeploy all user applications. If an upgrade is necessary, perform the following steps before initiating an upgrade: 1. Stop all user applications. 2. Perform a full system backup or application server system backup. 3. Stop or limit other processes while the upgrade is in progress. 4. if the upgrade fails, restore the files from the backup. 5. Redeploy user applications.

> ## Server Startup and Shutdown

> This section describes the known startup and shutdown issues and the associated solutions.

> ID | Summary
> --- | ---
> 4693581 | During Application Server startup, iMQ broker fails with IOException: Not Enough Space This error appears when Application Server and the IMQ broker is started simultaneously. The appservd process tries to fork a new process to start the iMQ broker, and fails if there is not enough swap space. Solution Start the IMQ broker process before starting Application Server. For example: appserver_install_dir/imq/bin/imqbrokerd -name <appserver_instance_name> -port <jms-service port> -silent
> 4762420 | Firewall rules may cause Application Server startup failures. If you have a personal firewall installed, you may experience this problem. The presence of strict firewall rules on the same machine as a Application Server installation may cause startup failures of the Admin Server and App Server instances. Specifically, the Admin Server and App Server instances attempt to establish local connections within the Application Server environment. Since these connection attempts access ports using the host name of the system rather than localhost, local firewall rules may block such attempts. The local firewall may also inadvertently generate alerts saying that either the “Portal of Doom Trojan” attack (for example, TCP connection attempts on port 3700) or similar attacks have occurred when, in fact, such access attempts have been made by the Application Server and are in no way a security threat to your machine. Under some conditions, the port number which the Application Server uses for various local communications may overlap with port numbers used in known popular attacks. Some symptoms of this problem: The administrative and server instance log files contain connection exceptions followed by this message: CORE3186: Failed to set configuration Solution Modify the firewall policy to allow the Application Server to make connection attempts to ports on the local system. To avoid inaccurate alerts concerning possible attacks, either modify the relevant rules or change the conflicting port number(s) used by the Application Server. To determine the port numbers used by the Admin Server and App Server instances, see the server.xml file in the following location of your Application Server installation: domain_config_dir/domain1/admin-server/config/server.xml domain_config_dir/domain1/server1/config/server.xml where domain_config_dir is the location of your initial server configuration. For example: Solaris 9 integrated install: /var/appserver/domains/... Solaris 8, 9 unbundled install: /var/opt/SUNWappserver7/domains/... Look for the port settings in the <iiop-listener> and <jms-service> elements. You can either change these port numbers to other unused port numbers, or you can modify your firewall policy to allow connection attempts from clients on the local machine to these port numbers on the same machine.
> 5003245 | Server listens on two ports after reconfiguring ports and restarting Solution After changing the port numbers, stop and then start the server using asadmin commands, asadmin stop-instance and asadmin start-instance, respectively.

> ## Database Driver

> This section describes the known database driver issues and associated solutions.

> ID | Summary
> --- | ---
> 2082209/5022904 | DB2 Server has connection growing after idle time-out with DB2 Type II driver Solution Set the SteadyPoolSize and MaxPoolSize to the same number, and in addition, set the Idle Connection timeout also to 0 (zero). This will disable the timing-out of idle connections and the user will have the full set of connections available.
> 4700531 | On Solaris, an ORACLE JDBC driver error occurs. This affects the new JDBC driver for Oracle (R) when working with JDK1.4. The problem is caused by a combination of the Oracle 9.0.1 database and ojdbc14.jar. Applying the patch will fix the problem on Solaris 32-bit machine, running an Oracle 9.0.1.3 database. Solution Obtain and apply the patch to your server from the Oracle Web site for Bug 2199718. Perform the following steps: 1. Go to the Oracle Web site. 2. Click the 'patches' button. 3. Type 2199718 in the patch number field. 4. Click the 32-bit Solaris OS patch.Go to Metalink.oracle.com. 5. Click patches. 6. Under patch number, enter 2199718. 7. Click the 32 bit Solaris OS patch.
> 4991065 | Oracle JDBC drivers must be configured properly to be compliant with J2EE 1.3. Solution Use the following configuration for Type 2 and Type 4 drivers: 1. Use the JDBC from 9.2.0.3 or later. 2. The Oracle database needs to have compatible=9.0.0.0.0 or higher in its parameter (init.ora) file. 3. Use the ojdbc14.jar file. 4. Configure the Application Server to define the following JVM property: -Doracle.jdbc.J2EE13Compliant=true In addition, for Type-2 drivers both the ORACLE_HOME and LD_LIBRARY_PATH (which must include $ORACLE_HOME/lib) need to be defined in the environment that the Application Server is started in. For example, add them to the asenv.conf file and ensure they are exported.

> ## Logging

> ID | Summary
> --- | ---
> 5014017 | The Appclient logging services don’t work properly Default value for file attribute will NOT work. Solution 1. Create a logs directory. 2. Specify the complete path to the newly created logs directory in the sun-acc.xml file. In case of logging to console, the log level is always’ INFO’ irrespective of the log level setting (FINE,FINEST...etc) The Administration Guide to Clients states that logs will be present in the acc_dir/logs/client.log, however you must create the “logs” directory and then specify the full path to this dir in the sun-acc.xml to make it work.

> ## Web Container

> This section describes the known web container issues and associated solutions.

> ID | Summary
> --- | ---
> 5089201/5001994 | getRequestURI() returns unencoded values when it should not. The fix for this issue will break clients of older NSAPI, such as Portal Server 6.3, which call getRequestURI() and expect the URI to be automatically decoded when the data is returned. Therefore, to maintain backward compatibility for older NSAPI clients, a new JVM option has been added to revert to the old NSAPI behavior and allow Portal Server to function correctly. Solution Enable the JVM option, -DJ2EEDecodeURI, on computers running Portal Server to allow cookie-less mode (and all other functionality) on the getRequestURI() call.
> 4951476 | j avax.ejb.EJBException: org/dom4j/Element error is thrown with JWSDP 1.2(1.3) installed. Solution Add dom4j-full.jar to server-classpath in server.xml file. It can be downloaded from http://dom4j.org and should precede appserv-jstl.jar entry in server-classpath.
> 4997770 | HTTP 404 error message still indicating "Sun ONE Application Server" Read "Sun ONE Application Server" as Sun Java System Application Server.

> ## Message Service and Message-Driven Beans

> This section describes the known Java Message Service (JMS), Sun Java System Application Server Standard and Enterprise Edition, and message-driven beans issues, and the associated solutions.

> ID | Summary
> --- | ---
> 4683029 | The -javahome flag in all MQ Solaris scripts does not work if the value has a space. The command-line utilities in Sun ONE Message Queue have a -javahome option that allows you to specify an alternate Java runtime. Using this option exposes a limitation where the path of the specified alternate Java runtime must not contain spaces. Examples of paths that have spaces are: /work/java 1.4 This problem occurs at Application Server instance startup. When a Sun ONE Application Server instance is started, by default its corresponding Sun ONE Message Queue broker instance is also started. The broker always starts using the -javahome command-line option to ensure that it uses the same Java runtime used by the Application Server. If the Java runtime that is configured for use by the Application Server (and therefore passed on for use by the broker) is located at a path that contains spaces, broker startup fails, which also causes the Application Server instance startup to fail. Solution Make sure that the Java runtime used by the Application Server is located at a path that does not contain spaces.

> ## Java Transaction Service (JTS)

> This section describes the known Java Transaction Service (JTS) issues and the associated solutions.

> ### Recovery

> There are some known problems with the recovery implementations of some of the JDBC drivers. For these known problems, Sun Java System Application Server provided some workarounds. By default, these workarounds will not be used unless you explicitly indicate that these workarounds are to be used.

> - Issue with the Oracle (R) JDBC driver—Oracle XA Resource implementation's recover method repeatedly returns the same set of in-doubt Xids regardless of the input flag. According to the XA specs, the Transaction Manager should initially call XAResource.recover with TMSTARTSCAN and then call XAResource.recover with TMNOFLAGS repeatedly until no Xids are returned.

> Oracle XA Resource's commit method also has some problems, which are addressed in a workaround provided by the Application Server. To enable this workaround, the following property should be added to the transaction-service subelement in the server.xml file: oracle-xa-recovery-workaround

> This property value should be set to true.

> - Issue with Sybase JConnect 5.2—There are some known problems with JConnect 5.2 driver which are resolved in JConnect 5.5. If the JConnect 5.2 driver is used, to make recovery to work, the following property should be added to the transaction-service subelement in the server.xml file:

> sybase-xa-recovery-workaround

> This property value should be sent to true.

> ### Transactions

> In the server.xml file, res-type is used to demarcate the connection as non-XA or XA. This demarcation is used to identify the configuration of the data source to drive data. For example, in the Datadirect driver, the same data source can be used as either XA or non-XA.

> The default behavior of the data source is non-XA. To make the data source behave as XA with the connpool element for transactions, res-type is needed. For the connpool element to work and participate in transactions, add the following for the attributes res-type in the server.xml file:

> res-type="javax.sql.XADataSource"

> ## Application Deployment

> This section describes the known application deployment issues and associated solutions.

> ID | Summary
> --- | ---
> 4725147 | Cannot choose a particular virtual server for deployment. In this case, two virtual servers are configured with exactly the same host and listener. If an application is deployed only for second virtual server, it cannot be reached because combination host:port leads to the first virtual server. Solution The virtual server hostname should not be the same as the original hostname, especially when the same HTTP listener is used.
> 4994366 | Deploy error with ejb-local-ref and ejb-link. Solution Ejb-local-ref requires ejb-link, when dealing with ejb-local-ref, you must specify an ejb-link value.

> ## Verifier

> This section describes the known verifier issues and associated solutions.

> ID | Summary
> --- | ---
> 4742545 | Standalone verifier shows EJB Class Not Found errors. The verifier indicates some failed tests with the following test description message: EJB Class Not Found. The test failures occur when an EJB JAR file uses an enterprise bean with a reference to another enterprise bean that is packaged in a separate EJB JAR file within the same EAR application. The failure messages are also observed if you try to validate the connector (RAR) dependent EAR files. This is because the RAR bundle need not be packaged within the EAR file that houses the enterprise bean with dependency on the RAR bundled files. The failures (exception to this are the connector-related failures) are only observed with the standalone verifier. The verifier invoked through the deployment command or the Administration interface does not show the failures. Solution Make sure that the packaging of the application EAR is correct and if you are using any utility JAR file, it is packaged within the EAR file. To resolve the referencing errors, you can shift to the verifier invoked through the deployment backend using asadmin or the Administration interface. For the connector-related failures, place the JAR file containing the required classes into the class path for the verifier. You can open the install_root/bin/verifier[.bat] file and add a LOCAL_CLASSPATH variable to the end of the JVM_CLASSPATH variable. Locally add the classes to the LOCAL_CLASSPATH variable, then run the verifier.

> ## Load Balancer

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

> ID | Summary
> --- | ---
> 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.
> 6067196 | The Apache load balancer plug-in on windows requires setting NSPR_NATIVE_THREADS_ONLY=1 before starting Apache If you are running Apache on Windows, set the environment variable NSPR_NATIVE_THREADS_ONLY=1, before starting Apache web server. Solution Go to Start->Settings->Control Panel->System->Advanced->Environment Variables->System Variables->New, and enter the following name and value pair- name: NSPR_NATIVE_THREADS_ONLY value: 1
> 2117636 | Loadbalancer plugin does not detect an Appserver hang Solution None
> 2114278 | Load balancer plugin crashes with URL encoded URLs (especially those representing printf’s escap) Solution None
> 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: 1. Add the line: KeepAliveTimeout 0 in init.conf of appserver 2. Launch the asadmin reconfig command. 3. 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 nd 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

> ## High Availability

> This section describes the known high availability issues and associated solutions.

> ID | Summary
> --- | ---
> None | Unable to create HADB if there is a firewall or ipfilter between two HADB nodes. if there is a firewall or ipfilter that blocks UDP traffic, you will not be able to start HADB and that this might be one possible reason for not being able to start the HADB server. Solution Disable firewall or host based ipfilter between HADB nodes.
> 5097447 | Garbage collection in logstore does not work. Scenario A database with high load and/or long-lived transactions, will run out of resources in log buffer (also called tuple log) or data devices. This situation can be identified by the following error message in the history file: HADB-E-04593: No unreserved blocks on data devices or the warning HIGH LOAD: about to run out of tuple log space. Description Log buffer, which is allocated in shared memory, holds the log records of user transactions. When it is compressed, all log records belonging to active transactions are moved to logstore. The logstore resides on the node’s data device (a disk file), together with user data. logstore is compressed when a transaction terminates. Solution Since the compression of log store does not work, a possible workaround is to allocate a larger log buffer so that logstore is never needed. When increasing the logBufferSize remember to increase the deviceSize as well, since a node’s devices reserve four times the logBufferSize for logstore. Restarting a node having HIGH LOAD problems on log buffer/device space will also clear the log store.
> None | Shared Memory Segment Key already in Use. (On Windopws only) The history file contains the following entry: Shared Memory Segment Key already in Use This can happen on HADB instance creation, following a controlled stop with no subsequent delete. The user attempts to "recreate" the HADB instance using the same HADB portbase as the first HADB instance. This problem may also be the result of a failed HADB instance delete. Solution You should delete HADB instances to make sure all HADB resources are throughly removed before attempting to reuse any HADB resources. If the problem still persists, you must manually remove the HADB shared memory segments by deleting the HADB files: $TMP/f_*
> 5096062 | Cannot stop ma.exe with ctrl-C. (Windows only) Scenario The management agent ma.exe is running. The user issues the command, ctrl-C, to stop it and receives, ma: Internal error: Could not locate Java shutdown method java.lang.NoSuchMethodError: shutdown. This is a problem seen only on Windows platform. Solution Use the Windows’ Task Manager to end the task ma.exe or close the window where ma.exe was executed.
> 6156842 | Unable to create HADB database on a remote host using hadbm admin console (Windows only) Scenario The hadbm admin client is installed on a different host to where the database will be created. Using this client, try to create HADB database on another host. Solution set HADBM_AGENT=remote host:remote port
> 6064932 | asadmin configure-ha-cluster shows NullPointerException from HADB. (Windows only) Scenario On Windows platforms, the HADB Management Agent log and/or the Application Server log will contain HADB exceptions. Description When asadmin configure-ha-cluster command is run on hosts that are using an IPv6 interface the HADB management agent fails and will throw exceptions. HADB does not handle IPv6 and does not filter out the IPv6 interface before further processing. Solution HADB supports IPv4 addresses only. Do not use IPv6 addresses.
> 6155745 | HADB may show unexpected behavior. (Windows only) Scenario The unexpected behavior could be node restarts, network partitions or reconnects. Description When a host is running two nodes that belong to two different management domains with the same port numbers, messages from one domain may be delivered to nodes from another domain causing confusion and unexpected behavior. Solution Avoid separate management domains, with nodes using the same port numbers, sharing the same host.
> 5091349 | Heterogeneous install paths are not supported. It’s not possible to register the same software package with the same name at different locations on different hosts. Solution HADB does not support heterogeneous paths across nodes in a database cluster. Ensure that the HADB server installation directory and configuration directory are same across all participating hosts.
> 5042351 | :New tables created after new nodes are added will not be distributed on the added nodes. Scenario User creates a database instance, add nodes to it, and later creates new tables. These new tables will not be fragmented on the nodes added after database creation. Tables created before hadbm addnodes is run will be able to use the added nodes only when hadbm addnodes refragments it. Solution Run hadbm refragment after new tables have been added.
> 5055449 | Commands, hadbm addnodes and hadbm create should fail when the network is down. (Windows only) Scenario The hadbm client does not prohibit a user from specifying network interfaces for networks that are down (unlike in HADB 4.3), when creating or adding nodes to a database. If the database has been configured with multiple network interfaces for each node and some interfaces are down when an hadbm command is issued, the command may either succeed or fail with a timeout. Solution Ensure that both networks are up before running hadbm create or addnodes.
> 5063175 | hadbm create should give error when using a host with both single and multiple nets. (Windows only) Scenario Some hosts in the host list given to hadbm create or hadbm addnodes commands have multiple network interfaces, while others have only one. When the user issues hadbm create or hadbm addnodes command, the command hangs. Solution If hosts have multiple network interfaces, specify the dotted IP address of the network interface (for example, 129.241.111.23) to be used by HADB when issuing hadbm create or hadbm addnodes commands. If the hostname is used instead of IP address, the first interface registered on the host will be used, and there is no guarantee that the nodes will be able to communicate.
> 5063393 | Inconsistent behavior when two management agents run on the same machine. (Windows only) Scenario More than one management agents are running on a single host. The agents use the same directories for database and agent repository data. Description When same directories are used by different management agents for repository, they overwrite each other’s data. When the corrupted data is used in management commands, inconsistent behavior will be observed. Similarly, data stored in the database will be corrupted when two nodes use the same data device paths. Solution For each management agent, use different values for all port-number and path attributes in the agent configuration files.
> 5064303 | hadbm create may stop responding indefinitely. (Windows only) Scenario When run in a double network configuration, hadbm clear or hadbm create may hang indefinitely if the primary network is down (or goes down during the operation). Solution Stop the database and retry hadbm clear or hadbm create.
> 5068879 | Deprecated IP interfaces used in HADB configuration file. (Windows only) Scenario When creating an HADB server on a machine containing deprecated IP interfaces, and hostnames are used in the host specification, the HADB server may inadvertently be configured to use the deprecated IP interfaces for communication. Solution Specify the host list using dotted IP addresses (for example, 129.241.111.23) when creating the HADB server.
> 5074305 | hadbm disablehost may propagate the wrong exception to the client. Scenario When the user runs hadbm disablehost, the user may get the error message: user@atum05:~/<2>clustra/javasrc> hadbm disablehost europa12 hadbm:Error 22013: The command failed because an exception was reported from the management system: [HADB-E-21048: Lost connection to MA] Description The user will get this error message if the disablehost command arrives at the same time when the management agent detects that another agent is down. Solution Re-try the command, hadbm disablehost.
> 5079029 | Unregistering a package on a single host may fail. (Windows only) Scenario Unregistering a package on a single host may fail with the error: the software package is in use by a database instance and can not be removed even if there are no databases or nodes on that host. Description This error will, in turn, prevent domain downscaling as the command, hadbm reducedomain hostX, will fail when a database exists, and is using package that is registered on hostX. The error message will be: The host cannot be removed because it is in use by a database. Solution 1. Upgrade databases to a new package which does not exist on the host to be removed from the domain, or 2. Delete all databases before running reducedomain.
> 5098361 | hadbm create fails with error HADB-S-00240: Illegal node number. When hadbm create is performed, the following error message is shown: The command failed : Node-<x> NSUP <timestamp> HADB-S-00240: Illegal node number The likely cause is that another process is occupying the port that the NSUP process on node x is trying to open. Solution Find the host where the node number x is running. Check whether an old HADB node or some other process is suing this port on this host. Stop that process and rerun the hadbm create command.
> 5095532 | hadbm unregisterpackage fails after package had been used by a database. Scenario HADB software upgrade, using hadbm set package=newpackage Description hadbm unregisterpackage oldpackage will fail if run immediately after a software upgrade using the command, hadbm set package=oldpackage, even if no databases use the oldpackage. Solution Run another operation, for example, set ConnectionTrace=previous value, between hadbm set and hadbm unregisterpackage.
> 5089842 | hadbm deviceinfo and hadbm resourceinfo displays wrong node numbers. Scenario Querying resource usage in databases with spares, and later the added active nodes. Description hadbm deviceinfo and hadbm resourceinfo commands would not display correct nodenumbers in the NodeNo column when there exists a spare node with nodenumber less than the nodenumber of an active node. Solution Ignore node numbering, the listed nodes are the active nodes.
> 5095020 | hadbm refragment does not accept -m agent flag The hadbm refragment and hadbm restartnode commands do not accept the --agent (short -m) option. Solution Set the environment variable HADBM_AGENT to the relevant agent URL.
> 5097489 | hadbm incorrectly reports ’database already running’ Scenario Running hadbm start immediately after starting or restarting a management agent. Description The command may incorrectly respond with database is already running. Solution Wait a few seconds, and retry the command.
> 5100800 | hadbm create may fail with port-in-use or process-already-running This behavior seen only on Solaris 10 and RedHat AS 3.0. Description hadbm create may fail during node-startup with following messages: HADB-S-00512: Process is already running HADB-S-05531: Operation on socket for port "33144" failed, OS status=98 message: Address already in use Both messages indicate that one or more of the ports needed by HADB were initially available, and have become unavailable during the device initialization part of operation. Solution Wait up to one minute and retry hadbm create.
> 5085354 | Management agents with different configurations may cause randomness in database creation Scenario Running hadbm create with hosts that have agents with heterogeneous configurations - typically different settings for the default devicepath and historypath. Description hadbm create will use defaults for the properties that are not sepcified on the command line. These defaults are retreived from the agent that hadbm connects to, even if agents have different settings for the default values. hadbm connects to a random agent within the agent URL (specified with --agent/-m/HADBM_AGENT), and therefore two hadbm create invocations may use different defaults. The command will fail if the paths do not exist on all hosts. Solution Specify all paths explicitly if creating databases with heterogeneous path usage (devicepath and historypath).
> 5085432 | hadbm delete may falsely report lost connection hadbm delete might report Lost Connection to management agent because of internal errors not handled correctly. In most cases the operation will have finished successfully. Solution Connect to an agent that hosts database nodes. If the Lost Connection error/exception is seen, run hadbm status databasename to check if the database has been deleted. If it still exists, retry hadbm delete.
> 5091280 | hadbm set does not check resource availability (disk and memory space) Scenario Increasing device or buffer sizes using hadbm set. Description The management system will check resource availability when creating databases or adding nodes, but it will not check if there are sufficient resources available when device or main-memory buffer sizes are changed. Solution Check that there is enough free disk/memory space on all hosts before increasing any of the devicesize or buffersize configuration attributes.
> 5083624 | When creating a database without initializing devices (and starting the database) using the command, hadbm create --noclear ..., the first set-command that changes a device-path will lead to initialization of all devices, even though the command only applies to a single node or device. (Windows only) Solution None
> 5084173 | The command, hadbm get node-N.nilogdevice.devicepath, lists all devices on a node, not just the specified device. (Windows only) Solution Ignore the superfluous information.
> 4993553 | The command, hadbm stop, may fail on rare occasions. Scenario The transaction server process (clu_trans_srv) from a node may still be running. Solution If this happens, the process must be stopped manually (for example, kill on unix, and similar commands on other platforms). Since the trans_srv process is responsible for storing data, killing it prematurely may leave the database in an inconsistent state. In this case, clear the database instead of starting or restarting (clear erases all data from the database and starts it).
> 5055596 | Stopping a database might not complete. Scenario This, and similar problems might appear if an HADB node must contend for resources, either with other HADB nodes, or other resource-intensive processes. Solution An HADB node needs a dedicated process, a dedicated disk for its devices, and there must be enough physical memory to allow the HADB processes to run continuously. HADB processes must NEVER be swapped to disk.
> 5062009 | After a node is restarted at the repair level, the repair of the node never completes. Solution Restart the node manually at the repair start level.
> 5065375 | An HADB system with spare nodes fails to start. This might occur because one or more of the spare nodes have failed to get OFFLINE service. Verify the service set in the history files for all spare nodes. Solution Stop the database and then start it again.
> 5070436 | A blocked node does not restart. Scenario After the node supervisor process has detected that it has been blocked for longer than 2.5 seconds due to lack of system resources, the node should be restarted by the node manager. This might not be done always. Solution Ensure that the machine running the HADB node has enough resources, both CPU and memory, to avoid the situation where a node gets blocked.
> 4861070 | When a user is dropped, all privileges granted by anybody but the system user are not revoked, leaving the user’s grant information stored in the SQL data dictionary. Solution None
> 4873145 | Row is too large error is displayed. Description When referring to tables containing tuples with var-char/binary columns in a subquery, these columns will temporarily be expanded to their maximum possible size as a part of the subquery evaluation. If this size exceeds the maximum allowed rowsize defined in HADB, a Row is too large exception will be thrown. This error will be produced even if the actual contents of the row is below the maximum allowed rowsize. Solution Reduce maximum size of varchar/varbinary columns such that when expanded to maximum size, the total row size does not exceed 8080 bytes.
> 4964923 | Sometimes, the SQL server, SQLSHM server or RELALG server process core dumps with a segmentation fault inside a mutex routine. (Linux only). Solution The client will get a connection lost error and can safely reconnect to the database server.
> 5068974 | A popup window with the text clu_sql_srv.exe: The application failed to initialize properly (0xc00000142) is displayed on the Windows desktop. The same message is registered in the event log. Scenario In the HADB server log, you may see a warning message such as Server time out waiting for sub-process, waited for 10 seconds. This problem may occur when HADB creates more than 60-80 SQL server processes. This issue might also occur if you have configured too many JDBC connections in HA Store, or transiently after an Application Server instance has failed and then restarted. Solution 1. Reduce the number of JDBC connections that can be created against the database, or 2. Update the Windows registry according to the procedure given at: http://support.microsoft.com/default.aspx?scid=kb;[LN];184802 (Cause 2).
> 4847716 | Use of execute/executeUpdate to set commit mode causes unwanted behavior. Solution Use the standard JDBC option, setAutocommit().
> 4861326 | Statement pool does not recognize the command, CREATE SCHEMA, as an implicit SET SCHEMA. Solution Execute SET SCHEMA x after CREATE SCHEMA x.
> 5033645 | Interrupting a thread during a JDBC operation, that is sending a request to the server, may lead to the JDBC driver’s UDP socket closing and losing all connections to the HADB server. Solution Restart the application. Avoid using thread.interrupt().
> 5064502 | During network problems between the JDBC driver and HADB, the JVM where the JDBC driver is running may run out of memory. Solution Solve the network problems.
> 5084132 | Semaphore routines are not thread-safe. Scenario All connections to an HADB node may hang. Solution Restart the HADB node.
> 4831332 | hadbm create does not work when the user becomes superuser using su command. When using the command, su, to become root, HADBM may report access problems on specific paths. HADBM needs the environment information for user root. Solution Use su - to change to root user.
> 4843422 | HADB connection pool is lost and then the server runs out of connections. Deploying several applications could exhaust the maximum number of connections to the HADB, causing applications to fail. Solution After deploying your applications, restart the HADB server.
> 4846432, 4846691, 4972881 | hadbm administration clients do not display correct database status. An HADB instance created from one management client machine cannot be accessed from another machine used as the management client. For example, if machine 1 was used for hadbm create hadb-database, then other hadbm commands, such as hadbm status hadb-database, will not work from machine 2. They will complain that the database does not exist. Solution Alternative 1: Use the same client machine that was used to create the database. Alternative 2: If you have to use another client machine, you must let the new client machine know about this HADB instance first. Perform the following steps to enable the new client machine to know about the HADB instance: 1. Install HADB administration client on Machine 2 (if it is not already installed). 2. Create a path equal to the configpath in Machine 2 (if it does not already exist). 3. Copy the .cfg and .def files found in the configpath directory from one of the server machines (or from Machine 1) to this directory. 4. Add an entry in the .cladmrc file to make hadbm know the configuration path. To find the configuration files: hadbm searches in .cladmrc file for an entry containing the configuration filepath to the specified database. The .cladmrc file should reside on the home directory you want to run the hadbm. The database entry on the .cladmrc file should have the following format: databasename:configpath: howtoaccess Example 1: hadb:/home/hadb/config:NFSMNT Example 2: hadb1:/dsk0/dbdef:machine2 In the first example, the configuration path is accessible via NFS; while in the second example, it can only be accessible locally on the host machine named “machine2”. Choose the NFS or local file system you want.
> 4855623 | When one of the nodes’ host is down, hadbm stop command does not exit. The hadbm stop command may not be able to shutdown a database completely if HADB nodes do not receive shutdown messages due to network problems. The typical symptom is that hadbm takes more than 60 seconds to complete. In this situation, hadbm stop/delete will not work. You must specify the nodes that needs to be shutdown. Solution 1. Use “hadbm status --nodes” to determine which nodes are still alive. 2. Run “hadbm stopnode -f node_number” for each of the partially running nodes.
> 4861337 | If an active data node fails while executing hadm stopdb, hadm startdb will fail. hadbm status should return non-operational if the database is unable to start. Solution To correct the problem: 1. Run hadbm clear --fast If this command reports failures of type, address in use, for each machine in the system, login and kill all processes starting with clu_. 2. Rerun the command, hadbm clear --fast. This will restart the database, causing the loss of all data. 3. Recreate the session-store. For details on creating the session-store, see Sun Java System Application Server Administration Guide.
> 4958827 | Child process transaction does not respond. When a host machine accommodates more than one HADB node and all nodes use the same disk for placing their devices, it is observed that the disk I/O becomes the bottleneck. HADB process have been waiting for asynchronous I/O and therefore did not answer the node supervisor’s heartbeat check. This causes the processes to be restarted by the node supervisor. Although this problem can occur on any operating system, it is observed on Red Hat Linux AS 2.1 and 3. Solution Use separate disks to place the devices belonging to different HADB nodes residing on the same machine.
> 5042351 | If you create a database instance and add nodes to it, any new tables created afterwards will not be fragmented on the nodes added after database creation. Only tables created before running hadbm addnodes will be able to use the new nodes when hadbm addnodes refragments it. Solution Do not add nodes after creation of a database before the user data is placed on it. If you want more nodes at the very beginning, create the database with all nodes you need. If you want to add nodes, wait until the user data is created. Otherwise, the added nodes will not be used to store data.
> None | HADB Configuration with Double Networks HADB, configured with double networks on two subnets, work properly on Solaris SPARC. However, due to problems in the operating system or network drivers on some hardware platforms, it is observed that on Solaris x86 and Linux platforms do not handle double networks properly. This causes the following problems to HADB: On Linux, some of the HADB processes are blocked on message sending. This causes HADB node restarts and network partitioning. On Solaris x86, after a network failure, IP interfaces may hang. If this situation arises, reboot the machine to resolve the problem. Multipathing and trunking are not supported on Sun Java System Application Server 7 Enterprise Edition. For more details contact Sun Support.
> 6178228/ 6179010 | Failure in configure-ha-cluster Description You create an HADB domain with a few host names and the operation succeeds. The hadbm listdomain command confirms it: $ hadbm listdomain -w admin Hostname Enabled? Running? Release Interfaces europe100 Yes Yes V4-4-1-3 128.139.113.110 europe111 Yes Yes V4-4-1-3 128.139.113.111 Then you create the database with the command, hadbm create, giving hostname with full domain name as the parameter to the --hosts option. For example: $ hadbm create --hosts=europe100.xyz.abc.com,europe111.xyz.abc.com .. you get the following error: hadbm:Error 22176: The host europe100.xyz.abc.com is not registered in the HADB management domain. Use hadbm createdomain to set up the management domain or hadbm extenddomain to include new hosts in an existing domain. Solution There are two possible workarounds: 1. Use the names that hadbm listdomain displays: For example: hadbm create --hosts=europe100,europe111 .. 2. Use decimal ip-addresses (DDN) For example: hadbm create --hosts=128.139.113.110,128.139.113.111
> 6174676/ 6179084 | Unable to run configure-ha-cluster. Description You have two different installations of HADB, one on a server and another on the hadbm client host(s), having different versions of HADB. You start the management agents of one of the versions.Then you run hadbm create with the other version. You get the following error: HADBMGMT007:hadbm create command failed. Return value: 1 STDOUT: STDERR: hadbm:Error 22170: The software package V4.4.x could not be found at path pacakgepath/4.4-x on host hostname. CLI137 Command configure-ha-cluster failed. Solution Use the same HADB version for the management agents and the hadbm clients.
> 5103186 | NSUP unable to start with one net down on Windows 2003. Description If HADB is configured with double networks on Windows 2003 and one network goes down, the nodes will not be able to restart. Therefore, as soon as a node goes down, it will stay down. Solution Do not configure HADB with double networks on Windows 2003.

> ## Server Administration

> This section contains the following sections:

> - Command Line Interface (CLI)
> - Administration Infrastructure
> - Administration Interface

> ### Command Line Interface (CLI)

> This section describes the known command-line interface issues and associated solutions.

> ID | Summary
> --- | ---
> 4676889 | CLI command overflows in single-mode if the command is more than 256 characters long. On UNIX(R), when executing a CLI command in single-mode that contains more than 256 characters, the command fails with this error: ...Command Not Found... This is a terminal restriction, not a CLI restriction. Example: create-jdbc-connection-pool --instance server4 --datasourceuser admin --datasourcepassword adminadmin --datasourceclassname test --datasourceurl test --minpoolsize=8 --maxpoolsize=32 --maxwait=60000 --poolresize=2 --idletimeout=300 --connectionvalidate=false --validationmethod=auto-commit --failconnection=false --description test sample_connectionpoolid) Solution 1. For commands that require more than 256 characters, use CLI multi-mode. 2. If you must use single-mode, run the command using OpenWin cmdtool.

> ### Administration Infrastructure

> This section describes the known administration infrastructure issues and associated solutions.

> ID | Summary
> --- | ---
> 4686003 | HTTP Quality of Service limits are not enforced. Quality of Service (QOS) includes a means of specifying the maximum number of HTTP connections and the bandwidth limit. When these attributes are exceeded, a 503 error should be returned to the client. However, after enabling QOS through the Administration interface, the server does not enforce the QOS limits. Solution To fully enable QOS features, you must manually add an AuthTrans fn=qos-handler line to the top of the default object in the obj.conf file of the virtual server. The qos-handler Server Application Function (SAF) and obj.conf configuration file are described in the Developer's Guide to NSAPI.
> 4740022 | SNMP: END OF MIB is returned when adding and starting a new instance server. If you add and start a new instance without shutting down the instance server and subagent, an END OF MIB message is returned. Solution 1. To view a new instance, make sure the subagent and all the instance server processes are shut down. Under each server ->Monitoring -> "Enable SNMP Statistics Collection: on", apply the change, then restart each instance server, and start only one subagent process again. 2. If the subagent is already running, don’t start any extra subagent processes in any instance. There can only be one master agent and one subagent for a Application Server installation (common for all domains/instances).
> 4865739 | Negative test for instance port in server.xml corrupts domains.bin If the port number and/or IP Address includes a letter character, no new instances can be created and the current instances become unmanageable. Solution 1. Edit the server.xml file and the backup server.xml and correct the port number and/or IP Address. 2. Execute the asadmin reconfig command using the keepmanualchanges=true option. 3. Using the Administration Interface, stop the instance by selecting the instance name in the Administration tree. 4. Restart the administration server and application server instance.

> ### Administration Interface

> When using Administration interface, make sure that the browser is configured to check for newer versions of pages from the server, instead of picking these from cache. Generally, default browser settings would not cause problems.

> - On Internet Explorer, make sure that Tools->Settings...->Check for newer versions of stored pages: is not set to 'Never'.
> - On Netscape, make sure that Edit->Preferences...->Advanced->Cache->Compare the page in the cache to the page on the network: is not set to 'Never'.

> This section describes the known administration graphical user interface issues, and the associated solutions.

> ID | Summary
> --- | ---
> 4725473 | External certificate nickname doesn't display on the Administration interface Nickname list. When you install an external certificate through the Application Server Administration interface, a problem is encountered when you attempt to enable SSL for the http-listener by using the certificate that is installed on the external cryptographic module. Although the installation of the certificate is successful, the certificate nickname does not display in the Administration interface. Solution 1. Log in to the system where the Sun ONE Application Server software is installed as an Administrative User. 2. Link the http-listener to the certificate installed on the external cryptographic module. Execute the asadmin command. For more information on the asadmin command, see the asadmin(1M) man page. /sun/appserver7/bin/asadmin create-ssl --user admin --password password --host host_name --port 8888 --type http-listener --certname nobody@apprealm:Server-Cert --instance server1 --ssl3enabled=true --ssl3tlsciphers +rsa_rc4_128_md5 http-listener-1 This command establishes the link between the certificate and the server instance; it does not install the certificate (which was done using the Administration interface). Even though the certificate is linked with http-listener, the http-listener will be listening in non-SSL mode. 3. Enable the http-listener to listen in SSL mode by using the following CLI command. /sun/appserver7/bin/asadmin set --user admin --password password --host host_name --port 8888 server1.http-listener.http-listener-1.securityEnabled=true This command switches the server instance listening state from non-SSL to SSL. After completing the preceding steps, the certificate is displayed in the Administration interface. 4. You can now use the Administration interface to edit the http-listener as needed.
> 4760939 | SSL: A self-signed certificate generated by certutil is not displayed on the Certificate Nickname list. A self-signed certificate is generated by the certutil and Certificate Nickname is not displayed on the Administration interface. Solution To use a self-signed certificate, you must manually edit the server.xml file.
> 4991824 | Restart times out after SSL is enabled from the Admin Console. Solution Stop and start the server when SSL is enabled instead of doing a instance restart.
> 4988332 | “Apply Changes Required” icon appears even though no changes have been made. In the Admin Console, when an Application Server instance’s properties or settings are viewed, the Apply Changes Required” icon appears even if no changes have been made to the settings. Solution This message appears only once and does not make any changes to the Application Server. Select “Apply Changes” when you get this message.
> 5011969 | On Solaris x86, HTTP listener and IIOP listener pages in the Administration interface give errors. Solution The problem is caused by certain versions of jss3.jar. Two workarounds exist: For patch levels 115924-03, 115925-03, 115926-03, 115927-03, upgrade the SUNWjss package with a later version. Remove the path to jss3.jar from the server’s classpath as described here: 1. Open server.xml for editing. 2. Remove usr/share/lib/mps/secv1/jss3.jar from the classpath. This is the first entry in the classpath unless you have explicitly modified it. 3. Save server.xml and run asadmin reconfig. 4. Before starting your server instance, you also need to rename jss3.jar.

> ## .Sample Applications

> This section describes known sample application issues and associated solutions.

> ID | Summary
> --- | ---
> 4739854 | Instructions needed for deploying resources using asadmin. In the documentation for some samples, your are instructed to deploy the application using the asadmin command, but no explanation is provided on how to create the needed resources. Solution You can deploy the application/resource by using the asadmin command and can get more information by referring to the sample's build.xml file. More information can also be found in the printout from running asant deploy. For JDBC/BLOB example, the following steps create the resources using asadmin (assuming the hostname is jackiel2 and the username/password/port for the Admin Server is admin/adminadmin/4848): asadmin create-jdbc-connection-pool --port 4848 --host jackiel2 --password adminadmin --user admin jdbc-simple-pool --datasourceclassname com.pointbase.jdbc.jdbcDataSource --instance server1 asadmin set --port 4848 --host jackiel2 --password adminadmin --user admin server1.jdbc-connection-pool.jdbc-simple-pool.property.DatabaseName=jdbc:pointbase:server://localhost/sun-appserv-samples
> 4993620 | afterCompletion() called with false when more than one XA connection is used. Using a modified version of samples/transactions/ejb/cmt/bank application - The BankBean ejb connects to two databases. one for checking a/c and one for saving. There are two connection pools created which are configured for oracle.jdbc.xa.client.OracleXADataSource datasource and global transactions have been turned on. Running the standalone client which transfers some balance and retrieves the checking as well as saving balances, three remote calls are made - transferBalance(), getCheckingBalance() and getSavingsBalance(). It is observed that afterCompletion for getCheckingBalance() invocation is called with committed=false, although all the database operations were successful. For example, the following is executed: appclient -client /space/S1AS/installation/domains/domain1/server1/applications/j2ee-apps/transactions-bank_13/transact -name BankClient -textauth com.sun.jndi.cosnaming.CNCtxFactory iiop://localhost:3700 Result: afterCompletion() is called with false even though tx is successful for a stateful session bean that uses more than one XA connections and performs only read-only db operations. Solution The current JTS implementation does not support this.
> 5016748 | The description for running SFSB Failover sample application using java client is incorrect. The java command for running the SFSB Failover sample application in the sample application documentation is incorrect. Solution The following is the correct description for running sfsbFailover with java client: Running sfsbFailover sample with local or remote RMI/IIOP-based client without ACC: The java client is executed without using the interface of Application Client Container. It can be executed on the local machine (ashost) or a remote machine. The client application runs from the command line, i.e. java -Djava.library.path=$AS_INSTALL/lib:/usr/lib/mps -Dcom.sun.CORBA.connection.ORBSocketFactoryClass=com.sun.enterprise.iiop.EEIIOPSocketFactory -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sun.appserv.ee.iiop.EEORBInitializer -Dorg.omg.CORBA.ORBClass=com.sun.enterprise.iiop.POAEJBORB -Dorg.omg.CORBA.ORBSingletonClass=com.sun.corba.ee.internal.corba.ORBSingleton -Djavax.rmi.CORBA.UtilClass=com.sun.corba.ee.internal.POA.ShutdownUtilDelegate -classpath <CP> <ClientApp> java.naming.factory.initial=com.sun.appserv.naming.S1ASCtxFactory com.sun.appserv.iiop.loadbalancingpolicy=ic-based com.sun.appserv.iiop.endpoints=host:port,host:port where: CP includes five jar files for CLASSPATH which are sfsbFailover.jar, appserv-rt.jar, appserv-ext.jar and appserver-rt-ee.jar,appserv-admin.jar. The file of sfsbFailoverClient.jar is copied to the current directory from the deployment directory: install_dir/domains/domain1/server1/applications/j2ee-apps/sfsbFailover_1 The other jars are copied to the current directory from AS installation: install_dir/lib If you intend to run the client application on a remote machine, you need to transfer the sfsbFailoverClient.jar and other three appserver jar files to the client machine. Although the sfsbFailoverClient.jar file is used in this example to run application client with or without an ACC, it contains more files than absolutely necessary for the situation in which an ACC is not used. The minimal files required to run the example on a remote machine without an ACC are the appserv-ext.jar file and the following files as extracted from the sfsbFailoverClient.jar file: samples/ejb/stateful/simple/ejb/Cart.class - Remote Interface samples/ejb/stateful/simple/ejb/CartHome.class - Home Interface samples/ejb/stateful/simple/ejb/_Cart_Stub.class - Remote Stub samples/ejb/stateful/simple/ejb/_CartHome_Stub.class - Home Stub samples/ejb/stateful/simple/client/CartClient.class - Client Application Main Class The appserv-ext.jar file is required on the client machine because it contains the javax.ejb package that the client needs, and also contains the implementation and interface for J2EE APIs that the client may need. ClientApp refers to the client program. In this example: samples.ejb.stateful.simple.client.CartClient
> 5016748 cont. | URL refers to the comma separated list of application server running as part of one cluster with hostname (e.g. ashost) and with an ORB-port (e.g. 3700). For example, ashost:3700,ashost:3701,ashost:3702 The following is a complete example for the command: java -Djava.library.path=$AS_ISNTALLlib:/usr/lib/mps -Dcom.sun.CORBA.connection.ORBSocketFactoryClass=com.sun.enterprise.iiop.EEIIOPSocketFactory -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sun.appserv.ee.iiop.EEORBInitializer -Dorg.omg.CORBA.ORBClass=com.sun.enterprise.iiop.POAEJBORB -Dorg.omg.CORBA.ORBSingletonClass=com.sun.corba.ee.internal.corba.ORBSingleton -Djavax.rmi.CORBA.UtilClass=com.sun.corba.ee.internal.POA.ShutdownUtilDelegate -classpath sfsbFailoverClient.jar:appserv-ext.jar:appserv-rt.jar:appserv-rt-ee.jar:appserv-admin.jar samples.ejb.stateful.simple.client.CartClient java.naming.factory.initial=com.sun.appserv.naming.S1ASCtxFactory com.sun.appserv.iiop.loadbalancingpolicy=ic-based com.sun.appserv.iiop.endpoints=localhost:3700,localhost:3701 Include $AS_INSTALL/lib and /usr/lib/mps in LD_LIBRARY_PATH before running the command. You will see interactive console, which helps you to also test the high availability of the SFSB, InitialContext, Home reference and remote reference. After creating the InitialContext, press Enter. The reference is failed over to another available server instance. You can test the failover behavior for home reference, remote reference as well in the same way.
> 5016656 | Samples document points to incorrect path for PointBase startup scripts. The path of startserver.sh is incorrectly mentioned as pointbase_install_dir/tools/server/startserver.sh. Solution The correct path to the PointBase startup script is pointbase_install_dir/client_tools/server/startserver.sh.
> 5016647 | Indent-amount issue with Coffee Break application in JWSDP 1.0_01. The following error is displayed while running the Coffee Break sample application: ERROR: output property ’indent-amount’ not recognized Solution This is a known issue in JWSDP 1.0_01. To avoid this issue, use a JWSDP version later than 1.1.

> ## ORB/IIOP Listener

> This section describes known ORB/IIOP-Listener issues and associated solutions.

> ID | Summary
> --- | ---
> 4743419 | RMI-IIOP clients will not work for IPv6 addresses where DNS address lookups fail for the IPv6 address. If a DNS lookup for an IPv6 address fails, clients of Remote Method Invocation-Internet Inter-ORB Protocol (RMI-IIOP) will not work for IPv6 addresses. Solution Domain Name Service (DNS) should be set up at the deployment site in order to look up an IPv6 address.
> 5017470 | Default IIOP port numbers assigned by the Application Server are randomly generated. When a new ORB listener or IIOP endpoint is created, the IIOP Port value varies, depending on whether one is creating an ORB Listener or IIOP Endpoint. 1. Creating a new ORB Listener > The IIOP port value cannot be left blank, though the * that signifies a ’must-specify’ entry is not present. The default value shown is 1072, although the listener port value for the default listener created during server installation is 3700. 2. Creating a new IIOP Endpooint > The default IIOP port value shown is 3600. If an endpoint is created with the port value left blank, an IIOP endpoint is created with IIOP port value null. 3. If an new server instance is created, the default ORB listener port value is an arbitrarily high value, usually > 30000. Solution IIOP port values should not exceed 32767. If the values configured are outside this range, a connection failure occurs during failover. When configuring the IIOP listener for the server, ensure that the port values are within this range.

> ## Internationalization

> This section describes the known internationalization and localization issues and associated solutions.

> ID | Summary
> --- | ---
> 6174147 | Extra ? mark in message of security DB error, just before change line. This usually happens when the charset are different between the server OS and admin GUI. Solution Ignore the extra characters.
> 6181737 | Garbled errors displayed after trying to stop SNMP master agent. Solution Ensure that you start the admin GUI on a browser with the same encode locale as the Application Server.
> 6177462 | Creating/Deleting Virtual Server with DefaultWebModule value throws error in English. Solution None
> 6182384 | Http listener page throws exception after upgrading from Sun Java System Application Server 7 2004 Standard and Enterprise Editions. Solution See bug ID 5011969.
> 6178355 | Error: Malformed UTF-8 char--is an XML encoding declaration missing? after selecting Apply Changes in the admin GUI. This issue is seen in EN and JA locale on Red Hat Linux Advanced Server 3.0. Solution Select Apply Changes again (after the error message appears).
> 6183064 | MQ localized package(SUNWciquc) is not installed by Application Server installer. Solution If you need this package, add it manually after installing Application Server. The SUNWciquc package is located in the same directory as Application Server packages on the product CD. Add the package using the pkgadd command.

> ## Documentation

> This section describes the known documentation issues and associated solutions.

> .

> ID | Summary
> --- | ---
> 4970418 | In the create-ssl man page, a space is missing between --certname and cert_name. Solution The correct syntax for the --certname option is as follows: --certname cert_name
> 4993601 | Outdated help files from Sun ONE Application Server 7, Enterprise Edition are displayed. Solution If you have previously installed a different version of the Sun Java System Application Server (for example, Sun ONE Application Server 7, Enterprise Edition), make sure that your MANPATH environment variable points to your current installation directory.
> 5008199 | Documentation error in the example section of the delete-jvm-options manpage. The example should read as follows: asadmin delete-jvm-options --user admin --password adminadmin --host localhost --port 4848 --instance server1 -- "-Djava.security.policy=/var/opt/SUNWappserver7/domains/domain1/server1/config/server.policy"

> #

> Redistributable Files

> Sun Java System Application Server Version 7 2004Q2 Update 1 does not contain any files which you can redistribute.

> #

> How to Report Problems and Provide Feedback

> If you have problems with Sun Java System Application Server, contact Sun customer support using one of the following mechanisms:

> - Sun Software Support services online at
>   http://www.sun.com/service/sunone/software

> This site has links to the Knowledge Base, Online Support Center, and ProductTracker, as well as to maintenance programs and support contact numbers.

> - The telephone dispatch number associated with your maintenance contract

> So that we can best assist you in resolving problems, please have the following information available when you contact support:

> - Description of the problem, including the situation where the problem occurs and its impact on your operation
> - Machine type, operating system version, and product version, including any patches and other software that might be affecting the problem
> - Detailed steps on the methods you have used to reproduce the problem
> - Any error logs or core dumps

> You might also find it useful to subscribe to the following interest groups, where Sun Java System Application Server topics are discussed:

> snews://<YourNewsForum>

> snews://<YourSecondNewsForum>

> ## Sun Welcomes Your Comments

> Sun is interested in improving its documentation and welcomes your comments and suggestions. Use the web-based form to provide feedback to Sun:

> http://www.sun.com/hwdocs/feedback

> Please provide the full document title and part number in the appropriate fields. The part number is a seven-digit or nine-digit number that can be found on the title page of the book or at the top of the document. For example, the part number of this Release Notes document is 819-0593-05.

> #

> Additional Sun Resources

> Useful Sun Java System information can be found at the following Internet locations:

> - Sun Java System Documentation
>   http://docs.sun.com/db/prod/sjs.asse
> - Sun Java System Professional Services
>   http://www.sun.com/service/sunjavasystem/sjsservicessuite.html
> - Sun Java System Software Products and Service
>   http://www.sun.com/software
> - Sun Java System Software Support Services
>   http://www.sun.com/service/sunone/software
> - Sun Java System Support and Knowledge Base
>   http://www.sun.com/service/support/software
> - Sun Support and Training Services
>   http://training.sun.com
> - Sun Java System Consulting and Professional Services
>   http://www.sun.com/service/sunps/sunone
> - Sun Java System Developer Information
>   http://developers.sun.com
> - Sun Developer Support Services
>   http://www.sun.com/developers/support
> - Sun Java System Software Training
>   http://www.sun.com/software/training

> Copyright © 2004 Sun Microsystems, Inc. All rights reserved.

> Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent applications in the U.S. and in other countries.

> SUN PROPRIETARY/CONFIDENTIAL.

> U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements.

> Use is subject to license terms.

> This distribution may include materials developed by third parties.

> Portions may be derived from Berkeley BSD systems, licensed from U. of CA.

> Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries.

> Copyright © 2004 Sun Microsystems, Inc. Tous droits réservés.

> Sun Microsystems, Inc. détient les droits de propriété intellectuels relatifs à la technologie incorporée dans le produit qui est décrit dans ce document. En particulier, et ce sans limitation, ces droits de propriété intellectuelle peuvent inclure un ou plus des brevets américains listés à l'adresse http://www.sun.com/patents et un ou les brevets supplémentaires ou les applications de brevet en attente aux Etats - Unis et dans les autres pays.

> Propriété de SUN/CONFIDENTIEL.

> L'utilisation est soumise aux termes du contrat de licence.

> Cette distribution peut comprendre des composants développés par des tierces parties.

> Des parties de ce produit pourront être dérivées des systèmes Berkeley BSD licenciés par l'Université de Californie.

> Sun, Sun Microsystems, le logo Sun, Java et Solaris sont des marques de fabrique ou des marques déposées de Sun Microsystems, Inc. aux Etats-Unis et dans d'autres pays.

> Toutes les marques SPARC sont utilisées sous licence et sont des marques de fabrique ou des marques déposées de SPARC I