Check out our new high-performance JDBC pools and more!

94285: Refactored connection pool with concurrentConnectionValidation

Refactored the connection pool: the testQuery is now executed outside of a synchronised block for better performance.

165262: Configuration.shutdown methods should log INFO message

In-line with INFO logging policies, shutdown methods now log an INFO message.

166914: ConnectionPool.borrowConnection: move testQuery execution outside of synchronised block

The testQuery used to be in a synchronised block, now this is no longer the case thanks to a new pool implementation. This is a port of fix 94285 (commercial branch) to the community.

166918: Simplified lock file handing on Windows

Merged https://github.com/atomikos/transactions-essentials/pull/5.

166919: Auto-create all necessary directories for log files

Merged https://github.com/atomikos/transactions-essentials/pull/9.

166920: Eclipse source bundle for this atomikos version

Merged https://github.com/atomikos/transactions-essentials/pull/10.

159940: Inefficiency in connection recycling

A call to borrowConnection() used to become blocked due to one thread entering canBeRecycledForCallingThread() it that then waited for the SessionHandleState lock - if in use by another connection at the same time. We fixed this by making canBeRecycledForCallingThread() returning false without locking.

167171: JMS issue on double open

Fixed a JMS issue which was first described here.

167189: JDBC/JMS connectors: create JNDI reference only after pool is created

We now create the JNDI reference only after the pool has been created - it does not make sense to expose a faulty pool.

167206: Improve logging - clarify "Prepare: NO vote"

We've clarified the error reporting to make it clearer what happened, and avoid confusion.

167208: Improve log warning for transaction timeout message

We've improved the logging for timeouts - to avoid confusion.

167209: Don't refresh XAResource for 1-phase commit

We used to refresh to XAResource on connectivity issues. Refreshing made little sense in case of 1-phase commit because there is no prepared transaction XID in the datasource, meaning a different connection would probably not know about it.

167220: Ensure that testQuery has no pool overhead

This is one of the best performance improvements we ever made: we now ensure that the (new) pool does not impact performance when setting a testQuery. This makes our pools about as fast as non-JTA/XA pools, meaning reliability comes without the performance cost for your application! (Check our commercial offerings if you want even more…)

167530: Recovery bug: init/checkpoint does not take the purge delay into account

Fixed a bug in the new recovery where checkpoints would purge too much.

167532: CachedRepository race condition: missing synchronisation

Fixed a synchronisation bug that would show up under high loads and would lead to incomplete checkpoints.

167358: REST/ACID: ParticipantAdapter should implement equals to avoid duplicate 2PC towards same backend

Fixed an issue with missing equals/hashCode implementations that would break 2-phase commit in certain conditions.

167400: New pool: avoid testQuery overhead on connection recycle

We've added a new pool that makes the testQuery more efficient. Now, we went even further and avoid the testQuery overhead on connection recycling. This mainly makes it faster for transactions that do multiple SQL statements in the same transaction.

167418: CleanupPendingTransactionContextFilter: also reset ThreadLocal transaction timeout

Thread reuse in Tomcat used to inherit the transaction timeout set by a previous request (if any). This could be confusing so we now reset the transaction timeout between requests.

167528: Tune default checkpoint interval for extra performance

The default checkpoint interval used to be suboptimal for performance - our commercial distribution is now tuned in this respect.

Available to customers only. Want to become a customer?

Send me a quote

Contact Us

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

E info@atomikos.com
E sales@atomikos.com
T +3215613055

Subscribe to our newsletter

Never miss an update

Copyright 2018 Atomikos BVBA