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.