Accessibility

JRun Release Notes

JRun 4 Updater 5

For Windows®, UNIX™, Linux™, and MacOSX™

Release Notes

Last Updated April 21, 2005

These Release Notes describe issues that have been resolved in Macromedia JRun 4 Updater 5 and contains the following information:

Known Issues for JRun 4 Updater 5 is a separate document, available at http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=24039877.

Installation

JRun 4 Updater 5 upgrades any existing JRun 4 installation (with or without Service Packs or prior Updaters).

Before running the Macromedia JRun 4 Updater 5 release, perform the following steps:

  1. Ensure that the default JDK installed on the system is version 1.3 or later (required by the installer).
  2. Stop all JRun 4 services. If you do not stop all JRun processes, the installation can fail. To determine if JRun services are still running:
    • On UNIX and Linux, view processes by entering the ps -ef or similar command. Stop any remaining JRun processes.
    • In Windows, press Control + Alt + Delete, and then select the Task Manager.
    • On the Processes tab, stop any remaining JRun processes. If JRun servers are installed as Windows services, stop them using the Services Control Panel.
  3. Stop all web servers connected to JRun. If IIS is your web server for JRun, stop the World Wide Web Publishing Service in the Services Control Panel.
  4. Make a note of your JRun 4 installation root directory location (for example, c:\jrun4).
  5. In Windows 2000, Window XP, and Windows 2003, stop the Windows Management Instrumentation Service to avoid locking some DLLs that the Updater will replace in {jrun.home}/bin.
  6. In Windows XP and Windows 2003, if you uninstall JRun prior to running the Updater, you must manually delete the following registry key or any full product or updater installation will fail:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\955648EA1E7DC4D4FA99677EE7413103]"ProductName"="Macromedia JRun 4"

For more information on editing the Windows registry, see your system documentation.

To upgrade your JRun 4 installation with the Updater 5:

  1. Download and run the EXE, BIN, or SIT file for your operating system.
  2. Follow the instructions in the installation wizard, and let it run to completion.
  3. Delete the contents of the SERVER-INF/temp directory for each JRun server.
  4. After the installation is complete, restart JRun services and, if necessary, your web server.
  5. Some versions of Linux might require you to manually install the web server connector. For more information, see issue 50586 in JRun Updater 2 Known Issues.

Notes

  • On Windows 2003 systems with Service Pack 1 (SP1), the installer immediately exits in the "preparing to install" dialog before extracting files.  This worked previously on Windows 2003 without SP1.

    A feature of Windows 2003 Service Pack 1 is "Data Execution Prevention".   This security feature blocks the InstallAnywhere self-extractor for CF 6.1 and all JRun4 Updaters.  (CF 7.0 is not affected).  To fix this problem, do the following:

    1. Click Start, right click My Computer, and select Properties.
    2. On the Advanced tab, click the [Settings] button under the Performance section.
    3. Select the Data Execution Prevention Tab in the Performance Options dialog.
    4. Select the radio button for "Turn on DEP ... except those I select:"
    5. Select "Add" and select the Coldfusion or JRun installer.  (the entry shows up as "InstallAnywhere Self-Extractor" in the dialog)
    6. Select "Apply" on the "performance options" and "OK" on the "System Properties" page
    7. Now run the installer
    Here is Microsoft's description of this feature.
  • JRun 4 Updater 5 creates a directory, {jrunroot}/updater5-backup, that contains a copy of all the files that the Updater overwrites.
  • For Mac OSX users, run the .bin from a shell. Stuffit cannot unpack this .bin and generates the following message: "Archive was compressed with an unknown compression method"
  • For RedHat AS 3.0 users, please be sure to apply the latest updates to your RedHat AS 3.0 operating system prior to updating to Updater 5 to avoid potential problems with the Jikes compiler. See bug 59348.
  • For RedHat AS 3.0 users, make sure the compatibility libraries (Legacy Applications) are installed to avoid Apache issues. See bug 59367 in known issues.
  • If you applied the JRun 4 Updater 4 workaround for JDK 1.5 compatibility, please note that the following setting in the jvm.config file is no longer needed and should be removed before installing Updater 5:
    -Djmx.invoke.getters=true 
  • For AIX users, before running the Updater 5, please be sure to run the 'slibclean' command to remove any currently unused modules in kernel and library memory.
  • The following jrun.xml ProxyService attributes were modified for the servers/template.zip - used for new JRun server creation.
    <attribute name="LoadBalancingAlgorithm">ROUNDROBIN</attribute>
     <attribute name="StickySessions">true</attribute>
     <!-- if 0, web server connector loads mappings once at startup -->
     <!-- if not specified, default is every 10 seconds -->
     <attribute name="mapcheck">0</attribute>
     <!-- set this to false for multi-hosted sites -->
     <attribute name="cacheRealPath">false</attribute>

    This could affect cluster behavior on these newly added servers that use web server connectors. Users should review their entire cluster configuration carefully after adding new servers.

Enhancements

The JRun 4 Updater 5 includes the following enhancements:

  • Updated JDBC drivers - JRun 4 Updater 5 kit includes version 3.3 build 48 of the JRun JDBC drivers.
  • Connectors - Performance enhancements and improvements, especially for Microsoft IIS 6.0 (See also 59515).  SunOne 6.1 SP2 is now supported.  For NSAPI, the following platforms are currently supported:
    • iPlanet 4.1 (NSAPI version 3.0)
    • iPlanet 6.0 (NSAPI version 3.1)
    • Netscape Enterprise Server 6.0 (NSAPI version 3.1)
    • Netscape Enterprise Server 6.1 (NSAPI version 3.1)
    • Sun One Web Server 6.1 (NSAPI version 3.2)
    For instructions on upgrading existing installations using NSAPI (IPlanet, Netscape, SunOne) connectors, see the Web Server Connectors section.
  • Windows support - JRun supports Windows 2003 and IIS 6 since Updater 3. JRun is no longer supported on Windows 98 and Windows ME as of Updater 5.
  • Apache support - JRun supports Apache versions 1.3.2x-1.3.33, and Apache versions 2.043-2.052. Users with older versions of Apache 2.x must upgrade Apache before installing JRun 4 Updater 5. On Redhat 8 and Redhat AS2.1, Apache 1.3.x is supported if you are using the Apache rpm.
  • Linux support - JRun 4 is now supported on RedHat 8, Redhat AS2.1 and AS3.0, and Novell Suse Linux 8.0.
  • Clustering - Server performance enhancements have improved load balancing and failover in clusters.
  • JavaMail and JAF update - JRun 4 now uses JavaMail version 1.3.1 and JAF 1.0.2.
  • Sun JDK Support - JRun 4 now supports Sun JDK 1.5.0

Resolved issues in this release

The JRun 4 Updater 5 includes the following fixed bugs.

Built-in JDBC database drivers

The JRun 4 Updater 5 JDBC driver pack is 3.3 build 48. 

Oracle

  • 54831, 55217 - Oracle clob hangs when there is a trailing null in the clob. (NLS_Characterset UTF8)
  • 55313 - An incorrectly registered output param causes a Net8 Protocol error.
  • 54994 - Drivers return 16 bytes for char(8) on Oracle. (NLS_Characterset JA16SJIS)
  • 55605 - Cannot insert Japanese characters into a clob column. (NLS_Characterset UTF8)
  • 55308 - There is a 2K limit for a LONG returned from a stored procedure. (32K now)
  • 55546 - ColdFusion CFTRANSACTION tag throws ORA-01453 and removes database connections from the connection pool.

SQL Server

  • 51266 - Terse "No more data available to read" error thrown by database driver when connections max'd out on SQL Server.  The new message is:  "[Macromedia][SQLServer JDBC Driver]A problem occurred when attempting to contact the server (Server returned: Connection reset)."

DB2

  • 54536 - JRun is unable to connect to a DB2 database using Chinese Cp1114 encoding.

All Databases

  • 54826 - An ArrayIndexOutOfBounds message appears if columns are not specified in an INSERT statement.

Web Server Connectors

SunOne, Netscape, and IPlanet connectors

The NSAPI modules now use the latest libraries.  Individual modules based on different versions have been consolidated into one module for each major platform.  UNIX and Linux modules are  jrun_nsapi.so. The Windows module is jrun_nsapi.dll.

The Updater 5 installation does not upgrade the connector module. After installation, you must manually uninstall and reinstall NSAPI modules using the Web Server Configuration Tool (wsconfig.jar) to update the connector.  

  • 59419 - SSL Client Certificate info is not processed when connector must make 2 or more tries for a proxy connection.
  • 54985 - Mappings for .swf, .mxml, .and crf filenames were added during connector configuration for ColdFusion 7 and Flex integration.
  • 53703 - Connector configuration completes for Apache for RHAS 3.0, but recognizes it as RedHat 7 or earlier. Apache does not respond after installing.
  • 54190 - Apache connector does not load on Mac OS X 10.3. Apache error log shows:
Cannot load /Applications/JRUN4/lib/wsconfig/1/mod_jrun20.so into server: dyld: /Applications/apache2048/bin/httpd Undefined symbols: dyld_stub_binding_helper
  • 56506 - IIS 6.0. ERRORURL is supported in lib\wsconfig\jrun_iis6.ini.  The user must create this file.  ErrorURL shows a customized server error page on startup when JRun is down; for example, errorurl=http://localhost/servernotavailable.html.
  • 55019 - Browser closing before completed request throws "connection reset" errors. More common with bots.
  • 59590 - "Connection reset by peer" errors in Apache error log file.
  • 59446 - Apache.  A new -apxs switch for Apache has been added to the connector installer (wsconfig.jar) command line for compiling connectors on Unix/Linux platforms.  The ApacheModule.zip connector source file is replaced by a expanded /src/connectors directory structure.   The wsconfig launcher UI also has this feature available under [Advanced...]/Connector Settings.    This feature compiles and deploys the Apache connector in one step on the target system avoiding some library incompatibility problems with the pre-built connectors.
  • 59515 - Microsoft IIS 6.   Set registry key "EnableCopySend" to 1 to workaround Windows 2003 WriteClient api bug which significantly impacts ColdFusion/JRun performance on IIS6 vs IIS5.   This is done during new connector installation, not upgrade.   Users applying the updater to an already configured IIS6 connector can either uninstall/re-install the connector (difficult with multi-hosted sites) or set the registry key manually.  
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\EnableCopySend 
 Microsoft Knowledgebase Document:   http://support.microsoft.com/default.aspx?scid=kb;EN-US;840875

Miscellaneous

  • 31165 - According to HTTP 1.1 Spec RFC 2616 <http://www.ietf.org/rfc/rfc2616.txt>, all HTTP clients and servers have to support all three data formats. However JRun only supports the first format. It will throw "java.lang.IllegalArgumentException: Unparseable date" warning message in the event log in case the last two date formats are used.
  • 39761 - Last-modified header is not being set with MS Internet Explorer 5.5 or Netscape. Disables caching.
  • 47726 - The ServletContext.getServerInfo() method does not return the information in the required form. Currently "JRun 4" is returned, however the spec shows the product name and the version number should be seperated by a slash (/).
  • 48899 - JRun 4 JDBC metrics logging information is incorrect
  • 51136 - If there are more than 32 filter-mapping in web.xml, JRun4 is not functioning correctly. For example, if 33rd filter-mapping is added to web.xml, when it is called, JRun is going to call other filter rather than the 33rd filter associated.
  • 54087 - URLEncoder.encode() doesn't work with document names that have a space in them. It works fine in JRun 3.1
  • 55419 - Jikes problem on all platforms with JDK 1.5. This is an rt.jar issue. Remove jikes from the /jrun4/bin directory. JDK 1.5 doesn't work on all platforms.
  • 55725 - The JRun server becomes unresponsive when the number of WebService (JRun Web Server) threads (web-xx), ProxyService (jrpp-) or other threads (jndi-, scheduler-) reaches zero.  Another symptom are threads with the following stack trace:  (where xx is a number and web-xx could also be jndi-xx, jrpp-xx, etc) (similar to 57510)

    "web-xx" prio=5 tid=0x3aadae30 nid=0x14ec in Object.wait() [417f000..417fdbc]
    at java.lang.Object.wait(Native Method)
    - waiting on <0x18689fb0> (a jrunx.scheduler.WorkerThread)
    at jrunx.scheduler.StackMutex.enter(StackMutex.java:47)
    - locked <0x18689fb0> (a jrunx.scheduler.WorkerThread)

    at jrun.servlet.network.NetworkService.accept NetworkService.java:356)
    at jrun.servlet.http.WebService.createRunnable(WebService.java:100)
    at jrunx.scheduler.ThreadPool$DownstreamMetrics.createRunnable(ThreadPool.java:320)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.createRunnable(ThreadPool.java:382)
    at jrunx.scheduler.ThreadPool$UpstreamMetrics.createRunnable(ThreadPool.java:274)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:62)

  • 55182 - getPathInfo works with paths greater than 16 characters. Less than 16 characters returns null. May be related to bug 53219.
  • 56622 - JRun deadlocks under load when JDBC session persistence is used to store a session data of about 1.5 Megs.
  • 56910 - JRun treats comma (,) as the cookie separator, while it seems that all other don't threat this as separator.
  • 57510 - JRun ProxyService (jrun.servlet.jrpp.JRunProxyService) becomes unreponsive when server has low load.
  • 57076 - HttpSession.setMaxInactiveInterval() doesn't work properly. It should reset session timeout with this method. JRun4 doesn't set it properly. Also if this method is called twice, the value is retained, but if it is called once, it doesn't reset session timeout.
  • 58875 - JRun4 session.getLastAccessedTime always returns the current access time
  • 56874 - RedHat AS 3.0. Can't start servers other than admin server using Sun JDK 1.5.0.

Connection pooling

  • 53486 - JRun loops for 30 seconds (30 attempts) trying to get a connection from pool. This looping affects connection-limited data sources - jrun-resources.xml <maximum-size>.   The old default was 10.

Connection-limited data sources
JRun and ColdFusionMX users who are using JRun pooling (for data sources that were entered in the JRun Management Console) can set the <maximum-soft> attribute to false for the data source in jrun-resources.xml. This attribute forces the pool to respect the <maximum-size> setting. Otherwise, the connection pool can push the database limit under load.  For more information on data source settings, see JRun Administrator's Guide.

Clustering

Clustering and failover has been improved as of Updater 4 and further enhanced in Updater 5. Users should apply Updater 5 to all JRun installations in a cluster. Running different versions of the Updaters simultaneously is not supported. The following issues have been resolved in JRun Updater 4 and Updater 5:

  • 50179 - The JRun connector doesn't immediately detect a remote server that is stopped.
  • 54628 - The jrun.serverstore file can become inaccurate if JRun servers and web servers are being restarted frequently.
  • 54629 - The jrun.serverstore does not re-initialize after startup. This can cause the web server connector to have inaccurate data if any cluster members are down when the connector starts up.
  • 52732 - Failover is unpredictable when hardware failures (such as a network outage) occur.
  • 55750 - If Cluster is inactive for over 2 hours, exception is throws while propagating the Security context.
  • 58477 - Connector serving requests incorrectly in a round-robin fashion to all servers in the cluster whether or not the cluster member has the application/mappings requested. The connector is not sorting the mappings from the JRun servers correctly.

For other changes in connector behavior see the technote index on the JRun support site.

EJB

  • 53506 - While using CMR (one-to-many), if in a business method on 'one' side, a collection modification (like add) method is called, ejbStore() is not called for the business method.
  • 53144 - JRun 4 doesn't display the {ejb.beanname.pool} or {ejb.pool} correctly for stateful session bean.
  • 53528 - ejbCreate method called for all object and home method calls for stateless session beans.
    It should be called only for homeMethod call.
  • 53448 - In One-to-Many relationship, if 'many' side has a composite primary key, 'Argument Type mismatch' Exception is thrown while retrieving the iterator for the collection. 
  • 53449- For CMP20, if composite primary key is used in the one-to-many relationships, and the primary key is having fields in primitive data type (like int, long etc), then 'Null Pointer Exception' is thrown while getting the iterator on the Collection.

JRun 4 in Action

 

JRun/Java Development Center

 

Support and Training

 

Related Products

ColdFusion 9

Add ColdFusion for the most productive scripting layer for J2EE.

Adobe Dreamweaver CS5

The ultimate tool for building web applications.

Adobe Flash Professional CS5

Leverage Flash and JRun to build Rich Internet Applications.