Table of Contents
- 1. Introduction
- 2. Obtaining and Installing Software
- 3. Documentation
- 4. Support
- 5. Licensing
- 6. Usage Statistics
- 7. Summary of Changes Since 4.0.5
- 8. All Fixed Bugs Since 4.0.5
- 9. Known Problems As of 4.0.6
- 10. Release Notes by Component
The Globus Toolkit development team is pleased to provide a new incremental release of the Globus Toolkit 4.0. Users who wish to receive the latest bug fixes and new features are encouraged to install this release. Highlights include:
This page describes only the changes since the 4.0.5 release. For details regarding previous 4.0 releases, see:
To download this release, go to the 4.0.6 Download page.
For information on installing this release, go to the 4.0 Installation Guide.
Use the existing documentation for 4.0, which starts at http://www.globus.org/toolkit/docs/4.0/.
An overview on GT support can be found here.
The Globus Toolkit is distributed and licensed for use under the terms of the Apache License, Version 2.0.
To view the licenses of the 3rd party software used by the developers of the Globus Toolkit, click here.
For full information about usage statistics collected by GT 4.0.6 and how to opt-out, see Usage Statistics Collection by the Globus Alliance.
The following changes have occurred for Java WS Core:
- Updated log4j to version 1.2.15
In addition to bug fixes, the following were changed since 4.0.5:
Preauth timeout increased to 120 seconds to avoid killing connections that authenticate too slowly due to machine load.
Default banner message extended to include the toolkit release version (i.e. Globus Toolkit 4.0.6).
Updated GPT package from 3.7 to 4.2. See MyProxy version history for details.
- Updated GPT package from 4.0 to 4.2.
- Upgraded to OpenSSH 4.7p1.
- Upgraded to HPN12v18 patch.
GridFTP Connection Caching code has been added to RFT in 4.0.6. This feature speeds up frequently repeated use of GridFTP transfers by keeping the connections involved open for a period of time. The basic cache characteristics are configurable.
To view the bug fixes, click here.
Highlights of this release include the new ability of the RLS server to automatically reconnect to a database management server (e.g., if the DBMS goes offline temporarily), a fix for installation and configuration on the Solaris platform, and a couple minor fixes for all platforms.
To view the bug fixes, click here.
Other than bug fixes, no changes have been made to WS GRAM since 4.0.5.
However, WS GRAM users could benefit from the RFT connection caching improvement in this release. For example, a Condor-G user submitting 1000 jobs that do file staging (no matter the file size) to the same WS GRAM service would benefit from the RFT enhancement. When submitting jobs with file staging or file cleanup directives, WS GRAM will use RFT to get that work done. If there are jobs for the same user that use the same two GridFTP servers, then RFT will cache that connection and reuse it for multiple jobs. This saves the effort of connecting, authenticating, authorizing for each file transfer. Performance tests showed improvements of around 30% and improved reliability. For this reason, 4.0.6 is highly recommended for WS GRAM users that make use of file staging and cleanup directives.
GridWay 5.2.3 mainly includes fixes for bugs reported by users and some performance improvements.
New to GridWay 5.2.3:
- New Information MAD
Bug 5231 was reopened and, as a result, a new Information MAD for MDS4 has been developed. Since this new MAD has significant performance improvements, its use is highly recommended.
- Better integration with GridGateWay
Some minor bugs has been solved to better integrate GridWay with the GridGateWay. In addition some bugs in the configure script have been solved. Therefore, this release is intended for those affected by the bugs below, and for the GridGateWay users.
The following bugs were fixed for Java WS Core:
The following bugs were fixed for Authorization Framework:
- Bug 3894: gss_assist_map_local_user() cannot handle multiple local usernames
- Bug 4116: globus_module_activate( GLOBUS_GRAM_CLIENT_MODULE ) behaves differently for ENOENT and EACCES
- Bug 4163: Better error message for grid-cert-request
- Bug 4530: grid-default-ca bad substitution error
- Bug 4696: grid-cert-info cannot extract info from .p12 files
- Bug 4928: grid-proxy-init -pwstdin does not work when using .p12 files
- Bug 5453: gss_unwrap() fails when it should not
- Bug 5474: Problem with session keys in globus_i_gsi_gss_utils.c
The following bugs were fixed for MyProxy:
- Fixed myproxy-replicate errors for credentials with usernames or crednames containing spaces.
- Fixed myproxy-logon/myproxy-retrieve -T bug that caused trust bootstrap to fail when no certificates directory exists.
- For myproxy-logon/myproxy-retrieve -T, fix handling of zero length files and process only regular files (not subdirectories).
- Bug 4529: setup-simple-ca bug
- Bug 5642:Merge GridFTP Connection Caching work to the release branch
The following bugs have been fixed in this release.
- Bug 989:Error message I get when 'grid-proxy-init' is all that's needed
- Bug 3726:GlobusRun error message typo
- Bug 3910:Bad permissions on condor log file prevents job submissions
- Bug 4908:Stage out failes in JobManager.pm
- Bug 4968:WS-Notification error: java.lang.ClassCastException: org.globus.exec.generated.StateChangeNotificationMessageWrapperType cannot be cast to org.w3c.dom.Element
- Bug 4984:Change in behaviour in usage of client-generated job resource keys
- Bug 5020:implementation of myceil in pbs.pm
- Bug 5032:Staging information removed from the perl description.
- Bug 5080:performance configuration doc section
- Bug 5363:UUID cache cleanup
- Bug 5395:Locally invoked services seem to get initialized twice with local invocations in a recovery situation
- Bug 5425:Backwards compatability break in 4.0.5
- Bug 5439:GramJob fails in destruction of deleg. creds of subjobs in a multijob
- Bug 5457:Misbehaviour of globus-gridmap-and-execute
- Bug 5511:Review synchronization in MJFS.createManagedJob()
- Bug 5514:Error in subject creation in LocalInvocationHelper
- Bug 5597:LocalInvocationHelper: wrong way of getting container configuration values
- Bug 5696:too generic error message by globus-job-manager-script.pl
- Bug 5760:Run JobManagerScript without creating a thread
- Bug 5245: Javadoc bugs in org.globus.gsi.CertUtil
- Multiple schemas which use the same namespace prefixes can confuse the WSDL parser.
- Nillable elements are not serialized or deserialized correctly if the element does not contain the minOccurs="0" attribute
- The service engine and clients are not thread-safe
- Bug 2530: END_OF_ENTITY
- Bug 3147: XIO doesn't provide for multiplexed drivers passing down driver_handle_cntl
- Bug 4186: Some GRAM security errors less informative than before
- Bug 4354: Encryption may cause a deadlock.
- Bug 4429: Memory leaks when using GSI driver from XIO library.
- Bug 5004: Failed assert in globus_l_xio_system_unregister_write on x86_64 platform
- Bug 484: Mem leak on deactivate_all
- Bug 686: globus_mutex_lock() behaves differently on Unix -vs- Win32
- Bug 1141: Misleading error messages using globus-makefile-header
- Bug 2791: Command globus-domainname needs g11n
- Bug 2793: Command globus-generalized-time needs g11n
- Bug 2794: Command globus-hostname needs g11n
- Bug 3081: Small leak in libltldl
- Bug 3107: Fatal error: tcp_init(): globus_io_tcp_create_listener() ...
- Bug 3436: globus_uuid MAC address retrieval doesn't work on solaris
- Bug 3509: GLOBUS_COMMON_MODULE->GLOBUS_CALLBACK_MODULE deactivation...
- Bug 3610: globus-makefile-header returns bad field
- Bug 4035: MacOS threading issues
- Bug 4097: Signal handling probrem on MacOS X
- Bug 4318: Pkgdata needs to make source dir explicit
- Bug 4348: globus-makefile-header generates invalid makefile for Index Service bindings
- Limitations: No new limitations have been identified.
- Bug 4963: CAS test sql Bug
- Limitations: No new limitations have been identified.
- Bug 4300: Delegation Service does not implement GetRP interface
- Bug 2709: The MyProxy package isn't internationalized.
- Bug 1712:-default should not be required the first time
You can find information about known issues here.
- Bug 3121: Bug in enforcing maximum active transfers in a container
- Bug 3324: gridftpd croaking on startup - globus_l_io_tcp_contact_string failed
- Bug 3214: Backend of GT4 GridFTPd should ignore ~/.globus/certificates
- Bug 3387: client library doesn't respect GLOBUS_HOSTNAME
- Bug 3761: globus_ftp_control library hangs at various places (depending on os)
- Bug 3807: "not a plain file" could be "file not found"
- Bug 3845: data channel authentication failure
- Bug 4119: Malformed UTF-8 character problem in globus-ftp-client tests
- Bug 4274: client library has no default striping layout.
The following known problems exist.
- Threading/Libc Problems: set LD_ASSUME_KERNEL=2.2.5 in your environment and see Platform Notes for more information.
- Bug 3656: ACLs cannot be modified dynamically
- Bug 3828: RLSClient crashes when a null parameter is passed to a method
- Bug 4114: Java apis fail on 64 bit machine (patch available)
- Bug 4141: regexec call in auth.c's auth_getperms
- Bug 4142: globus-rls-admin -s always indicates RLI does not exist
- Bug 4512: RLS query returns incomplete result on 64bit system (patch available)
- Bug 4630: RLS java client cannot load libaries through JNI on Mac (see workaround)
The following problems are known to exist for OGSA-DAI at the time of the 4.0.6 release and will be addressed in the future. If you have any others that you feel should be added to this list then please let us know.
You may also want to consult the platform-specific FAQ and general FAQ. Additional information may be posted in the advisories page which report any problems since the release, or the OGSA-DAI bugzilla which may also have information on any problems with the current release.
- Accessing the databaseSchema property for DB2/Cloudscape can sometimes retrieve unrelated meta-data and also cause OGSA-DAI to crash.
- Accessing the databaseSchema property for Oracle causes a server-side java.lang.OutOfMemoryError.
- Attempting to return a very large data set in a Response document can cause a server-side java.lang.OutOfMemoryError. This can be avoided by submitting an asynchronous request (one that uses an outputStream) and retrieving the results using a data service's data transport operations.
- Queries of tables for millions of small rows can eventually cause a server-side java.lang.OutOfMemoryError even if using stream activities and data transport operations.
- The fileWritingActivity attempts to read the whole file in a oner and so could cause a server-side java.lang.OutOfMemoryError for very large files.
Some databases, such as dBASE IV database on Microsoft Windows 2000, allow unusual characters, such as 0xC to be contained in certain field types. When field values containing this character, OGSA-DAI encodes them into invalid XML that subsequently causes Xerces-dependent components to raise an org.xml.sax.SAXParseException. Activities that have two outputs can sometimes cause java.lang.OutOfMemoryErrors to occur server-side if manipulating large amounts of data. This can arise when using the GZIP activities for example.
- Such activities are driven by one of the two connected activities and the other activity can accumulate data without processing it. So, for example for the GZIP activities OGSA-DAI focuses on the GZIP meta-data output steam and data only flows from this stream when a file has been completely unzipped. Therefore for large files the whole contents of the file flows into the activity and is buffered without being sent on.
- OGSA-DAI's GZIP activities will warn if memory usage is close to maximum and throw an OGSA-DAI exception server-side so that the web services container does not crash.
Error and exception handling:
- The failure of a single activity in a request can cause the status of all activities to be set to ERROR, even those that are not connected and succeeded.
- The data transport activities can gulp exceptions. For example if an sqlQueryStatement with a incorrectly formed SQL query statment is connected to an outputStream activity then attempting to pull data from the outputStream using the data transport operations results in no data - no indication of an error is given to the client.
- The uk.org.ogsadai.exception.DAILogger methods can sometimes log the wrong line numbers. Searching the logs will usually reveal where the problem actually arose.
- Encrypted role map files are currently unsupported.
- If a client does not provide a certificate then deliverFromGridFTP and deliverToGridFTP in a request will fail.
- The fileAccessActivity encodes text line-by-line if Base 64 encoding is being used. This may give different results from encoding a whole file in a oner.
- In fileWritingActivity, EOF means "end of file" when perLine has value false but "end of line" when perLine has value true.
- In fileWritingActivity only strings from its input stream are handled. Other block types e.g. bytes are ignored.
- Note that when deploying new data service resources dynamically via configurable data service this only works if the JARs required by the data service resource (e.g. database driver JARs) are already within the web service container's library directories. If this is not the case then the container has to be restarted.
- The data service terminate operation currently does nothing. It is intended as a placeholder for future development.
- Meta-data from a database, returned in the databaseSchema property, can be case-sensitive depending upon the database. For example MySQL might return a table called littleblackbook while DB2 returns LITTLEBLACKBOOK.
- The uk.org.ogsadai.common.BinaryLob class contains unimplemented methods which throw java.lang UnsupportedMethodException.
- Conversion of java.sql.ResultSet to XML WebRowSet returns empty key-column and map properties in the properties element.
- deliverFromGridFTP and deliverToGridFTP do not allow the setting of certain GridFTP parameters.
There is no support in the client toolkit for certain activities. These include:
- The deliverToStream activity only works if services are deployed in Tomcat.
The following known problems exist for this release.
- Bug 5079: invalidityTime bug
- Bug 3310:Inconsistency across components with respect to client command behavior.
- Bug 3865:Enhance RSL with Job Name
- Bug 3866:Support for parametric or array job types
- Bug 3892:Out of date performance data?
- Bug 3912:Rotation of gram_condor_log?
- Bug 4182:Improve Condor/Fork Job Monitoring for reliability and security
- Bug 4311:GRAM error log files
- Bug 4513:LD_LIBRARY_PATH should not be set if no library_path is specified
- Bug 4684:Loading persisted jobs with expired delegation resources causes stacktraces
- Bug 4751:GRAM2 GRAM4 Performance Comparison
- Bug 4787:no lifetime management for WS Rendezvous
- Bug 4790:stdout RP gets null
- Bug 4824:feature request: configurability of location where service writes PBS job scripts
- Bug 4833:command line program for service audit info
- Bug 4836:job submitted INFO level logging
- Bug 4864:environment variables containing '=' get escaped
- Bug 4918:user account details are cached even for unknown users
- Bug 4944:Multijob resources never yield to memory pressure and can't be destroyed
- Bug 5012:Container in livelock state for an incorrectly mapped DN
- Bug 5112:submitting job error
- Bug 5120:submitting job error with PBS
- Bug 5348:Missing documentation for job recovery information
- Bug 5397:GRAM4 recovery of persisted job resources needs to be reviewed
- Bug 5405:custom extensions in WS GRAM
- Bug 5414:Add globus_wsrf_gram_client_tools to 4.0 branch for 4.0.6
- Bug 5471:GRAM Jobs Hang in Unsubmitted State
- Bug 5525:Add support for OSC mpiexec (not MPICH2 command!) to PBS adapter
- Bug 5611:GramJob API changes to improve performace and efficiency
- Bug 5617:GRAM4 seg hangs with fork jobs
- Bug 5698:Allow a prologue/epilogue script for 'mpi' and 'multiple' jobs
- Bug 5711:globusrun-ws error with -term +HH:MM option
- Bug 5712:Gram auditing: local_job_id format variations
- Bug 5713:GRAM auditing: Failed database connection loses audit records
- Bug 5714:GRAM Auditing: additional data in audit records
- Bug 5725:Gram auditing: housekeeping for the auditRecords database
- Bug 5770:GRAM4 auditing: inconsistent data in job_description column of DB
- Bug 5776:GRAM4 auditing: Need for an INFO log message
- Bug 5777:GRAM2 audting: database connection times out
- Bug 5778:GRAM2 audting: no error message on db update failure
- Bug 227:Auth information made available in runtime environment
- Bug 720:allow gram client to detect the version of a gram server
- Bug 851:Add cleanup RSL attribute for cleaning up a job submission
- Bug 865:Total and available MEM not reported for gram inforproviders
- Bug 1460:Condor Jobmanager missing several features
- Bug 1538:Gatekeeper log rotation and logging job accounting info
- Bug 1550:Fixes for race condition in job manager
- Bug 1934:Gatekeeper's syslog output cannot be controlled
- Bug 2739:Gatekeeper AuthZ/Gridmap Callout result logging
- Bug 2741:catching SIGSEGV if dynamic loading of authorization modules fails
- Bug 3373:globus removes the temporary job directory before pbs writes back into it
- Bug 3795:jobmanager perl modules issues
- Bug 4199:Patch pre-WS GRAM to use individual condor logs for jobs
- Bug 4213:Patch to disable streaming
- Bug 4235:globus-job-manager doesn't exit if the job fails.
- Bug 4450:GT 4.0.1 globus-gatekeeper hang on UC/ANL TeraGrid
- Bug 4730:MPI Jobs using Globus LSF in HP XC Cluster....
- Bug 4747:Need evaluation of patch to JobManager.pm
- Bug 4771:date bug in job manager log file
- Bug 4779:gram GT2 log files: timestamps are not ISO 8601 compatible
- Bug 5143:DONE state never reported for Condor jobs when using Condor-G grid monitor
- Bug 5200:GRAM (pre-webservices) from OSG 0.6.0 (VDT 1.6.1) has bad syslog format
- Bug 5207:GRAM SoftEnv extension bug
- Bug 5250:Does not support mpi jobtype of RSL script
- Bug 5272:Invalid parsing of RSL file
- Bug 5429:stdin is lost when jobtype=multiple with jobmanager-lsf
- Bug 5536:Missing dependency in package globus_gram_job_manager_auditing
- Bug 5537:Missing dependency in package globus_gram_job_manager_auditing
- Bug 5554:GRAM2 4.0.5 setup-globus-job-manager-fork.pl silent failure
- Bug 5556:Audit directory setup instructions are insecure
- Bug 5580:ERROR regarding proxy lifetime should not be so frustrating - make it a WARNING
- Bug 5621:gram2 credential refresh problems in 4.0.5
- Bug 5688:asctime_r hardcoded in globus_gram_job_manager_auditing.c
- Bug 5775:gram status of old jobs incorrect on some lsf systems
The following is a list of all of the bugs known at the time for the 4.0.6 release:
LeasedAccountsResourceimplementation will quarantine an account if the expiration script fails for any reason; but currently we provide no user friendly mechanism for manually un-quarantining the account when the situation is cleared by an administrator. We are planning to release an update shortly.
Common Runtime Components