GT 4.0.4 Incremental Release Notes: OGSA-DAI

1. Introduction

These release notes are for the incremental release 4.0.4. It includes a summary of changes since 4.0.3, bug fixes since 4.0.3 and any known problems that still exist at the time of the 4.0.4 release. This page is in addition to the top-level 4.0.4 release notes at http://www.globus.org/toolkit/releasenotes/4.0.4.

For release notes about 4.0 (including feature summary, technology dependencies, etc) go to the OGSA-DAI 4.0 Release Notes.

2. Changes Summary

The only thing that has changed for OGSA-DAI WSRF since GT 4.0.3 is that the new globus jars that we bundle with our distribution have been updated to reflect those contained in the 4.0.4 release.

3. Bug Fixes

No OGSA-DAI WSRF-specific bug fixes have been made for this release.

4. Known Problems

The following problems are known to exist for OGSA-DAI at the time of the 4.0.4 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.

  • Performance:

    • 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.
  • Security:

    • Encrypted role map files are currently unsupported.
    • If a client does not provide a certificate then deliverFromGridFTP and deliverToGridFTP in a request will fail.
  • File activities:

    • 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.
  • General:

    • 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:

    • directoryAccessActivity
    • fileAccessActivity
    • fileManipulationActivity
    • deliverFromFTP
    • deliverToFTP
    • gzipDecompression
  • The deliverToStream activity only works if services are deployed in Tomcat.

5. For More Information

Click here for more information about this component.