ExtremeTransactions 3.8.7

These are the release notes for ExtremeTransactions 3.8.7

130852: UniqueIdMgr: java.lang.RuntimeException: Already writing a new version

Fixed cleanup of resources when writing a new epoch file, to avoid exceptions under abnormal operating conditions.

123322: Avoid logging overhead for (root) transactions with only one participant

Transactions with only 1 participant (or resource) will resort to 1-phase commit and there is no way to recover their state. Therefore, logging adds useless overhead and is now avoided.

123291: Unexpected XAException errorCode during 2PC commit: call recover() to find out if retry makes sense

We now try to avoid unnecessary and annoying HeuristicHazard outcomes and dito retries, by doing extra checks in the XAResource backend whenever possible.

123502: Deadlock on multi-threaded JMS connection use

Fixed a deadlock condition when multiple threads use the same JMS connection, each in its own session.

126795: NullPointerException during borrowConnection in JMS with concurrent close of existing session

Fixed a NPE condition where concurrent borrow requests and close operations on existing sessions would interfere.

ExtremeTransactions 3.8.6

These are the release notes for ExtremeTransactions 3.8.6.

87749: Support short properties in JDBC and JMS connectors

We've improved support for short properties that need to be converted from a text/XML configuration file.

75549: Optimize JTA performance

The UserTransactionManager class has a class-level synchronized block used for init purposes. We've added extra checks so this block is only executed if really needed. This optimizes performance by limiting the number of cases where threads will block each other.

68724: Memory leak in the JDK's ObjectOutputStream

We've added a reset of the underlying ObjectOutputStream for serialized logging, to avoid high memory consumption when the JDK keeps pointers to all previously serialized objects since the last checkpoint.

102827: Errors on close/delist lead to connection pool exhaustion

Fixed a critical bug where errors on delist would cause connection pool exhaustion.

ExtremeTransactions 3.8.5

These are the release notes for ExtremeTransactions 3.8.5.

84851: Avoid logging overhead and warnings for empty transactions

Empty, committing transactions would needlessly generate logging overhead and also generate needless heuristic warnings upon recovery. This has now been fixed. For the original report, see this forum post.

107901: Avoid heuristic hazard state for recovered 1PC committing transactions

Committing 1PC transactions would be converted to heuristic hazard cases upon recovery, which is in fact incorrect because these will then undergo 2PC commit retry. This has now been fixed: committing 1PC transactions are now simply forgotten upon recovery.

99070: NPE in SessionHandleState at line 301

Improved synchronization to avoid race conditions while checking whether or not a connection is taking part in a transaction. Also see this report in the forums.

ExtremeTransactions 3.8.4

These are the release notes for ExtremeTransactions 3.8.4.

92227: Mockito must not be a transitive dependency

Fixed polluting Mockito dependency in the poms.

107634: Fix zip file for ExtremeTransactionsForMaven: remove top 2 directory folders

Removed top-level folders that make unzipping to artifactory impractical.

ExtremeTransactions 3.8.3

These are the release notes for ExtremeTransactions 3.8.3.

91931: Small correction to improve log output in connection pool

Improved logging during init of the connection pool.

ExtremeTransactions 3.8.2

These are the release notes for ExtremeTransactions 3.8.2.

105547: Timeout of active transaction generating too much log content

We now avoid generating too much log content for timeouts.

72744: Does max_actives also take recovered coordinators into account?

Fixed a condition where recovery could lead to out-of-memory errors.

84252: Hide warning on forceCloseAllPendingStatements

The logging noise in JDBC has been reduced significantly.

84253: Log warning in XAResourceTransaction if errors on prepare

Added warning to the log if prepare yields errors.

86779: Add optional property to NOT set timeout on XAResource so Oracle errors are avoided on recovery

The new 'propagateJtaTimeoutToXaResource' configuration property for JDBC and JMS now allows you to disable timeouts propagate via XA. For some vendor's XAResoure implementations this timeout seems to give problems and this property can serve as a workaround.

This was for a development team had no influence on the XA settings of the Oracle database (owned by the DBA team). The JTA/XA timeout they used seemed to conflict with the internal Oracle timeout settings, so they got lots of errors on recovery after a restart. This caused their project to look bad.

Since there was no control over their Oracle, this gave them a workaround to (at least) not interfere with transaction timeouts in Oracle. This meant they could avoid getting blamed by the DBAs for setting “bad" timeouts. We have no other record of occurrence, so it looks like this was not a common issue and unlikely something we can improve or change in our product. But we did want to allow users to tune / tweak XA somewhat in similar cases, because different vendors sometimes have different interpretations. Which brings us to the next feature below...

81146: Support vendor-specific flags on XAResource

Vendor-specific flags for starting a new XA branch as well as joining/suspending/resuming/ending an existing branch are now supported on the JDBC and JMS connector classes.

102830: Avoid logging user names and passwords in plain text

The new property 'xaPropertyNamesToHide' allows you to specify what vendor-specific XA properties should be hidden in the log entries. Typically, this would be used for sensitive information like passwords.

ExtremeTransactions 3.8.1

These are the release notes for ExtremeTransactions 3.8.1.

89815: 3.8 release: avoid Class.forName in logging for OSGi compatibility

Improved handling of class loading to be consistent in OSGi with the rest of the code base.

91579: Cannot instantiate JmxTransactionService in OSGi

Fixed JMX to work in OSGi too.

ExtremeTransactions 3.8.0

These are the release notes for ExtremeTransactions 3.8.0.

83620: OSGi woes with ATE 3.7.0

Improved exports in our OSGi bundle - for improved OSGi comfort.

70899: Implement logging API

As of this release, we no longer use our proprietary logging configuration mechanism. Instead, we now use your application's logging mechanism/framework by configuring a logger for com.atomikos or nested packages. This also yields better performance because w e no longer log to two destinations (our internal tm.out and other) but rather to one.

61595: Document: poolSize overrides minPoolSize and maxPoolSize

Improved poolSize javadoc.

69383: Example app for OSGi

The examples for ExtremeTransactions now contain a working OSGi example.

80529: JDK logging messed up in Tomcat webapps

Prior to this release we relied on the JDK logging API. Due to a built-in limitation of the JDK logging, Tomcat-based tm.out files would often be messed up. This should now be fixed, by allowing you to select a different logging strategy like log4j or logback.

89213: Improve performance of String processing

Various tuning interventions on String processing to improve performance here and there.

88660: Destroying pool: log as INFO, not WARN

The fact that the pool is being destroyed should not be a warning but rather an informational log entry. This has now been implemented as such.

Corporate Information

Atomikos Corporate Headquarters
Hoveniersstraat, 39/1, 2800
Mechelen, Belgium

Contact Us

Copyright 2026 Atomikos BVBA | Our Privacy Policy
By using this site you agree to our cookies. More info. That's Fine