Sun ONE logo    
Sun ONE Application Server 7, Enterprise Edition Release Notes
817-2141-10
Updated: September 26, 2003



Sun™ ONE Application Server 7 Enterprise Edition Release Notes

The Sun™ Open Net Environment (ONE) Application Server 7, Enterprise Edition release notes contain last-minute details, new features and enhancements, product requirements, known problems, and other late-breaking issues.

Information in this document updates and extends information in the component readme files included with this release.

This document contains the following sections:

What's New

The Sun ONE Application Server What's New document describes the new enterprise, developer, and operational features. The What's New document is available at http://docs.sun.com/db/prod/s1appsrv

Platform Summary

The Sun ONE Application Server Platform Summary document describes the supported operating systems, and other essential platform information. The Platform Summary is available at http://docs.sun.com/db/prod/s1appsrv

Sun ONE Application Server 7 Enterprise Edition Documentation

Sun™ Open Net Environment (ONE) Application Server 7 Enterprise Edition documentation can be found at: http://docs.sun.com/db/prod/s1appsrv

The Sun ONE Application Server 7, Enterprise Edition documents include:

  • Product Introduction—(817-2143-10) Describes Sun ONE Application Server 7, including the features available with each edition of the product.
  • System Architecture Overview—(817-2144-10) Presents diagrams and descriptions of server architecture; discusses benefits of the Sun ONE Application Server architectural approach.
  • What's New—(817-2142-10) Lists the new enterprise, developer, and operational features of Sun ONE Application Server 7.
  • Platform Summary—(817-2145-10) Provides a comprehensive, table-based summary of supported hardware, operating system, JDK and JDBC/RDBMS.
  • Getting Started Guide—(817-2147-10) Describes how to get started with the Sun ONE Application Server 7, Enterprise Edition. Includes new features, architectural overview, and sample application tutorial.
  • Installation Guide—(817-2146-10) Provides instructions for installing the Sun ONE Application Server, sample applications, the Administration interface, and the installation and configuration of the high-availability components.
  • System Deployment Guide—(817-2163-10) Provides a foundation for evaluating your system needs to ensure you deploy Sun ONE Application Server in a manner that best suits your site.
  • Developer's Guide—(817-2148-10) Provides general information about how to create J2EE applications to run on the Sun ONE Application Server.
  • Developer's Guide to Web Applications—(817-2149-10) Describes how to use servlets and JavaServer Pages (JSPs) within J2EE applications.
  • Developer's Guide to Enterprise Java Beans Technology—(817-2152-10) Describes how to develop and deploy various types of enterprise beans in the Sun ONE Application Server environment.
  • Developer's Guide to J2EE Services and APIs(817-2154-10) Describes J2EE features such as Java Database Connectivity (JDBC), Java Naming and Directory Interface (JNDI), Java Transaction Service (JTS), Java Message Service (JMS), and JavaMail.
  • Developer's Guide to NSAPI—(817-2153-10) Describes how to create NSAPI plugins.
  • Developer's Guide to Web Services—(817-2151-10) Describes how to develop and deploy web services in the Sun ONE Application Server environment.
  • Developer's Guide to Clients—(817-2150-10) Describes how to develop and deploy Application Client Container (ACC) clients that access J2EE applications on Sun ONE Application Server 7.
  • Migrating and Deploying Server Applications—(817-2158-10) Provides instructions for migrating your applications to the new Sun ONE Application Server 7 programming model.
  • Application Design Guidelines for Storing Session State—(817-2162-10) Provides strategies for HTTP session availability.
  • Administrator's Guide—(817-1881-10) Provides instructions on the configuration, management, and deployment of the Sun ONE Application Server subsystems via the Administration interface and the command-line interface.
  • Administrator's Configuration File Reference—(817-2155-10) Describes the contents of the Sun ONE Application Server configuration files.
  • Administrator's Guide to Security—(817-2156-10) Describes how to configure and administer security for the Sun ONE Application Server operational environment.
  • J2EE CA SPI Administrator's Guide—(817-7157-10) Describes how to configure and administer JCA SPI Implementation features for the Sun ONE Application Server environment.
  • Performance Tuning and Sizing Guide—(817-2157-05) Describes how and why to tune your Sun ONE Application Server to improve performance.
  • Troubleshooting Guide—(817-2161-10) Provides information on solving Sun ONE Application Server problems.
  • Error Message Reference—(817-2159-10) Compilation of messages that you may encounter while running Sun ONE Application Server 7 Enterprise Edition.
  • Utility Reference Manual—(817-2160-10) Describes the utility and command -line interface commands available with the Sun ONE Application Server.

Referenced Documentation

The Sun ONE Message Queue, Platform Edition is integrated with the Sun ONE Application Server, Enterprise Edition. Sun ONE Message Queue includes a documentation set that can be found at: http://docs.sun.com/db?p=prod/s1.s1msgqu

Software and Hardware Requirements

The Sun ONE Application Server Platform Summary document describes the platform information. The Platform Summary is available at http://docs.sun.com/db/prod/s1appsrv

Sun ONE Application Server 7, Enterprise Edition has a high-availabilty database (HADB) component for persistent session store which can be installed seperately on the same machine or on a different machine. The HADB component is certified to scale up to 28 nodes, where 24 of them are active and 4 are spare.

Before installation, refer to the Sun ONE Application Server Installation Guide and Administrator's Guide for details on the HADB.

The following topics are addressed in this section:

Enterprise Edition Configurations

The following tables summarize the Sun ONE Application Server 7, Enterprise Edition requirements for the various high-availability configurations.

Configuration 1

  • * Machine 1—Web Server
  • ** Machine 2—Sun ONE Application Server instance 1, HADB Node 1
  • *** Machine 3—Sun ONE Application Server instance 2, HADB Node 2
  •    Platform Requirements for Configuration 1

    Machine

    Configuration

    Operating

    System

    Architecture

    Minimum Memory

    Recommend Memory

    Minimum Disk Space

    Recommend Disk Space

    1

     

    *

     

    Solaris 8, 9 for SPARC

     

    32 and 64 bit

     

    96 MB

     

    128 MB

     

    250 MB

     

    500 MB

     

    2

     

    **

     

    Solaris 8, 9 for SPARC

     

    32 and 64 bit

     

    512 MB
    (256 MB for AppServ; 256 MB HADB)

     

    768 MB

     

    500 MB
    (250 MB for AppServ; 250 MB for HADB)

     

    750 MB

     

    3

     

    ***

     

    Solaris 8, 9 for SPARC

     

    32 and 64 bit

     

     

    768 MB

     

    500 MB
    (250 MB for AppServ; 250 MB for HADB)

     

    750 MB

     

Configuration 2

  • * Machine 1—Web Server/Sun ONE Application Server (1 Admin Server instance, 1 Sun ONE Application Server instance)
  • ** Machine 2—Sun ONE Application Server instance 2 (1 Admin Server instance, 1 Sun ONE Application Server instance), 2 HADB Nodes
  •    Platform Requirements for Configuration 2

    Machine

    Configuration

    Operating

    System

    Architecture

    Minimum Memory

    Recommend Memory

    Minimum Disk Space

    Recommend Disk Space

    1

     

    *

     

    Solaris 8, 9 for SPARC

     

    32 and 64 bit

     

    352 MB

     

    640 MB

     

    500 MB

     

    1 GB

     

    2

     

    **

     

    Solaris 8, 9 for SPARC

     

    32 and 64 bit

     

    768 MB

     

    1 GB

     

    750 MB

     

    1 GB

     

Configuration 3

  • * Machine 1—Web Server/Sun ONE Application Server (1 Admin Server instance, 2Sun ONE Application Server instances), 2 HADB Nodes
  •    Platform Requirements for Configuration 3

    Machine

    Configuration

    Operating

    System

    Architecture

    Minimum Memory

    Recommend Memory

    Minimum Disk Space

    Recommend Disk Space

    1

     

    *

     

    Solaris 8, 9 for SPARC

     

    32 and 64 bit

     

    992 MB

     

    1.5 GB

     

    1.128 GB

     

    1.75 GB

     

Solaris Patches

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 package based installation only). Without these patches, which the installer checks for, you won't be able to install or run the Sun ONE Application Server software. These patches are already contained in the latest recommended patch cluster.

Known Problems and Limitations

This section describes known problems and associated workarounds for the Sun ONE Application Server 7 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

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

ID

Summary

4719600

 

Warning messages occur during installation.

During installation, some invalid error messages may occur. For example:

WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
WARNING: Could not lock System prefs.Unix error code -223460600.

Solution

Ignore these warnings or, alternatively, you can create a system preferences directory (typically /etc/.java/.systemPrefs). This is normally done by the JDK install script.

 

4742038

 

Sun ONE Application Server does not start if the install directory contains non alpha-numeric characters.

Sun ONE 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 Sun ONE Application Server install directory can contain only the following characters: alphanumerics, - (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 is not checking 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.

 

4742171

 

Installing over an existing installation in silent mode does not report an error.

Affects installers running in silent mode. If user attempts to install over an existing installation of Sun ONE Application Server 7 (in the same directory), silent installation does not report any errors and proceeds normally. Existing installation files are preserved.

Solution

Uninstall existing installations before installing a new installation in the same location.

 

4746410

 

On Solaris, when installing the Sun ONE Application Server in non-default locations, the package-based installer on does not check disk space in the correct locations.

When installing the Sun ONE 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.

 

4748455

 

Directory error occurs during generic silent install.

This issue affects silent installation on all platforms. If the installer finds a problem with a given installation directory, the generic error message Invalid Installation Directory is reported.This error message covers the following situations:

  • Selected directory is not writable.
  • Selected directory string is empty or contains space characters.

Solution

Check the supplied installation directory value for both issues to determine the cause of error.

 

4749666

 

Samples documentation is not published to initial server instance if the Sample Application component has been incrementally installed.

This issue affects the development and operations installer on all platforms. If sample applications are installed in a separate installation session over an installed Sun ONE Application Server, the sample documentation will not be published to the initial server instance and will not be accessible through the http://hostname:port/samples URL. However, documentation is installed on the file system and can be accessed locally at this location: file:///install_root/samples/index.html

Solution

Access the samples documentation locally.

 

4754256

 

On Solaris, Sun ONE Message Queue configuration files are not preserved during Sun ONE Message Queue upgrade performed by the installer.

If an existing Sun ONE Message Queue 3.0 package has been detected on the system, the installer offers to upgrade this installation to version 3.0.1 which can be used by the Sun ONE Application Server. During this upgrade operation, the existing 3.0 Solaris package is removed, resulting in the removal of the following configuration files:

/etc/imq/passwd
/etc/imq/accesscontrol.properties

If these files have been modified, those modifications will be lost and the resulting Sun ONE Message Queue 3.0.1 installation will contain the default configuration values.

Solution

Create a backup copy of any user-modified files and restore the backup copies of these files after the upgrade has been completed. For more details, consult Sun ONE Message Queue 3.0 Installation Guide.

 

4754824

 

On Solaris, an installer error message occurs 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 Sun ONE 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:

  1. 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 (#).
  2. If the /cdrom directory does not already exist, enter the following command to create it:
    # mkdir /cdrom
  3. 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.

  1. 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
  2. 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
  3. Stop the vold process by entering:
    # kill -15 process_ID_number
  4. 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 Sun ONE 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 Sun ONE 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 Sun ONE 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 Sun ONE 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 Sun ONE 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 Sun ONE Application Server installation.

 

4762118

 

On Solaris, installation fails if a selected custom configuration directory is a subdirectory of the selected installation directory and is called 'etc'.

This issue affects Solaris package-based installation on a Solaris platform. If the following combination of custom directory locations has been selected, installation fail due to inconsistent group ownership information for the same directory:

  • Installation directory: install_dir
  • Configuration directory: install_dir/etc

The pkgadd log file in the /var/sadm/install/logs directory will contain following error message:

pkgadd: ERROR: duplicate pathname /install_dir/etc
pkgadd: ERROR: unable to process pkgmap

Solution

Select a custom configuration directory other than install_dir/etc.

 

4762694

 

On Solaris, Sun ONE Message Queue package SUNWiqsup is not removed during Message Queue upgrade process.

This is only an issue on Solaris. The Sun ONE Application Server 7 installation process involves installing Sun ONE Message Queue version 3.0.1. On Solaris, if Sun ONE Message Queue version 3.0 is detected, it is first uninstalled (after user confirmation) and the 3.0.1 version is installed.

There is a minor cleanup issue where the Solaris installer does not remove one of the Solaris packages (SUNWiqsup) for Sun ONE Message Queue 3.0 as part of this upgrade process. The presence of this package is harmless and does not affect Sun ONE Message Queue or Sun ONE Application Server 7.

Solution

Manually remove the SUNWiqsup package using the following command (as root):

# pkgrm SUNWiqsup

 

4823481

 

For non-standard ports, transition between HTTP and HTTPS requests does not happen within the same session.

If any server that directly receives requests from the browser (such as the web server) is configured for non-standard port numbers, a new session will be created during a protocol transition. This is not a defect, but rather a result of the fact that the browser will not return the session ID (and other) cookies to a non-standard port.

NOTE: The browser does return such cookies if it is connecting to a URL that does not have a port number.

Solution

Use standard port numbers (http: 80, https: 443).

 

4834797

 

Silent installer gives a wrong warning message for already installed components.

This occurs when the following steps are executed in the user environment.

  1. Perform installation using the Administration interface or Console mode and save the statefile for reuse.
    Note: the `statefile' gets generated when `setup' is run with the `-savestate' option.
  2. Without uninstalling the components installed in the above step, re-run the installer in silent mode again using the statefile created in the step above.

Installer displays the following message then exits: "Incompatible or corrupted state file provided. Cannot continue."

This message is erroneous and the correct message should be: "No available components have been selected for installation. Component list is either empty, or contains already installed components."

But the installation process is stopped which is an expected and correct behaviour.

Solution

Before running the silent installation, make sure that components specified in the statefile are not previously installed on the system.

 

4883016

 

Apache plugin installer needs to bundle certificate DB files.

User needs to create a directory for the DB files needed for the apache plugin to work.

Solution

  1. Create a directory named sec_mod_db under your Apache root directory.
  2. Copy the cd_image/sec_db_files/*.db files to the above directory.
 

N/A

 

On Solaris, if the Sun ONE Application Server installer upgrades an existing Sun ONE Message Queue 3.0 to 3.0.1, the resulting installation will be removed during Sun ONE Application Server uninstallation.

Affects Solaris development and operations installer. If an installed Sun ONE Message Queue 3.0 is detected on the system, you are given the option of automatically upgrading this installation to version 3.0.1. If this option is chosen, the resulting Sun ONE Message Queue 3.0.1 installation will be uninstalled during Sun ONE Application Server uninstallation.

Solution

To preserve the Sun ONE Message Queue installation after the Sun ONE Application Server is uninstalled:

  1. Exit the installer when offered the automatic upgrade choice,.
  2. Upgrade Sun ONE Message Queue to version 3.0.1 according to Sun ONE Message Queue documentation,.
  3. Run Sun ONE Application Server installation again.
 

Server Startup and Shutdown

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

ID

Summary

4738648

 

JMS service/Sun ONE Application Server startup fails.

If the JMS provider (Sun ONE Message Queue broker) has a large number of undelivered persistent messages, a Sun ONE Application Server initialization failure may occur due to following problems:

  1. As it tries to load all the pending messages, the MQ broker may run out of memory and abort.

Solution 1

Use more Java heap space for the MQ broker process. To do this, set the Start Arguments attribute of the JMS service to -vmargs -Xmx256m.

The procedure for setting this attribute is described in the "Using the JMS Service" chapter of the Sun ONE Application Server Administrator's Guide.

  1. If the MQ broker cannot complete its initialization sequence within a certain period of time, the Sun ONE Application Server times out and aborts.

Solution 2

Increase the value of the JMS service Start Timeout attribute. The procedure for setting this attribute is described in the "Using the JMS Service" chapter of the Sun ONE Application Server Administrator's Guide.

 

4762420

 

Firewall rules may cause Sun ONE 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 Sun ONE 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 Sun ONE 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 Sun ONE Application Server and are in no way a security threat to your machine. Under some conditions, the port number which the Sun ONE 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 Sun ONE 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 Sun ONE 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 Sun ONE 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.

 

4780076

 

On Solaris, the Sun ONE Application Server starts all instances as root thereby allowing non-root users root access.

There are several issues associated with application server startup when the Sun ONE Application Server is installed as part of a Solaris installation (bundled):

  • All application server and administrative server instances are started automatically during Solaris system startup. In many environments, not all the instances are expected to be started automatically during Solaris system startup. Starting every defined instance can adversely impact the memory available on a system.
  • When application server instances and administrative server instances are started automatically, the startup script for each instance is executed as root. Execution of non-root owned instance startup scripts can enable non-root users access to the root user through modification of the instance-level startup scripts.

Background

During installation of the Sun ONE Application Server as part of a Solaris installation, the /etc/init.d/appserv script and symbolic links to the S84appserv and K05appserv scripts in the /etc/rc*.d/ directories are installed. These scripts cause all the application server and administrative server instances defined as part of the application server installation to be started and stopped automatically during Solaris system startup and shutdown.

The /etc/init.d/appserv script contains the following section of code:

...
case "$1" in
'start')
    /usr/sbin/asadmin start-appserv
    ;;
'stop')
    /usr/sbin/asadmin stop-appserv
    ;;
...

Execution of the asadmin start-appserv command causes the administration server instance and all application server instances defined in all administrative domains to be started during Solaris system startup. Since the system startup and shutdown scripts are executed as root, the startup script for each application server and administrative server instance is also executed as root. The instance-level startup script is named startserv and is located at instance-dir/bin/startserv. Since instances may be owned by users other than root, the startserv scripts could be modified by the non-root user to execute commands as the root user.

In cases where an instance is using a privileged network port, the instance's startserv script must be executed as root. However, in these cases, "run as user" is typically set in the instance's configuration to force the instance to run as the specified user after the instance has been initially started by the root user.

 

(cont.)

 

Solution

Perform one of the following workarounds depending on your environment:

  • If your environment does not require all application server and administrative server instances to be started as root, then you should comment out execution of the asadmin start-appserv and asadmin stop-appserv commands in the etc/init.d/appserv script.
  • If your environment requires starting either specific administrative domains (including the administrative server instance and all application server instances of each domain) or specific instances within one or more administrative domains, then you should either modify the /etc/init.d/appserv script to start the domains and/or instances of interest or define new /etc/rc*.d/ scripts that suit the needs of your environment.
  • Starting a specific domain. If you require to start either an administrative domain or specific instances as non-root users, then you should ensure that the su command with the -c option is used to start the domains and/or instances of interest.

Examples

Starting a specific administrative domain—If you want to start the administrative server instance and all application server instances of a specific administrative domain as the root user, you can modify the /etc/rc*.d/ scripts as follows:

...
case "$1" in
'start')
   /usr/sbin/asadmin start-domain --domain production-domain
   ;;

'stop')
   /usr/sbin/asadmin stop-domain --domain production-domain
   ;;
...

 

(cont.)

 

  • If you want to start specific application server instances as a non-root user, modify the /etc/rc*.d/ scripts to use the su command with the -c option:

...
case "$1" in
'start')
   su - usera -c "/usr/sbin/asadmin start-instance --domain test-domain instance-a"
   su - userb -c "/usr/sbin/asadmin start-instance --domain test-domain instance-b"
   ;;

'stop')
   su - usera -c "/usr/sbin/asadmin stop-instance --domain test-domain instance-a"
   su - userb -c "/usr/sbin/asadmin stop-instance --domain test-domain instance-b"
   ;;
...

See theSun ONE Application Server Administrator's Guide for more information on the startup and shutdown commands available through the asadmin command line interface.

 

Database Driver

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

ID

Summary

4700531

 

On Solaris, an ORACLE JDBC driver error occurs.

This new Java Database Connectivity (JDBC) driver is for Oracle (R) working with JDK1.4. The problem is caused by a combination of the Oracle 9.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.
 

4707531

 

On Solaris, accessing an Oracle 9.1 database with an Oracle 9.2 Client may cause data corruption.

If you use an Oracle (R) 9.2 client to access an Oracle 9.1 database, data corruption might occur when a number column follows a timestamp column.

The problem might be caused by using the ojdbc14.jar file with an Oracle 9.1 database. Applying the patch might assist in addressing the situation on Solaris 32-bit machines, running an Oracle 9.1 database. This JDBC driver is for Oracle working with JDK1.4.

Solution

Obtain the patch that Oracle might make available from the Oracle web site for Bug 2199718 and apply it to your server.

 

Web Container

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

ID

Summary

4740477

 

The web cache example in sun-web-app_2_3-0.dtd file provides incorrect syntax for the timeout element.

The timeout element is specified to use in XML cache object as:
<timeout> 60 </timeout>

Because the name parameter is a required field, it should be written as:
<timeout name="foo">60</timeout>

Solution

Do not use with verifier.

 

EJB Container

This section describes the known Enterprise JavaBeans™ (EJB™) container issues and associated solutions.

ID

Summary

4735835

 

Cannot properly handle null PKs returned from ejbFind methods.

The following container-managed persistence (CMP) examples might return one or more nulls from an ejbFind (assumed called from EmployeeEJB bean, as they must return the same instance type as the bean):

  1. find insurance.employee where insurance.id == 10

This returns null if such insurance does not have an employee associated with it.

  1. find all insurance.employee where insurance.id > 10

This returns a collection that might contain nulls for those insurances that do not have an employee.

For the first occurrence of a null PC in the result set, the CMP client will get JDOFatalInternalException "param0 cannot be null".

The BMP client will get EJBException "Null primary key returned from ejbFind method" for a single object finder, and (possibly) a NullPointerException for a multi object finder.

Solution

None.

 

4744434

 

The Sun ONE Application Server occasionally throws Null Pointer Exception when using stateful session beans.

The EJB container in the Sun ONE Application Server caches stateful session beans to improve performance. When the cache overflows (that is, the number of beans in the cache exceeds max-cache-size) the container passivates beans to the disk. Occasionally the server throws NullPointerException. The problem occurs when the difference between max-cache-size and cache-resize-quantity is less than 8.

Solution

Ensure that the difference between max-cache-size and cache-resize-quantity is greater than eight, or use an unbounded cache by setting max-cache-size to zero.

 

Container-Managed Persistence

This section describes the known container-managed persistence (CMP) issues and the associated solutions.

ID

Summary

4732684

 

Oracle JDBC driver optimizations are not being initiated.

To take advantage of Oracle (R) database optimizations with container-managed persistence (CMP) beans, the classes12.zip file must be specified in the classpath-suffix attribute of the server.xml file rather than placed in the instance's /lib directory which is the default for third-party libraries.

Solution

Add the classes12.zip file to the classpath-suffix attribute of the server.xml file.

 

4734963

 

Self-referencing CMRs cause problem during deployment.

The parser of the EJB deployment descriptor, ejb-jar.xml, does not correctly handle self-referencing container-managed relationships (CMRs), that is, ejb-relationship-role. The One side field is skipped.

Solution

Switch the ejb-relationship-role sections so that the One side (with <multiplicity> Many) is the first in ejb-relation.

 

4747222

 

On Oracle, the capture-schema utility does not work if -schemaname is not specified.

The capture-schema utility has the following problems if the -schemaname option is not specified when capturing database schema information from the Oracle (R) database:

  1. If you attempt to capture all tables (that is, no tables are explicitly chosen):

bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -out test.dbschema

You will receive:
java.sql.SQLExceptions
ORA-00942: table or view does not exist.

The resulting output file is broken.

  1. If one or more tables are specified with the -table option:

bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -table DEPT -out test.dbschema

The resulting file has the specified tables, but no column information, which means the file can't be used for CMP mapping.

Solution

When capturing a schema from the Oracle database, always use the -schemaname option with the user name in uppercase letters as the value:

bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -schemaname SCOTT -out test.dbschema)

 

4751235

 

For capture-schema utility: If values for the -table option are not specified in uppercase on Oracle and/or PointBase, the resulting file is broken.

Oracle (R) and PointBase internally translate case-insensitive identifiers into uppercase letters, unless the identifier are enclosed in " "). The capture-schema utility does not correctly handle table names in lowercase or mixed-case letters as arguments to the -table option when capturing a database schema from Oracle or PointBase (such as -table student or -table Student). The generated database schema file will not contain any columns information for the corresponding table.

Solution

Use uppercase letters to specify table names (such as -table STUDENT).

 

4895236

 

When the persistence scope is specified as session, and the persistence frequency is set to time-based, under load; sometimes the server reports the following exception:

java.io.IOException: Error from HA Store: HADB-E-11939: Primary key constraint violation

Under load, when the persistence scope is specified as session and the persistence-frequency is time-based, the following exception is reported from time to time:

java.io.IOException: Error from HA Store: HADB-E-11939: Primary key constraint violation
at com.sun.appserv.ee.web.sessmgmt.HAStore.executeStatement(HAStore.java:2202)
at com.sun.appserv.ee.web.sessmgmt.HAStore.insertSessionBlob(HAStore.java:1957)
com.sun.appserv.ee.web.sessmgmt.HAStore.save(HAStore.java:1409)
at org.apache.catalina.session.PersistentManagerBase.writeSession(PersistentManagerBase.java:759)
at org.apache.catalina.session.PersistentManagerBase.processMaxIdleBackups(PersistentManagerBase.java:1097)
com.sun.appserv.ee.web.sessmgmt.HAManagerBase.processPersistenceChecks(HAManagerBase.java:88)
org.apache.catalina.session.PersistentManagerBase.run(PersistentManagerBase.java:1182)
at java.lang.Thread.run(Thread.java:536)

Solution

None

 

4898075
4900759

 

Client held transaction open too long

The performance and stability of the web-container with modified-attribute session persistence scope depends upon the J2EE application being executed, and the load on the cluster.

Solution

Ensure that your application is suitable for modified-attribute session persistence scope. Please refer to "Application Design Guidelines for Storing Session State." In particular, applications which do not use setAttribute and removeAttribute calls to modify the session contents, cannot be configured for persistence-scope='modified-attribute'. Evaluate the performance / stability of the web-container under expected peak load with this persistence scope. Also compare the performance / stability with other persistence scopes (session and modified-session), before making the appropriate choice.

 

4908285

 

Web-method as persistence frequency and modified-attribute as scope does full gc

The session persistence scope "modified-attribute is not certified as a full production quality feature.

Solution

Evaluate the performance / stability of the web-container under expected peak load with this persistence scope. If under the expected peak load exceptions are logged and/or response time is too high, do not use this persistence scope for your production environment. Instead use "session" or "modified-session" as the persistence scope.

 

Message Service and Message-Driven Beans

This section describes the known Java Message Service (JMS), Sun ONE Message Queue, 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 Sun ONE 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 Sun ONE Application Server. If the Java runtime that is configured for use by the Sun ONE 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 Sun ONE Application Server instance startup to fail.

Solution

Make sure that the Java runtime used by the Sun ONE 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 One 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 Sun ONE 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"

ID

Summary

4689337

 

The connection from XADatasource in non-txn context cannot be used.

This is a known database driver issue. When there is a connection in a non-txn context, with XADataSource the Autocommit is set to false by default.

Solution

Use the non-XA datasource class to call the commit/rollback programs explicitly rather than through transactions.

 

4700241

 

Non-zero transaction timeout setting causes slow local transactions.

Currently, the Local Transaction Manager does not support transactions with definite timeouts. If you set the timeout-in-seconds attribute in transaction-service element to a value greater than 0, all local transactions will be processed as a global transactions, and will take longer to complete. A local transaction may also fail, if the data source driver does not support global transactions. A timeout value of 0 means that the transaction manager will wait indefinitely if it does not hear back from a participating data source.

Solution

Reset the timeout-in-seconds value to its default value of 0.

 

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.

 

4734969

 

Can't deploy application with user's Query class in the bean package.

Container-managed persistence (CMP) code-gen does not use the fully qualified name for the JDO Query variable in concreteImpl. If you have a Query class in the same package as the abstract bean, a compilation error occurs.

Solution

Move the Query class into another or separate package.

 

4750461

 

On SPARC, the Sun ONE Application Server might crash during dynamic reloading.

For a large application (with many enterprise beans), a crash may occur during dynamic reloading of the application. The dynamic reloading feature is used, in the development environment, to quickly test minor changes to an application. The crash is caused by attempting to use more file descriptors than are available.

Solution

  1. Increase the file descriptors limit by adding lines, in this format, to the /etc/system file. Depending on the size of the application, the values can be set higher or lower.

  set rlim_fd_max=8192
  set rlim_fd_cur=2048

  1. Reboot the system.
 

4744128

 

The EJB compiler fails to generate valid JAVA code for inner classes.

The EJB compiler fails to generate valid JAVA code for the implementation of the enterprise bean that uses inner classes as the return type.

public interface IStateServer {
   ....
   public StateProperties getProperties(String objectID, String variantName, IToken securityToken) throws RemoteException;

   public class StateProperties implements Serializable {
      public StateProperties() {
      }
      public String description = "";
      public String owner = "";
      public Date modifyTime = new Date();
      public String accessPermissions = "";
   }
}
public interface IStateServerEJB extends EJBObject, IStateServer {
   ....
}

Note method getProperties returns an inner class.

Example of the error:

D:\AppServer7a\appserv\domains\domain1\server1\generated\ejb\j2ee-apps\smugglercom\spss\ssp\state\ejb\StateServerEJB_EJBObjectImpl.java:133:

Direct use of synthetic inner class names is not allowed:
com.spss.ssp.state.IStateServer$StateProperties

The generated code should be
com.spss.ssp.state.IstateServer.StateProperties

instead of
com.spss.ssp.state.IstateServer$StateProperties

Solution

Move StateProperties to a separate (standalone not inner) class.

 

4756093

 

Redeployment of a deployed application fails after Sun ONE Application Server restart.

If an application is redeployed while the Sun ONE Application Server instance is running, the application may fail.

Solution

Stop the App Server instance, redeploy the application, then restart the App Server instance. The application can be redeployed as many times as necessary if the App Server instance is not running.

 

4756981

 

Permission problem occurs during dynamic reloading and invocation of applications.

When the Admin Server is owned by root and the App Server instance is owned by a non-root user, there may be permission problems during dynamic reloading and invocation of applications.

Solution

After deploying/redeploying the module or application (with or without precompile option), change the directory owner from root to the non-root user. The change-of-owner should to be applied recursively to each of the directories in the following list based on the application type.

domain_root/server_instance/applications/j2ee-apps/application_name
domain_root
/server_instance/applications/j2ee-modules/module_name
domain_root
/server_instance/generated/ejb/j2ee-apps/application_name
domain_root
/server_instance/generated/jsp/j2ee-apps/application_name
domain_root
/server_instance/generated/jsp/j2ee-modules/module_name

  1. Become superuser.
  2. Type the following command for each of the directories that apply to your situation:

# chown -R non_root_instance_owner directory_name

 

4834004

 

A java.lang.OutOfMemoryError exception occurs while deploying applications.

While deploying applications, the Sun ONE Application Server throws a java.lang.OutOfMemoryError exception in the server.log. To deploy a large number of applications, a small JVM heapsize causes problems.

Solution

In the server.xml file, do the following:

Set the JVM heapsize to 512MB (default=256)

[ <jvm-options> -Xms128 -Xmx512 </jvm-options> ]

Set the default pool size to a very small value (for example, 25). This may affect performance, but should be usable for functionality testing:

[ <server>
     <availability-service>
          <persistence-store>
                <property name="ha-store-pool-size" value="25"/>
  ...
  </server>
]

 

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.

 

4743480

 

Verifier cannot detect the methods declared in the super interface of the local home interface.

The verifier performs tests on the local home interface to check the interface for conformance to the J2EE specification. Some of the tests for the findByPrimaryKey method fail if you have a derived local home interface and the required method is declared in the super interface of the home interface. The failed tests are those performed by the tests named HomeInterfaceFindByPrimaryKeyArg, HomeInterfaceFindByPrimaryKeyName, HomeInterfaceFindByPrimaryKeyReturn, and PrimaryKeyClassOpt. Deployment would also fail if you use the -verify option with the module or application.

Solution

The test results can be ignored if the function has been properly declared in the super interface for the local home interface. In this case, do not use the -verify option with the deployment command. The deployment will complete correctly. A workaround is to declare the same function again in the derived home interface to pass the verification tests.

 

Configuration

  • The default value of the env-classpath-ignored attribute of the java-config element is true.
  • Not Implemented for this release:
    • The bytecode-preprocessors attribute in java-config element in server.xml (It is likely that it will become available in a future performance patch.)

  • Deprecated for this release:
    • is-cache-overflow-allowed
    • max-wait-time-in-millis

  • Due to J2EE 1.4 architecture changes, some elements may not be supported in future releases, such as:
    • cmt-max-runtime-exceptions property of the mdb-container element

The following table describes the known Sun ONE Application Server 7, Enterprise Edition configuration issues and their solution.

ID

Summary

4742559

 

If IPv6 is not used in your network, this problem does not apply to you.

NOTE: If IPv6 is not used in your network, this problem does not apply to you.

By default, the Sun ONE Application Server uses IPv4. This is supported by all platforms on which the Sun ONE Application Server is available. In certain platforms, IPv6 is supported. In this case, Sun ONE Application Server configuration changes are required for conformance.

NOTE: If these configuration changes are to be made, it is essential to be absolutely sure of IPv6 support on the platforms. Server instances may not start if the IPv6-related configuration is applied to a system that has only IPv4 support.

Solution

Perform the following configuration changes:

  1. Start the Admin Server.
  2. Start the Administration interface. (Connect to Admin Server http host/port in a browser).
  3. Select the App Server instance to configure for IPv6, such as server1.
  4. Expand the HTTP Listeners node in the tree view.
  5. Select the HTTP Listener to configure for IPv6, such as http-listener1.
  6. In the General section, change the value of the IP Address field to ANY.
  7. In the Advanced section, change the value of the Family field to INET6.

Setting the Family field to INET6 does not disable IPv4 functionality unless an IPv6 address is selected for IP address. Selecting an IP address of ANY will match any IPv4 or IPv6 address.

  1. Click Save.
  2. In the left pane, select your server instance.
  3. Click Apply Changes.
  4. .Click Stop.
  5. Click Start. This restarts the server and implements your changes.
 

Deployment Descriptors

This section describes the known Sun ONE Application Server 7, Enterprise Edition deployment descriptor issues.

sun-cmp-mapping.xml Issues

  • Not Implemented for this release:
    • check-modified-at-commit
    • lock-when-modified

sun-ejb-jar.xml Issues

  • Deprecated for this release:
    • is-cache-overflow-allowed
    • max-wait-time-in-millis

Monitoring

This section describes the known 7 monitoring issues and associated solutions.

ID

Summary

4734595

 

Total-connections-failed-validation does not show correct values.

The issue is with the inherent double pooling problem in the reference implementation (RI).

Solution

None.

 

4737227

 

FlagAsyncEnabled does not set to 1 in http-server.

This is a known the Sun ONE Web Server issue.

Solution

None.

 

4752199

 

Monitoring bean method attribute values are not shown for getPrimaryKey(), getEJBMetaData(), getHomeHandle() methods.

The monitoring tool lists methods in an enterprise bean that can be monitored. For getPrimaryKey(), getEJBMetaData(), and getHomeHandle(), the method level monitoring attributes always show zero.

Solution

None

 

High Availability

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

ID

Summary

4828779

 

When an active node is stopped, spare doesn't pickup.

When an active node without any data is stopped, the spare node cannot complete a repair and the repair hangs. The repair requires some data to be copied to the spare node.

Solution

Perform a refragment to reddistribute data on newly added nodes such that no active nodes remain empty.

 

4831332

 

HADBM create doesn't work when superuser becomes root.

When using "su" to become root, HADBM may report access problems on specific paths. HADBM needs the environment information for user "root."

Solution

Use "su -" and retry.

 

4842677

 

On Netscape 4.79, a request sent during failover will be lost when the request is sent.

Situation: In a two-machine cluster configuration with each machine having an application server instance running, a session-based application is deployed on both instances of application server. For example:

Assume that the session-based application is taking an attribute/value pair, storing it in session, and displaying what was stored in session. After sending a request, shut down the application server instance that served the request. Now from the browser try to send a request with a different attribute/value pair. Since the application server instance that served the first request is shut down, the request fails and shows an error message with an option to resubmit the request. Clicking the Resubmit link will resubmit the request. However, using the Netscape 4.79 browser, the resulting page will only show the first attribute/value pair; the second attribute/value pair will not be added to the session.

If Netscape 7.0 or Internet Explorer 6.0 is used, the second attribute/value pair is added correctly.

Solution

Use the Netscape 7.0 browser or the Internet Explorer 6.0 browser.

 

4842830

 

ComStream is closed, reaches JDBC client.

This is an internal message that is used to synchronize internal processing of SQL commands. Due to some unresolved error, this error message will occasionally be sent to an application client, instead of a more specific user error. This problem will be resolved in future releases of HADB.

Solution

Retry the operation.

 

4843422

 

HADB connection pool is lost and recreated when you deploy applications.

Deploying many 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, 4861489

 

Miscellaneous hadbm commands don't work when running hadbm from another machine than used to create the database.

Management client should be started from the same client machine. The clients track configurations, and information about starting and stopping the server. If different clients and servers are used to start and stop, this information is not distributed to all the nodes.

Solution

Retry from the machine used to create the database.

 

4861396

 

Unrecoverable failure of cursor.

Hides another failure; most likely of locks.

Solution

Use a different isolation level for transactions if appropriate; or increase the number of locks.

 

4861405

 

Problems connecting to machines with two IP interfaces on the same subnet.

Connection to a server with multiple network interfaces, with different IP addresses, on the same subnet fails. HADB does not support multiple interfaces on the same subnet.

Solution

Disconnect one or more of the network interfaces so that only one interface exists on any given subnet.

 

4861465, 4855623

 

NSUP wrongfully detects network partition during controlled stop.

Controlled stop could not update the stop state file correctly. If the database is restarted after a controlled stop, the node hangs.

Solution

Use hadbm status --nodes command to determine which nodes are still alive. Then, run hadbm stopnode -f <node_number> for each of the partially running nodes.

 

4888728

 

hadbm help does not work.

When using a tcsh/csh shell, invoking HADBM help does not work.

Solution

In order to invoke HADBM from a tsch/csh hell, you must identify the option as -\? or "-?".

 

4899950

 

HADBM write to the stty without checking whether it is a terminal causing error messages

When using stty check to make sure tty is a terminal.

Solution

Check whether tty is a terminal. This error will not occur if HADBM is evoked from a shell.

 

4897966

 

HADBM manpaage is missing from the product.

You must copy hadbm man page to and set the MANPATH.

Solution

  1. Create a directory named man under installation directory, if it does not already exist.
  2. Create a directory named smanlm under Installation Directory/man, if it does not already exist.
  3. Copy cd_image/manpage/hadbm.lm file to Installation Directory/man/smanlm.
  4. Append Installation Directory/man to the existing value of MANPATH environment variable

The man page now can be accessed by running man hadbm.

 

Server Administration

This section contains the following sections:

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.
 

4680409

 

After configuring an instance to use SSL, the administrator cannot access the Admin Server from either the CLI or browser clients.

Solution

Import the Sun ONE Application Server certificate into each client that is to use SSL to access the Admin Server, and indicate that servers with such a certificate are to be trusted. How to do this on a browser is browser-specific; consult your browser's online help to see how to import a certificate to be trusted.

For the CLI, if the server's certificate is in some servercert.cer file, and the installation directory is /INSTALL, the command is:

keytool -import -file servercert.cer -alias server -keystore /INSTALL/jdk/jre/lib/security/cacerts

NOTE: To avoid this problem in the future, ensure that the Admin Server certificate is installed in both the server and the client(s) before configuring the Admin Server to use SSL.

 

4688386

 

Using the asterisk (*) character in single-mode CLI command results in unexpected behavior and/or error messages.

The asterisk character is being expanded by the underlying shell into a list of names, and it is this list of names that is being seen by the command-line interface (CLI) command. Putting quote marks around the asterisk prevents the shell from expanding the asterisk, and thus the CLI gets to see the asterisk itself.

Solution

Use quote characters (either single or double quotes) around the asterisk.

 

4701361

 

Repeated changes applied to any instance eventually results in an out of memory error.

The Admin Server keeps a record of all changes performed to the system, which requires memory. This change record (but not the changes themselves) is discarded during a reconfiguration, thus releasing the memory for use.

Solution

Use the asadmin reconfig command periodically to discard old change records.

 

4704328

 

Cleanup does not happen when a call to create a duplicate domain fails.

When a domain that already exists is created, an appropriate error message is generated. However, a directory specified by the -path option in the create-domain command is created if it did not exist earlier. This should be removed since the command failed.

Solution

Remove any additional empty directory specified that might be created after the -path option is used.

 

4722007

 

Monitoring: Execution times of less than 1 millisecond cannot be measured.

When an entity bean method is monitored, the execution-time-millis attribute shows -1. For example, when running the command:

iasadmin>get -m server1.application.usecase1app.ejb-module.UseCase1Ejb_jar.entity-bean.BeanOne.bean-method.method_create0.*

The following attributes are returned:

Attribute name = total-num-errors Value = 0
Attribute name = method-name Value = public abstract
com.iplanet.ias.perf.jts.UseCase1.ejb.BeanOneRemote
com.iplanet.ias.perf.jts.UseCase1.ejb.BeanOneHome.create() throws
javax.ejb.CreateException,java.rmi.RemoteException
Attribute name = total-num-calls Value = 0
Attribute name = total-num-success Value = 0
Attribute name = execution-time-millis Value = -1

Before monitoring is started, the default value for execution-time-millis is set to -1 to indicate that the value for that attribute is invalid at that moment. A default value of 0 would give a false impression that the execution time has been measured, and that it has turned out to be a very small value.

Solution

None.

 

4724743

 

The asadmin reconfig command flags are misleading.

In general, the asadmin options are stated as having two states: true and false. If you specify an option as true, it is exactly the opposite of specifying false. In contrast, the asadmin reconfig command has three states to deal with: a) check for manual changes and throw exception; b) keep manual changes c) discard manual changes. The command has only two options: --keepmanualchanges and --discardmanualchanges. Therefore, you can specify different combinations of these two options in the command.

Not all combinations are documented. The actual valid combinations are:

  1. discardmanualchanges=true --keepmanualchanges=false
  2. Meaning: will discard manual changes (and use admin changes)

  3. discardmanualchanges=false --keepmanualchanges=true
  4. Meaning: will keep manual changes (and throw away admin changes

  5. discardmanualchanges=false --keepmanualchanges=false
  6. Meaning: will throw exception if there is manual change

  7. discardmanualchanges
  8. Meaning: same as 1.

  9. keepmanualchanges
  10. Meaning: same as 2.

  11. (no options)
  12. Meaning: same as 3.

Invalid combinations are (asadmin will tell you that the combination is bad):

--discardmanualchanges --keepmanualchanges

--discardmanualchanges=true --keepmanualchanges=true

NOTE: The --discardmanualchanges=false option is NOT equal to the --keepmanualchanges=true option. The --discardmanualchanges=false is actually the same as not specifying the option.

Solution

None.

 

4733109

 

Verifier error reported in Administration interface when viewing Persistence Manager Factory resource created from command-line interface.

When a Persistence Manager Factory resource is viewed in the Administration interface, the following error is reported for the resource when it is created from the command-line interface:

ArgChecker Failure: Validation failed for jndiName: object must be non-null

Solution

None.

 

4742993

 

On Solaris, the flexanlg command causes open failure when used on Sun ONE Application Server that is integrated into Solaris.

If you are running a version that is integrated into the Solaris operating environment, and you use the flexanlg command from /usr/appserver/bin, an open failure error is displayed.

ld.so.1: /usr/appserver/bin/flexanlg: fatal: libplc4.so: open failed: No such file or directory
Killed

Solution

Complete these steps.

  1. Add the following entry to LD_LIBRARY_PATH file:

usr/lib/mps

  1. Then run the flexanlg command.

% /usr/appserver/bin/flexanlg

 

4750518

 

Some CLI commands do not work on the target Admin Server.

The create, delete, or list commands do not work in the CLI on the target Admin Server for creating/deleting/listing new elements (such as SSL, mime, profiler, resources, and so on) in the server.xml file of the Admin Server.

Solution

Use the Administration interface to create, delete, and list elements in the Admin Server.

 

4895449

 

create-ssl command doesn't accept rsa_3des_sha as one of the values for ssl3Ciphers.

Solution

To set the ssl3Ciphers torsa_3des_sha:

  1. Use the set command as follows:

asadmin set --user user --password password --host hostname --port 4848 server1.http-listener.http-listener-id.ssl3Ciphers=rsa_3des_sha

  1. Or, use the Administration Interface.
 

4897966

 

Some of the 'hadbm' man pages are missing in the product.

Solution

  1. Create a directory named man under install_dir, if it does not already exist.
  2. Create a directory named smanlm under install_dir/man, if it does not already exist
  3. Copy cd_image/manpage/hadbm.lm file to install_dir/man/smanlm
  4. Append install_dir/man to the existing value of MANPATH environment variable

The man page can now be accessed by running man hadbm

 

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.

 

4692673

 

Restarting an instance in debug mode seems to fail if the instance is originally running in non-debug mode.

If an instance is started without checking/selecting the 'Start/Restart in debug mode' check box, subsequent settings of this check box do not work. In the Administration interface, the Debug Enabled check box appears unchecked, even though it has been checked. The server.xml file also shows debug-enabled=false.

Solution

None.

 

4723776

 

On SPARC, server fails to restart when converting to an SSL-enabled environment.

If you attempt to restart the Sun ONE Application Server after installing a certificate and enabling security, the restart fails. A message is displayed indicating that the server failed to receive a password. A second click of the Start button starts the server. When SSL is not enabled, passwords are not cached which results in the failure of restart. The restart command does not support the transition from non-SSL to SSL enabled mode.

NOTE: This problem only occurs the first time the server is restarted. Subsequent restarts work fine.

Solution

If you have encountered this problem:

   Click the Start button.

To avoid this problem, perform the following steps instead of clicking the Restart button.

   Click the Stop button.
   Click the Start button.

 

4724780

 

Cannot start Admin Server if the domain is created in another system.

  • If the domain is created on a PCNFS mounted drive, the Admin Server and any instances within such domains cannot be started due to a known Microsoft issue involving PCNFS drives.
  • If the domain is created in the same local drive as the product installation but in a different directory path, the instances and the Admin Server work as expected, and are fully operational.

Solution

None.

 

4736554

 

After a secure httplistener has been removed from a server, the administrator is still prompted for the (no longer needed) password.

Solution

Remove the entire server and then add it again.

NOTE: To avoid the problem in the future—Before removing the httplistener, disable security using the following command:

/export2/build/bin/> asadmin set --user admin --password adminadmin
server1.http-listener.http-listener-1.securityEnabled=false
Attribute securityEnabled set to false.
/export2/build/bin/> asadmin delete-http-listener --user admin --password adminadmin ls2
Deleted Http listener with id = ls2

 

4739831

 

A partially-deleted instance causes incorrect responses from some CLI commands.

If a server instance is partially deleted, the following problems are known to occur with some CLI commands (solutions are provided with each problem description):

  1. The create-instance command in local mode reports that the instance exists even if there are no sub-directories under the instance folder.

Solution

Manually remove the leftover instance directory, then run the create-instance command.

  1. The list-instances command in local mode includes the partially-deleted instance name and status.

Solution

Manually remove the leftover instance directory, then run the list-instances command.

Solution

Manually remove the leftover instance directory, create a new instance, then run the start-instance command.

On Solaris, the stop-instance command in local mode incorrectly reports that the user does not have permission to access the instance's config directory although the config directory does not exist.

Solution

Manually remove the leftover instance directory.

 

4739891

 

Deletion of a virtual server fails if the default web module referred to by the virtual server does not exist or has been undeployed.

Solution

Set the Default Web Module field of the virtual server to None Selected, click OK to save the changes, then delete the virtual server.

 

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 Sun ONE Application Server installation (common for all domains/instances).
 

4780488

 

Existence of multiple obj.conf files causes confusion.

Upon creation of a new Sun ONE Application Server instance, the instance-dir/config/ directory will contain two obj.conf files, one named obj.conf and the other named virtual-server-name-obj.conf, where virtual-server-name is the same value as the instance name for the virtual server that is created automatically during instance creation. The documentation refers to "modification of the obj.conf file" when it should refer to "modification of the obj.conf file associated with the virtual server of interest."

When the Sun ONE Application Server is installed, the obj.conf and server1-obj.conf files exist under the /domains/domain1/server1/config/ directory. The content in the file named obj.conf is overridden by the content of the server1-obj.conf file specified at the virtual server level. In effect, the file named obj.conf is not used by the Sun ONE Application Server instance.

For example, if you modified the file named obj.conf while configuring the Sun ONE Application Server passthrough plug-in, your passthrough settings will not take effect because the wrong obj.conf file has been modified.

Solution

If and when you need to modify the obj.conf file for an instance, modify the file prefixed with the virtual server name of interest.

 

4825972

 

After adding another virtual server and http listeners, SNMP data doesn't show the listeners.

After adding another virtual server and http listeners, applying changes, and restarting the servers, newly added http listeners are not visible using the SNMP monitoring tool.

Solution

Restart the SNMP monitoring subagent after adding a new listener.

 

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.
 

4898964

 

CLI command delete-ssl does not work for admin-server.

Solution

  1. Go to the appropriate admin-server/config directory
  2. Backup server.xml file
  3. Open server.xml file, remove line starting with <ssl in the http-listener section and save file
  4. Execute asadmin reconfig with --keepmanualchanges=true option
 

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 Sun ONE Application Server 7, Enterprise Edition 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 Sun ONE 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.

  1. 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.

  1. You can now use the Administration interface to edit the http-listener as needed.
 

4728718

 

When creating a new virtual server and a value is given for the location of the log file, a File Not Found" error is reported.

In the Administration interface, the log file field cannot be used to add any values.

Solution

Delete the virtual server just created, create the needed file, then recreate the virtual server.

NOTE: To avoid the problem in the future—Always create the log file first, before attempting to create the new virtual server.

 

4741123

 

On Solaris 9 update 2, default browser is incompatible with Sun ONE Application Server 7.

When trying to use the Sun ONE Application Server Administration interface with the default browser, this error message is displayed:

Unsupported Browser: Netscape 4.78

It is recommended that you upgrade your browser to Netscape 4.79 or Netscape 6.2 (or later) to run the Sun ONE Application Server Administration interface. If you choose not to upgrade, you may notice degraded performance and/or unexpected behavior.

Solution

Use /usr/dt/bin/netscape6 instead of /usr/dt/bin/netscape.

 

4750616

 

Access Control List (ACL) editing is not supported on some versions of Netscape Navigator.

If you attempt to edit ACL entries while using either Netscape Navigator, versions 6.x or 7.x, you might encounter intermittent problems, such as the browser disappearing or the ACL edit screen never displays.

Solution

Choose one of the following workarounds.

  • Use the supported 4.79 version of Netscape Navigator.
  • Manually edit the ACL file. For details on ACL file formatting, see the Sun ONE Application Server Administrator's Guide.
 

4752055

 

Netscape 4.8 produces warning message on Administration interface.

When using Netscape 4.8 to access the Administration interface, a warning appears indicating Netscape 4.8 is an unsupported browser. Although no issues have been identified when using Netscape 4.8 to run the Administration interface, more thorough testing needs to be completed on this version of the Netscape browser.

Solution

Select the Continue hyperlink from the warning message to continue using the Administration interface.

Use Netscape 4.79, or upgrade to Netscape 6.2.

 

4760714

 

An invalid Help button appears in the Install Certificate screen.

In the Install Certificate screen, which displays all the certificate information entered, an invalid Help button is present in the Administration interface. If you click this button, an error message is displayed indicating the help page was not found. Context-sensitive help is only available by clicking the Help link on the top frame of any page.

Solution

Click the Help link in the top pane for context-sensitive help.

 

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.

 

Sample Applications

This section describes known sample application issues and associated solutions.

ID

Summary

4714439

 

In PetStore, cannot add a user that already exists.

In the PetStore sample application, trying to add a user that already exists displays a stack trace on the screen.

Solution

None.

 

4726161

 

Modified samples are not updated until redeployment.

If users attempt to deploy a sample more than once, after making small changes and repackaging the application, the following error message is displayed.

        "Already Deployed"

This issue affects most of the samples since they use the Ant utility and the common.xml file, which have the "deploy" target, thus mixing deployment of applications with registration of resources.

Solution

Choose one of the following workarounds:

For the majority of the sample applications that use the Ant utility build.xml files, which include the common.xml file, type the following command.

%asant deploy_common

For all other sample applications, type the following commands.

% asant undeploy

% asant deploy

 

4733412

 

Sample application converter has redundant JAR file in web module.

The converter application has a redundant stateless-converter EJB JAR file under the WEB-INF/lib directory. The EAR file is located under the sample application directory. From the bundled Solaris build, it is here:

/usr/appserver/samples/ejb/stateless/converter/stateless-converter.ear

Extract this file and go to the WEB-INF/lib directory of the web module named stateless-converter and you will see the file. This redundant JAR file applies to all the web modules which call the EJB module. The root cause of the problem is the common.xml file used to build the application.

Solution

None. Doesn't affect functionality when running sample application.

 

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

 

4747534

 

The lifecycle-multithreaded sample application asks for the admin user password 8 times.

While deploying the sample application lifecycle-multithreaded.jar file using the asant deploy command, you are prompted to enter the admin user password eight times.

Solution

None.

 

4748535

 

Miscellaneous sample file issues.

  1. Logging sample generates multiple log files, for the fourth logging option.
  2. Logging sample has a redundant log.properties file.
  3. Instructions for the security grant in sample documentation are not fully correct.

Solution

  1. Close the handler before removing it. See initLog() method in GreeterServlet.java.

private void initLog(String log_type) {
   //Remove all handlers
   Handler[] h = logger.getHandlers();
   for (int i = 0; i < h.length; i++) {
      h[i].close(); //must do this
      logger.removeHandler(h[i]);
   }
   ...
}

Also, open file handler with an append option. See addHandler() in GreeterServlet.java. Write:

Handler fh = new FileHandler(log_file, true);

instead of

Handler fh = new FileHandler(log_file);

  1. Edit the build.xml file as follows:

<fileset dir="${src.docroot}" excludes="cvs,annontation"/>

<fileset dir="${src.docroot}" excludes="cvs,annontation,log.properties"/>

  1. In "Running the Sample Application" section, remove domains/domain1/ from instructions to adding security grant entries to the server.policy file.
 

ORB/IIOP Listener

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

ID

Summary

4743366

 

The address attribute in the iiop-listener element in the server.xml file does not support ANY.

In the default configuration, the Sun ONE Application Server is configured with the address value of "0.0.0.0" in the iiop-listener element. This default configuration does not listen on IPv6 interfaces. It only listens on all IPv4 interfaces on a system. The value of ANY in the address element of the iiop-listener, that would allow the server to listen on all interfaces (IPv4 or IPv6) on a system, is not supported.

The ANY value in the address attribute of the iiop-listener element in the server.xml file allows for listening on all interfaces available on a system.This support includes both the IPv4 and IPv6 interfaces.

Solution

For both IPv4 and IPv6 interfaces, use "::" in the address value of the iiop-listener element. This solution is only applicable to Solaris 8.0 and above.

 

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.

 

Localization

This section describes known localization issues and associated solutions.

ID

Summary

4757859

 

Console 0utput is corrupted if the system's default encoding is not UTF-8.

If the system's default encoding is not UTF-8, the Sun ONE Application Server's output might cause multi-byte characters to display incorrectly.

Solution

Open the server.log file in your browser.

 

4763655

 

The value in the "Only show entries with" field in the View Event log becomes corrupted when the application or system is not using UTF-8 encoding

If the user enters multi-byte characters in the "Only show entries with" field and searches the event log, the value in the "Only show entries with" field becomes corrupted when the search result is displayed. The problem is caused by the conversion of the message format from UTF-16 to UTF-8.

Solution

None.

 

How to Report Problems

Please use your support process for any:

  • Product or documentation issues
  • Submission of product defects

If you have general feedback on the product or documentation, email us at appserver-feedback@sun.com.

Revision History

This section lists the changes that have been made in these release notes after the initial release of the Sun ONE Application Server 7, Enterprise Edition.

Revision Date

Description of Change

September 2003

 

Final Release

 



Copyright 2003 Sun Microsystems, Inc. All rights reserved.