SourceForge.net > HA-JDBC
 

History of Changes

RSS

Introduction and explanation of symbols

Changes are sorted by "true" and then chronologically with the most recent at the top. These symbols denote the various action types:add=add, fix=fix, remove=remove, update=update

Version 2.0.12 (March 18, 2008)

Changes to documentation

  • update Added linked source to javadoc. Committed by PF.

Changes to dependencies

  • update Upgraded Retrotranslator to 1.2.6. Committed by PF.
  • update Upgraded JGroups to 2.6.2. Committed by PF.
  • update Upgraded SLF4J to 1.5.0. Committed by PF.

Changes to code

  • fix Fixed case normalization in DatabaseMetaDataSupport.normalize(String, String). Committed by PF.
  • fix Fixed NullPointerException using CallableStatement stream methods. Committed by PF.
  • update Optimized Balancer implementations using copy-on-write concurrent collections. Committed by PF.
  • fix Eliminated some unnecessary runtime reflection. Committed by PF.
  • fix Fixed potential deadlock when synchronization is triggered while there are open transactions. Refactored statement read locking to lock and unlock at transaction boundaries. Removed obsoleted table locking in synchronization strategies. Committed by PF.
  • add Added ConnectionPoolDataSource and XADataSource proxies, the latter required to detect distributed transaction boundaries. Added necessary <xa-datasource> and <pool-datasource> configuration file elements. Committed by PF.
  • update Renamed net.sf.hajdbc.sql.DataSource to net.sf.hajdbc.DataSourceFactory. This should hopefully eliminate some confusion about its usage, as it is a javax.naming.spi.ObjectFactory and not a java.sql.DataSource implementation. Committed by PF.
  • fix Fixed Spanish translation of log messages. Committed by PF. Thanks to Alejandro Domenech.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Alejandro Domenech.

Version 2.0.11 (January 14, 2008)

Changes to code

  • fix Replaced accidental use of Method.getTypeParameters() with intended Method.getParameterTypes() in AbstractInvocationHandler. This fixes bug where state changing methods were not recorded properly and subsequently not replayed correctly on newly activated databases. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0.10 (January 8, 2008)

Changes to code

  • fix Fixed CronThreadPoolExecutor to work around potential inaccuracies in java.util.Date that could cause a task to be scheduled multiple times in a single cron interval. Committed by PF.
  • fix Connection.setReadOnly() should use DatabaseWriteInvocationStrategy instead of DriverWriteInvocationStrategy. Committed by PF.
  • update Refactored invoker recording to support any JDBC method regardless of InvocationStrategy implementation. Committed by PF.
  • fix Fixed replay of PreparedStatement and CallableStatement set*() methods for a newly activated database. Committed by PF.
  • update Cleanup logic in DatabaseWriteInvocationStrategy by splitting into TransactionalDatabaseWriteInvocationStrategy and NonTransactionalDatabaseWriteInvocationStrategy. Committed by PF.
  • fix Rollback TestNG to 5.6. Version 5.7 mysteriously skipped test methods. Committed by PF.
  • fix CallableStatement does not need to parse out sequences nor identity columns, nor detect SELECT...FOR UPDATE in SQL. Committed by PF.

Changes to tests

  • fix Fixed broken test cases. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0.9 (December 28, 2007)

Changes to dependencies

  • update Upgraded JGroups to 2.6.1. Committed by PF.

Changes to code

  • fix In DatabaseWriteInvocationStrategy, acquire read locks before Balancer.all() so that a newly activated database will not miss any pending write statements. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0.8 (November 19, 2007)

Changes to dependencies

  • update Upgraded JGroups to 2.6.0. Committed by PF.

Changes to code

  • fix Fixed infinite loop in CronThreadPoolExecutor when scheduled task throws an ExecutionException. Committed by PF. Thanks to gamani. See Issue 1832392.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
gamani.

Version 2.0.7 (November 9, 2007)

Changes to dependencies

  • update Upgraded Retrotranslator to 1.2.3. Committed by PF.
  • update Upgraded TestNG to 5.7. Committed by PF.

Changes to code

  • update Added local="true|false" attribute to database/datasource. Cluster panic detection now consults this flag instead of weight to determine whether a database is local or remote. Committed by PF.
  • update LocalLockManager now uses a custom semaphore-based ReadWriteLock implementation instead of ReentrantReadWriteLock. Removed obsolete DistributableLockAdapter hack. Committed by PF.
  • update Optimized DistributableLockManager using RpcDispatcher instead VotingAdapter. Committed by PF.
  • fix Fixed deadlocking in DistributableLockManager when simultaneous voting occurs for he same resource from different peers. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0.6 (October 17, 2007)

Changes to code

  • fix Fixed exception handling during startup to prevent subsequent javax.management.InstanceAlreadyExistsExceptions if database cluster fails to start. Committed by PF.
  • fix Fixed potential deadlocking sources and improved cpu friendliness of DistributableLockManger. Committed by PF. See Issue 1814865.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0.5 (October 15, 2007)

Changes to documentation

  • remove Removed obsolete JBoss jmx-console FAQ entry. Committed by PF.

Changes to code

  • fix Fixed bug in Dialect.getAlterSequenceSQL(...) and Dialect.getAlterIdentityColumnSQL(...) causing values > 999 to get formatted with grouping separators. Committed by PF. See Issue 1811698.
  • fix Added "cluster panic" detection to prevent asymmetric database deactivation during a network fragmentation when in distributable mode where databases are colocated on peer nodes. If HA-JDBC detects a cluster panic, the cluster is stopped. Manual intervention is required to resolve any consequent synchronization problems and to start the cluster. Committed by PF. See Issue 1738533.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0.4 (October 4, 2007)

Changes to code

  • fix Added look-ahead and to Dialect.evaluateCurrentTime() regular expression so that it does not match CURRENT_TIMESTAMP functions. Committed by PF.
  • fix Fixed NullPointerException regression in DistributableLockManager preventing database activation in distributable mode. Committed by PF.
  • update Use new official JDK 1.4 backport of JGroups instead of retrotranslating our own. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0.3 (September 24, 2007)

Changes to dependencies

  • update Upgraded JGroups to 2.5.1. Committed by PF.

Changes to code

  • fix Fixed infinite loop in DistributableLockManager while acquiring a lock when only one peer node is present. Committed by PF. See Issue 1799618.
  • fix Fixed missing membership listener registration in DistributableLockManager preventing proper lock cleanup. Committed by PF.
  • fix Defer creation of connection factories until needed since DataSource creation relies on JNDI environment properties that may not yet be established. Committed by PF. See Issue 1796975.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0.2 (September 14, 2007)

Changes to documentation

  • fix Fixed example Tomcat DataSource configuration. Committed by PF.

Changes to dependencies

  • update Upgraded SLF4J to 1.4.3. Committed by PF.

Changes to code

  • fix Added Dialect.getIdentifierPattern(...) method to work around buggy DatabaseMetaData.getExtraNameCharacters() in PostgreSQL driver since version 8.1. Bug causes unexpected failures during identity column detection when schema or table name contains non-standard characters. Committed by PF.
  • update Optimized StandardDialect.getDefaultSchemas() by replacing separate CURRENT_USER query with DatabaseMetaData.getUserName(). Committed by PF.
  • fix Fixed currentTimestampFunction() method of MaxDBDialect. Committed by PF.
  • add Created separate OracleDialect, formerly an alias of MaxDBDialect. Committed by PF.
  • add Created separate H2Dialect, formerly an alias of HSQLDBDialect. Committed by PF.
  • add Added new dialect for Sybase. Committed by PF.
  • add Added evaluateCurrentDate(String, java.sql.Date), evaluateCurrentTime(String, java.sql.Time), evaluateCurrentTimestamp(String, java.sql.Timestamp), and evaluateRandom(String) to Dialect interface to replace non-deterministic SQL functions (e.g. CURRENT_TIMESTAMP, RAND()) with deterministic static values. Added optional eval-current-date, eval-current-time, eval-current-timestamp, and eval-rand cluster attribute to enable these behaviors. Committed by PF.
  • update Both sequence and identity column detection are no longer enabled by default. Committed by PF.
  • remove Removed supportsSequences() and supportsIdentityColumns() methods from Dialect interface. The corresponding parseSequence(String) and parseInsertTable(String) methods now return null for dialects that do not support these features. Committed by PF.
  • fix Fixed race condition in DistributableLockAdapter that may prevent a lock from being released. Committed by PF.
  • add Added SynchronizationSupport.synchronizeIdentityColumns(...). Consequently, MySQL AUTO_INCREMENT columns are now fully supported. Committed by PF.
  • add Added DatabaseProperties.getSequences() and TableProperties.getIdentityColumns() to meta data cache facility. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0.1 (July 23, 2007)

Changes to code

  • fix LazyDatabaseMetaDataCache now caches DatabaseProperties using a SoftReference to prevent the cache from causing OutOfMemoryErrors. Committed by PF.
  • fix Refactored ThreadLocalDatabaseMetaDataCache to NullDatabaseMetaDataCache which no long stores its DatabaseProperties instance in a ThreadLocal since this can inadvertently act like a lazy cache if application threads are pooled. Replaced SynchronizationContext.getDatabaseMetaDataCache() with SynchronizationContext.getDatabaseProperties() so that meta data used during synchronization is still cached for the lifetime of the SynchronizationContext, regardless of cache implementation. Committed by PF.
  • update Re-implemented BalancerFactory, DialectFactory, and DatabaseMetaDataCacheFactory using enums. Committed by PF.
  • fix In DatabaseMetaDataSupport.normalize(...), adjust case of table to match the way identifiers are stored in the database. Committed by PF.
  • fix In DatabaseMetaDataSupport.quote(...), normalize identifiers to lower case if database is case-insensitive, yet stores identifiers in mixed case. Committed by PF.
  • update Fixed all benign compiler warnings reported by Eclipse. Committed by PF.
  • update Migrated simple string constants to Strings. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0.0 (July 16, 2007)

Changes to documentation

  • update Revised documentation. Committed by PF.

Changes to dependencies

  • update Upgraded EasyMock to 2.3. Committed by PF.
  • update Upgraded SLF4J to 1.4.2. Committed by PF.
  • update Upgraded JGroups to 2.5 GA. Committed by PF.

Changes to code

  • update Optimized failure handling in DatabaseWriteInvocationStrategy. Committed by PF.
  • update Optimized thread synchronization in DistributableLockAdapter. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0-rc-4 (July 7, 2007)

Changes to code

  • update In distributable mode, try to retrieve initial state from any remote node, not just "coordinator". Committed by PF.
  • fix Fixed deadlocking during activation/deactivation in distributable mode caused by redundant secondary notifications. Committed by PF.
  • update In distributable mode, do not send activation notifications to other nodes during cluster startup. Committed by PF.
  • fix In distributable mode, do not respond to initial state queries until cluster startup is complete. Committed by PF.
  • update Upgraded SLF4J to 1.4.1. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0-rc-3 (July 2, 2007)

Changes to code

  • update FailureDetectionTask and SQLProxy.handleFailure() will not deactivate any databases if they all appear to be dead. Committed by PF.
  • update Convert dynamic Class.cast() and Class.isInstance() to static cast and instanceof expressions wherever possible. Committed by PF.
  • fix Fixed bug during initialization where databases are added as dirty, triggering export of configuration file. Committed by PF.
  • fix When adding a database to the cluster, perform duplicate id check before registering database to avoid InstanceAlreadyExistsException. Committed by PF.
  • fix Fixed broken error message when attempting to remove a database that is still active. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 2.0-rc-2 (June 25, 2007)

Changes to dependencies

  • update Upgraded Retrotranslator to 1.2.2. Committed by PF.

Changes to code

  • fix Added toString() to DatabaseClusterMBean interface so that log messages will display cluster id properly. Committed by PF.
  • fix Fixed IllegalAccessError in JiBX marshalling during configuration export.n Committed by PF. Thanks to David White.
  • remove Removed Retrotranslator plugin for java.lang.management.ManagementFactory. This is now natively supported by Retrotranslator. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
David White.

Version 2.0-rc-1 (June 18, 2007)

Changes to dependencies

  • update Upgraded SLF4J to 1.4.0. Committed by PF.
  • update Upgraded JiBX to 1.1.5. Committed by PF.
  • update Upgraded JGroups to 2.5.0-cr1. Committed by PF.
  • update Upgraded TestNG to 5.6. Committed by PF.

Changes to code

  • fix Fixed memory leak with CONCUR_READ_ONLY result sets when using ResultSet.getStatement().close(). Committed by PF.
  • update Removed problematic singleton references to database clusters in DatabaseClusterFactory. Committed by PF.
  • update Require separate XML config file per database cluster. Committed by PF.
  • update Consolidated database-cluster and datasource cluster elements into single cluster element, as in 1.1. Removed id attribute from cluster element. Committed by PF.
  • update Modified configuration locator logic to first check driver connection properties or datasource config property for resource URL. Default resource name is now ha-jdbc-{0}.xml, where {0} is the cluster id. Committed by PF.
  • fix Added test for UnsupportedOperationException thrown when Quartz cron expression uses both day-of-week and day-of-month values. Committed by PF. Thanks to Hanson Char.
  • fix If a group member leaves, any distributed locks it held must be freed. Committed by PF.
  • update DistributableLockManager uses default vote response processor instead of its own implementation. Committed by PF.
  • remove Removed quoting of cluster ID and database ID in mbean ObjectName. JBoss users no longer need to patiently wait for this long standing jmx-console bug to be fixed. Committed by PF.
  • fix Fixed NoSuchElementException thrown during database activation when there are no active databases. Committed by PF.
  • fix Fixed IllegalMonitorStateExceptions in DistributableLockManager resulting from improper use of reentrant locks by multiple threads. Committed by PF.
  • update Optimized DistributableLockManager using a single phase VotingAdapter. Committed by PF.
  • fix Re-implemented DistributableStateManager to use synchronous MessageDispatcher instead of asynchronous NotificationBus. This will ensure that all nodes are notified of database activation prior to unlocking database tables during synchronization. Changed default jgroups protocol stack to "udp-sync". Committed by PF.
  • update Do not auto-deactivate the last database of a cluster. Committed by PF.
  • fix JGroups 2.5 uses Java 1.5 as a baseline, so retrotranslate this jar as part of 1.4 build. Committed by PF.
  • update Modified build to produce 3 different binary distributions, for Java 1.4, 1.5, and 1.6. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Hanson Char.

Version 2.0-beta-1 (April 23, 2007)

Changes to documentation

  • update Updated documentation to use Forrest 0.8. Committed by PF.

Changes to dependencies

  • update Upgraded JiBX to 1.1.3. Committed by PF.
  • update Upgraded JGroups to 2.5.0-beta-2. concurrent-*.jar is now obsolete. Committed by PF.
  • update Upgraded SLF4J to 1.3.1. Committed by PF.
  • update Upgraded Retrotranslator to 1.2.1. Committed by PF.
  • update Upgraded Woodstox to 3.2.1. Committed by PF.
  • update Upgraded TestNG to 5.5. Committed by PF.
  • add Added JDBC RowSet API to Java 1.4 runtime dependencies. Committed by PF.

Changes to code

  • fix Optimized PostgreSQLDialect.getLockTableSQL() by removing unnecessary select statement. Committed by PF. Thanks to David Goodenough.
  • fix Removed JVM shutdown hook since it may prevent proper shutdown of a server-managed connection pool. Committed by PF.
  • fix Fixed NullPointerException accessing meta data if database does not support schemas. Committed by PF. See Issue 1618746.
  • update Refactored Balancer.list() to return a set to better reflect balancer semantics. Committed by PF.
  • update Refactored DatabaseClusterMBean interface into DriverDatabaseClusterMBean and DataSourceDatabaseClusterMBean. LocalDatabaseCluster refactored into generic AbstractDatabaseCluster. Replaced <cluster> element in DTD with <database-cluster> and <datasource-cluster>. Committed by PF.
  • update Created StateManager to encapsulate management of database cluster state. Committed by PF.
  • update Distributable functionality no longer added via inheritance, but through lock manager and state manager implementations. Committed by PF.
  • add Created schema definition of HA-JDBC configuration as an alternative to DTD. Committed by PF.
  • update Reimplemented core logic to use dynamic instead of explicit proxies, decoupling HA-JDBC from a specific version of the JDBC API. Resulting jar is approximately half the size as before. Committed by PF.
  • update Refactored SynchronousExecutor implementation to extend AbstractExecutorService since the ExecutorService interface in Java 1.6 is not compatible with that of 1.5. Committed by PF.
  • update Java 1.6 adds auto-increment column identification to DatabaseMetaData.getColumns(). Added isAutoIncrement() to ColumnProperties interface populated only if this information exists. This value is now be consulted prior to querying the dialect to identify identity columns. Committed by PF.
  • fix Fixed regular expressions in dialects to properly negotiate whitespace. Committed by PF.
  • add Added support for JDBC 4.0 (i.e. Java 1.6). Committed by PF.
  • add Added support for mutable LOBs. Committed by PF.
  • add Added Java 1.6 service provider hook for HA-JDBC driver. Committed by PF.
  • add Added max batch size property to differential synchronization strategy to help prevent out of memory errors when a table contains many changes. Committed by PF.
  • update Use platform mbean server for cluster/database mbean registration. Provide retrotranslator plugin for java.lang.management.ManagementFactory that uses old logic to locate mbean server. Committed by PF.
  • fix Forced cleanup of open java.sql objects that were not accessed during an deactivate/reactivate cycle. Committed by PF.
  • fix Fixed german message transations. Committed by PF. Thanks to Kurt Huwig.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
David Goodenough, Kurt Huwig.

Version 1.2-beta-7 (December 1, 2006)

Changes to dependencies

  • update Upgraded JGroups to 2.4 GA (final). Committed by PF.
  • update Upgraded Retrotranslator to 1.1.0. Committed by PF.
  • update Upgraded Quartz to 1.6.0. Committed by PF.
  • update Upgraded Woodstox to 3.1.0. Committed by PF.
  • update Upgraded SLF4J to 1.1.0 RC1. Committed by PF.
  • update Upgraded TestNG to 5.3. Committed by PF.

Changes to code

  • fix Fixed sequence synchronization logic to use next value instead of current value since it may be undefined. Committed by PF.
  • update Refactored SynchronizationStrategy interface into distinct prepare (e.g. lock), synchronize, and cleanup (e.g. unlock) stages. Committed by PF.
  • update Created SynchronizationContext to simplify SynchronizationStrategy interface methods. Committed by PF.
  • update Refactored CronExecutorService to use CronExpression instead of CronTrigger. Committed by PF.
  • update Changed default distributable stack to "udp". Committed by PF.
  • fix Disabled support for identity columns in MySQL dialect. MySQL's implementation has no mechanism to synchronize auto-increment counter. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.2-beta-6 (October 24, 2006)

Changes to dependencies

  • update Upgraded Woodstox to 3.0.2. Committed by PF.

Changes to code

  • add Added support for identity columns. Committed by PF.
  • add Added new cluster attributes "detect-sequences" and "detect-identity-columns". Committed by PF.
  • add Added dialect implementations for Ingres and Mckoi. Committed by PF.
  • fix Fixed PostgreSQL Blob/Clob handling in differential and full synchronization strategies when large objects require updating. Committed by PF.
  • update Refactored DefaultDialect to StandardDialect and renamed dialect alias from "default" to "standard". Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.2-beta-5 (September 22, 2006)

Changes to dependencies

  • update Upgraded TestNG to 5.2. Committed by PF.

Changes to code

  • fix Fixed binding compilation error that only seemed to affect windows users. Committed by PF.
  • fix Fixed mbean registration race condition during startup in distributable mode. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.2-beta-4 (September 11, 2006)

Changes to dependencies

  • update Upgraded JGroups to 2.4-cr-2. Committed by PF.
  • update Upgraded Woodstox to 3.0.1. Committed by PF.
  • update Upgraded TestNG to 5.1. Committed by PF.

Changes to code

  • fix Force cleanup of underlying connections, statements, and result sets when a database is deactivated. Committed by PF. See Issue 1543962.
  • update Log cause of DatabaseCluster.isAlive(Database) failures. Committed by PF.
  • fix Fixed bug in DatabaseMetaDataSupport.getForeignKeyConstraints() causing method to always return an empty collection. Committed by PF.
  • fix Fixed bug in PostgreSQLDialect.getSequences(...) causing method to fail to when database does not contain any sequences. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.2-beta-3 (August 26, 2006)

Changes to dependencies

  • update Upgraded JGroups to 2.4-cr-1. Committed by PF.
  • update Upgraded Retrotranslator to 1.0.8. Committed by PF.

Changes to code

  • fix Fixed bug in DifferentialSynchronizationStrategy where generated select statements had duplicated columns. Committed by PF.
  • update Extracted interfaces from ColumnProperties, ForeignKeyConstraint, and UniqueConstraint. Implementations refactored into net.sf.hajdbc.cache package. Committed by PF.
  • fix Fixed bugs in MySQLDialect related to generating SQL for creating and dropping foreign keys and unique constraints. Committed by PF. Thanks to Stephan Hesse.

Changes to tests

  • add Added long needed unit tests for each synchronization strategy. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Stephan Hesse.

Version 1.2-beta-2 (August 10, 2006)

Changes to dependencies

  • update Upgraded TestNG to 5.0.1. Committed by PF.
  • update Upgraded Woodstox to 3.0.0. Committed by PF.

Changes to code

  • fix Fixed premature quoting of schema and tables in DatabaseMetaDataCacheSupport. Committed by PF.
  • fix Fixed NullPointerException in ThreadLocalDatabaseMetaDataCache. Committed by PF.
  • fix Fixed bug in SimpleBalancer where a database deactivation would trigger the deactivation of other databases of identical weight. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.2-beta-1 (July 19, 2006)

Changes to dependencies

  • update Upgraded Retrotranslator to version 1.0.7. Committed by PF.
  • update Upgraded JiBX to version 1.1. Committed by PF.
  • update Replaced XMLPull runtime library with StAX API + Woodstox implementation. Committed by PF.
  • update Upgraded JGroups to version 2.3-sp1. Committed by PF.
  • update Upgraded SLF4J to version 1.0.2. Committed by PF.
  • update Upgraded Quartz to version 1.5.2. Committed by PF.
  • update Upgraded EasyMock to version 2.2. Committed by PF.
  • update Upgraded TestNG to version 5.0. Committed by PF.

Changes to code

  • fix Fixed create/drop constraint methods of DefaultDialect to quote constraint names. Committed by PF. Thanks to Ryan Holmes.
  • update Modified Dialect interface to leverage ForeignKeyConstraint and UniqueConstraint objects to encapsulate constraint details. Committed by PF.
  • fix Fixed DefaultDialect to correctly generate create foreign key statements for foreign keys containing multiple columns, ON DELETE/UPDATE actions, and deferrability. Committed by PF.
  • add Created dialects for MySQL and Firebird. Committed by PF.
  • update DerbyDialect, HSQLDBDialect, MaxDBDialect now override createForeignKeySQL(). Committed by PF.
  • fix Fixed synchronization of PostgreSQL tables containing Blob (oid) columns. Committed by PF.
  • fix Modified differential synchronization strategy to use UPDATE statements instead of using updatable ResultSet, due to poor driver support. e.g. ResultSet.updateBlob(...) is not implemented in PostgreSQL driver. Committed by PF.
  • add Added DatabaseMetaData caching. New meta-data-cache attribute of cluster. Options are eager, lazy, or none. Committed by PF.
  • update Modified Dialect and SynchronizationStrategy interfaces to use DatabaseMetaDataCache objects. Committed by PF.
  • update Refactored Dialect interface with much simpler method signatures. Committed by PF.
  • update Leverages JGroups 2.3 multiplexing so that notification bus and distributable lock manager share the same channel. No more "discarded message from different group..." warnings in logs! "protocol" attribute of "distributable" element in DTD is replaced by "config" and "stack" attributes. Default for "config" is "stacks.xml" from JGroups distribution. Default for "stack" is "fc-fast-minimalthreads". Committed by PF.
  • fix Moved mbean registration to DatabaseCluster.start() and added mbean unregistration to DatabaseCluster.stop(). HA-JDBC initialization failures will no longer leave stray registered mbeans. Committed by PF.
  • update Replaced simple read-write locking with named read-write locking encapsulated by a LockManager. Committed by PF.
  • add Added support for sequences. Committed by PF.
  • fix Fixed non-default charset handling of Clobs. Committed by PF.

Changes to tests

  • update Refactored unit tests so that test classes implement subject interfaces. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Ryan Holmes.

Version 1.1 (April 21, 2006)

Changes to code

  • update Ensure that causes of initialization failures are logged. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.1-rc-2 (April 18, 2006)

Changes to code

  • fix Fixed IllegalArgumentException during startup when using transactions="xa". Committed by PF.
  • fix Fixed NullPointerException during startup when database does not define a driver. Committed by PF.
  • fix Fixed CronExecutorService to use daemon threads so that it doesn't prevent the shutdown hook from firing. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.1-rc-1 (April 9, 2006)

Changes to dependencies

  • update Upgraded Retrotranslator to version 1.0.3. Committed by PF.

Changes to code

  • fix Fixed Blob/Clob handling in PreparedStatement.setBlob(...)/setBlob(...) and ResultSet.updateBlob(...)/updateClob(...) methods. Committed by PF.
  • fix Fixed bug in DefaultDialect.qualifyTable(...) for databases that do not support schemas. Committed by PF.
  • add Added new required transactions="local|xa" option to cluster. When in local mode, database writes are performed concurrently. When in xa mode, database writes are performed synchronously to ensure a predictable execution order and prevent deadlocks. Committed by PF.
  • fix Added fault tolerance measures to cluster thread pool under high load. If pool size reaches max-threads threshold, database writes will be executed in the caller thread using java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy. Committed by PF.

Changes to tests

  • update Upgraded TestNG to 4.7. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.1-beta-7 (March 20, 2006)

Changes to documentation

  • update Revised main documentation. Added more FAQs. Committed by PF.

Changes to dependencies

  • add New dependency on Quartz (http://opensymphony.com/quartz/). Committed by PF.
  • add New dependency on SLF4J (http://slf4j.org). Committed by PF.
  • update Upgraded Retrotranslator to version 1.0.1. Committed by PF.
  • update Replaced commons-logging-1.0.4.jar with jcl104-over-slf4j.jar from SLF4J distribution. Committed by PF.

Changes to code

  • add Added auto-activate-period cluster option that will auto-activate failed database nodes at a configurable interval. Committed by PF. Thanks to Tapan Paul.
  • add Created CronThreadPoolExecutor, a java.util.concurrent.ThreadPoolExecutor that leverages a Quartz CronTrigger to calculate future execution times of a scheduled task. Committed by PF.
  • update Enhanced auto-activation and failure detection to use a cron schedule, instead of a simple fixed-delay period. Renamed failure-detect-period to failure-detect-schedule and auto-activate-period to auto-activate-schedule in DTD. Committed by PF.
  • update Migrated repository to Subversion. Committed by PF.
  • update Migrated logging facade from commons-logging to SLF4J. Committed by PF.
  • add Added management interface methods for adding and removing databases from a cluster. Committed by PF.
  • update Separated DatabaseMBean interface into InactiveDatabaseMBean (read-write) and ActiveDatabaseMBean (read-only). Committed by PF.
  • update Activating/Deactivating database reregisters the database using the appropriate active/inactive mbean interface. Committed by PF.
  • add Added dirty flag logic for Database attributes. If a database is dirty when it is activated, then the HA-JDBC configuration is exported. Committed by PF.
  • update Renamed "name" property of DataSource to "cluster", since "name" cannot be set by the BeanFactory from Tomcat's server.xml file. Committed by PF.

Changes to tests

  • update Migrated test suite to TestNG. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Tapan Paul.

Version 1.1-beta-6 (February 15, 2006)

Changes to code

  • fix Added workaround for missing ReentrantReadWriteLock(boolean) constructor in backport-util-concurrent package. Committed by PF.
  • update Added verify flag to retrotranslator compilation to catch future Java 1.4 compatibility issues. Committed by PF.
  • update Rollback change to PostgreSQL dialect. Removed batching of lock table commands. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.1-beta-5 (February 13, 2006)

Changes to code

  • fix Database activation uses Lock.lockInterruptibly() instead of Lock.tryLock() to prevent activation from failing due to concurrent writes. Committed by PF.
  • fix Fixed getLockTableSQL() from PostgreSQL dialect so that it can be executed within a batch. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.1-beta-4 (February 10, 2006)

Changes to dependencies

  • update Upgraded Retrotranslator to version 0.9.8. Committed by PF.

Changes to code

  • add Added optional failure-detect-period to configuration file. If defined, HA-JDBC will proactively detect database failures every specified number of seconds. Committed by PF.
  • add Replace DatabaseCluster.init() with start() and stop() methods. Committed by PF.
  • add Added JVM shutdown hook that calls stop() on each DatabaseCluster. Committed by PF.
  • add Derby dialect overrides getLockTableSQL(). Committed by PF. Thanks to Kurt Huwig.
  • update Refactored DistributableDatabaseCluster to extend LocalDatabaseCluster rather than contain/decorate it. Committed by PF.
  • update Refactored JiBX configuration to support both input and output binding directions. Committed by PF.
  • update Removed configuration related methods from SynchronizationStrategy interface removing the need for AbstractSynchronizationStrategy. Committed by PF.
  • add Implemented distributable read-write locking so that database writes are locked during database activation. This eliminates the need to deactivate databases that were newly actived upon completion of a database write. Committed by PF.
  • add Added mbean interfaces for Databases. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Kurt Huwig.

Version 1.1-beta-3 (January 27, 2006)

Changes to code

  • update Changed exceptions thrown by DatabaseClusterMBean methods to built-in Java exceptions so that they can be interpretted by a remote JMX client. Committed by PF.
  • add Added distributable locking to prevent multiple simultaneous synchronizations on the same cluster. Committed by PF.
  • add Added configurable timeout attribute to DTD for distributable operations. Committed by PF.
  • update Moved SELECT ... FOR UPDATE pattern definition to dialect. Committed by PF.
  • fix Fixed IndexOutOfBoundsException during database activation when one or more databases in the cluster is not alive. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.1-beta-2 (January 23, 2006)

Changes to dependencies

  • update Upgraded JiBX to version 1.0.1. Committed by PF.
  • update Upgraded JGroups to version 2.2.9.1. Committed by PF.
  • update Retrotranslator (http://retrotranslator.sf.net) leveraged for JDK 1.4 compatibility. Build script generates separate 1.4 jar and includes additional dependencies. Committed by PF.

Changes to code

  • fix Recorded Operations are stored in a Map keyed by class instead of a List to prevent unnecessary boundless growth. Committed by PF. Thanks to Ilkka Lassila.
  • fix DifferentialSynchronizationStrategy generates bad DELETE statements when table has multiple primary keys. Committed by PF. Thanks to Kurt Huwig.
  • fix Fixes german error message translations. Committed by PF. Thanks to Kurt Huwig.
  • fix DatabaseClusterFactory.createDatabaseClusterFactory() throws RuntimeException instead of SQLException to prevent java.sql.DriverManager from masking root cause of HA-JDBC configuration failures. Committed by PF.
  • fix Fixes potential NullPointerException if database is deactivated as a result of a read operation. Committed by PF.
  • update Migrated code base to Java 1.5. Committed by PF.
  • update Replaced Balancer.toArray() : Database[] with Balancer.list() : List<Database> Committed by PF.
  • add Added requiresTableLocking() method to SynchronizationStrategy interface. Committed by PF.
  • update During database activation, table locking is only performed if required by synchronization strategy. Committed by PF.
  • add All vendor specific customizations to HA-JDBC are now encompassed in the Dialect attribute of a cluster. This replaces the validate-sql attribute of a cluster; and the truncateTableSQL, createForeignKeySQL, dropForeignKeySQL, createUniqueKeySQL, and dropUniqueKeySQL properties of the diff and full synchronization strategies. Committed by PF.
  • add Created dialects for PostgreSQL, MaxDB, Derby, HSQLDB, and a default dialect. Committed by PF.
  • fix Changed default table locking query used during synchronization to use an innocuous UPDATE statement. Committed by PF.
  • fix Added more explicit logging for exceptions thrown during HA-JDBC initialization that end up getting masked by JiBX. Committed by PF.
  • fix Added missing rollback to exception handling in diff and full synchronization strategies. Committed by PF. Thanks to Kurt Huwig.
  • add In distributable mode, JGroups channel and protocols are registed with the mbean server. Committed by PF.
  • remove Removed obsolete net.sf.hajdbc.sql.pool.xa and net.sf.hajdbc.sql.pool packages. Committed by PF.

Changes to tests

  • update Unit tests now use EasyMock 2.0. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Ilkka Lassila, Kurt Huwig.

Version 1.1-beta-1 (December 13, 2005)

Changes to dependencies

  • add New dependency on JDK 1.4 backport of JDK 1.5 java.util.concurrent package. Committed by PF.
  • update Upgraded JGroups to version 2.2.9. Committed by PF.

Changes to code

  • update Uses configurable thread pooling for asynchronously executed write operations for improved efficiency and fault tolerance under high load. Committed by PF.
  • update Uses default-minimalthreads.xml from JGroups distribution as default distributable protocol. Committed by PF.
  • fix Synchronization strategies now use schema qualified table names when appropriate. Committed by PF.
  • fix Fixed problematic co-dependency between DatabaseCluster and ConnectionFactory. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0 (September 22, 2005)

Changes to documentation

  • add Added FAQ section for manually deleting local cluster state. Committed by PF.
  • add Added FAQ section for distinguishing application database users vs. HA-JDBC database users. Committed by PF.

Changes to dependencies

  • update Upgraded EasyMock to version 1.2. Committed by PF.

Changes to code

  • fix Fixed JDK 1.4 source compatibility issues. Committed by PF. Thanks to Roman Kurmanowytsch.
  • fix Added explicit logging to expose root causes of exceptions that are hidden by JiBX. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Roman Kurmanowytsch.

Version 1.0-rc-5 (September 15, 2005)

Changes to code

  • update During DatabaseClusterFactory initialization, if no mbean server can be found, an exception is thrown, rather than attempting to create a new one. Committed by PF.
  • fix Quote all identifiers used in synchronization to prevent SQL syntax errors in identifier is a reserved word. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-rc-4 (September 6, 2005)

Changes to documentation

  • add Added FAQ section for running HA-JDBC under Tomcat 5.0. Committed by PF.

Changes to code

  • fix Correct error message when connection to config url fails. Committed by PF. Thanks to Nick Rudnick.
  • update Avoid wrapping SQLException cause when a database operation fails. Committed by PF.
  • fix Fixed readProperties() and writeProperties(...) methods of AbstractSynchronizationStrategy to ignore the property "class". Committed by PF. Thanks to Matthew Wooller.
  • add Reintroduced PassiveSynchronizationStrategy. Committed by PF.
  • fix Added logic to LocalDatabaseCluster.loadState() to validate locally persisted cluster state. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Matthew Wooller, Nick Rudnick.

Version 1.0-rc-3 (August 23, 2005)

Changes to code

  • fix Fixed NullPointerException bug in LocalDatabaseCluster.loadState(). Committed by PF.
  • fix Distributable database activation commands should not reinvoke synchronization. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-rc-2 (August 21, 2005)

Changes to code

  • fix SELECT...FOR UPDATE queries are now detected and distributed to each database cluster node. Committed by PF.
  • fix Corrected German translation of error messages. Committed by PF. Thanks to Nick Rudnick.
  • fix Fixed infinite loop in AbstractSynchronizationStrategy.getProperties(). Committed by PF.
  • fix Fixed bug in LocalDatabaseCluster.loadState() when cluster is empty. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Nick Rudnick.

Version 1.0-rc-1 (August 2, 2005)

Changes to documentation

  • update Upgraded Forrest documentation to version 0.7. Committed by PF.

Changes to dependencies

  • update Upgraded JGroups to version 2.2.8. Committed by PF.
  • update Upgraded JiBX to version 1.0-rc-1. Committed by PF.

Changes to code

  • update Refactored HA-JDBC initialization and DTD. Synchronization strategies are now shared across all clusters. Each cluster defines a default synchronization strategy. Committed by PF.
  • add Added properties to cluster configuration to allow DataSources to define custom JNDI environment parameters and to allow Driver to define additional runtime parameters. Committed by PF.
  • update Changed default JGroups protocol stack to use FD instead of FD_SOCK. Committed by PF.
  • update activate(String) method in DatabaseClusterMBean interface will synchronize using the default synchronization strategy for the cluster. Committed by PF.
  • update Removed getSynchronizationStrategies() from DatabaseClusterMBean interface. Committed by PF.
  • fix Fixed ClassCastException during XADataSource initialization. Committed by PF.
  • fix SQLException wrapper properly reports vendor-specific error code and SQL state. Committed by PF.
  • update Updated DifferentialSynchronizationStrategy to use PreparedStatements for inserts and deletions instead of using problematic updatable result set methods. Committed by PF.
  • fix Fixed DifferentialSynchronizationStrategy to drop and re-create unique keys on each table to prevent possible unique constraint violations during sync. Committed by PF.
  • update DifferentialSynchronizationStrategy now correctly compares byte[] columns. Committed by PF.

Changes to tests

  • update Migrated unit tests from TestNG to JUnit in order to utilize EasyMock. Committed by PF.
  • add Added unit tests for net.sf.hajdbc.sql package. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-beta-8 (April 27, 2005)

Changes to dependencies

  • update Upgraded JiBX to version 1.0-rc-0. Committed by PF.

Changes to code

  • add Cluster state is now persisted locally so that it can be restored between application restarts. Committed by PF.
  • add Added customizable fetchSize property to each synchronization strategy to avoid out of memory errors when synchronizing large tables. Committed by PF.
  • fix Fixed issue with driver returning non-distributable connections when in distributable mode. Committed by PF.
  • fix Fixed issue in DifferentialSynchronizationStrategy with some updatable result set implementations where inserted rows were deleted again. Committed by PF.
  • fix Fixed ClassCastException in Connection.releaseSavepoint(Savepoint) and Connection.rollback(Savepoint) methods. Committed by PF.
  • fix Minor fixes to zero weight handling in random and load balancers. Committed by PF.
  • fix Corrected German translation of error messages. Committed by PF. Thanks to Oezcan Acar.
  • update executeWriteToDatabase() will now throw SQLException for Statements and ResultSets if some valid databases fail while others succeed and auto-commit is off, giving the client the opportunity to rollback the current transaction. Committed by PF.
  • update Connection.isReadOnly() was changed from executeReadFromDatabase() to executeReadFromDriver(). Committed by PF.
  • update Refactored java.sql.* proxy classes. Committed by PF.

Changes to tests

  • add Added TestNG unit tests for Driver, Connection, Statement, and each balancer implementation. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
Oezcan Acar.

Version 1.0-beta-7 (April 5, 2005)

Changes to code

  • fix Fixed buggy weighted round-robin algorithm. Committed by PF.
  • fix Round-robin balancer now handles databases with 0 weight properly. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-beta-6 (March 31, 2005)

Changes to code

  • update Database cluster now specifies 1 of 4 different strategies for balancing read requests: simple, random, round-robin, or load. Committed by PF.
  • update A database can define a weight to affect how it is prioritized by the balancer. Committed by PF.
  • update In distributed environment, a database cluster will get its initial state from the JGroups group coordinator. Committed by PF.
  • fix Fixed bug where auto (i.e. non-manual) database deactivation behaved locally even if environment is distributed. Committed by PF.
  • fix Fixed bug where synchronization strategies will fail if foreign key constraints have names that require quoting (e.g. $1, $2). Committed by PF.
  • update Lots of refactored code. Most notably, the HA-JDBC driver has moved to net.sf.hajdbc.sql.Driver Committed by PF.
  • update Protocol parameter is now optional for distributable clusters. Committed by PF.
  • add Added error message translations for German, Spanish, French, Italian, and Portuguese. Committed by PF. Thanks to AltaVista Babel Fish.
  • add Added error message for tables without primary keys in DifferentialSynchronizationStrategy. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

This is a list of other contributors:
AltaVista Babel Fish.

Version 1.0-beta-5 (March 3, 2005)

Changes to code

  • update Added better data type support for SynchronizationStrategy properties. Committed by PF.
  • fix Fixed Java 1.4 compatibility. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-beta-4 (February 18, 2005)

Changes to documentation

  • fix Fixed various bugs in documentation and javadoc. Committed by PF.

Changes to code

  • update getActiveDatabases() and getInactiveDatabases() no longer throw SQLException Committed by PF.
  • update Configuration DTD updated: Synchronization strategies and properties are now explicitly defined per cluster. Committed by PF.
  • add Added getSynchronizationStrategies() method to cluster management interface. Committed by PF.
  • update Changed symantics of activate(...) methods on management interface: activate(String, String) uses synchronization strategy identifier instead of class name; activate(String) now activates a database without synchronizing. Committed by PF.
  • remove PassiveSynchronizationStrategy is obsolete. Use activate(String) instead. Committed by PF.
  • update synchronize() method of SynchronizationStrategy interface no longer uses DatabaseClusterDescriptor. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-beta-3 (February 7, 2005)

Changes to code

  • add All log/exception messages are now localized. Committed by PF.
  • update Driver is no longer required when defining a driver-based cluster since underlying driver already be registered via the jdbc.drivers system property. Committed by PF.
  • fix Fixed bug in SQLException when nested exception chain is already initialized. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-beta-2 (January 8, 2005)

Changes to documentation

  • update Upgraded Forrest documentation to v0.6. Committed by PF.

Changes to code

  • add Added JMX interface to DatabaseCluster to allow administration of each cluster. Committed by PF.
  • update Refactored cluster initialization and management. Committed by PF.
  • update Distributable behavior implemented using command pattern. Committed by PF.
  • update Restructured configuration DTD adding new synchronization-related cluster properties. Committed by PF.
  • update Refactored distributable behavior to support activation. Committed by PF.
  • add Added ability to activate a failed database. Committed by PF.
  • add Created database synchronization strategies used during activation. Committed by PF.
  • update Allow simple names for DriverManager-based database cluster. Committed by PF.
  • update Enhanced large object support. Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-beta-1 (October 1, 2004)

Changes to dependencies

  • update Upgraded JGroups to v2.2.7 Committed by PF.

Changes to code

  • fix Fixed bug in connection.rollback() Committed by PF.
  • fix Fixed logic in PreparedStatement/CallableStatement.setXXXStream() and ResultSet.updateXXXStream() methods Committed by PF.
  • update Optimized asynchronous execution of write operations. Committed by PF.
  • update Improved consistancy of cluster when autocommit is true. Committed by PF.
  • update Prevent multiple logging of database deactivation Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-alpha-3 (August 30, 2004)

Changes to dependencies

  • update Upgraded JGroups to v2.2.6 Committed by PF.

Changes to code

  • update Configuration DTD is now PUBLIC Committed by PF.
  • fix Fixed thread safety bug in SQLProxy.executeWrite() Committed by PF.
  • update Changed license to LGPL, added license details to source code Committed by PF.
  • remove Removed obsolete RowSetProxy class, javax.sql.RowSet implementation are implicitly supported Committed by PF.
  • update Refactored package names to reflect project name Committed by PF.
  • update Replaced CHANGES.txt with this page Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-alpha-2 (July 17, 2004)

Changes to code

  • add Added ability specify location of configuration file using a system property Committed by PF.
  • update Extended classpath search for configuration file to include system classpath Committed by PF.
  • fix Fixed DataSource proxy initialization Committed by PF.
  • update DriverProxy now expects the cluster name to match the JDBC url Committed by PF.
  • add Several refactorings affecting configuration dtd Committed by PF.
  • fix Fixed bug in clean target of ant build file Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).

Version 1.0-alpha-1 (July 14, 2004)

Changes to code

  • add Initial Release Committed by PF.

Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Paul Ferraro (PF).