Add option to disable transaction nesting

Description

Currently when a transaction is created within another transaction the TransactionMonitor object is held on by the parent TransactionMonitor until the parent transaction is completed. This can be a problem if the parent transaction is processing a large amount of data and ends up creating a few 100,000 TransactionMonitor objects that are never able to be garbage collected. This can be avoided by allowing applications to disable transaction nesting.

The proposed solution is to add a NullInheritableStrategy implementation of InheritableStrategy that will never link child transactions to their parents and therefore allow child TransactionMonitor objects to be free for garbage collection as soon as they are complete.

Environment

None

Assignee

JacobT

Reporter

John Vanderpol

Labels

None

Affects versions

Priority

Minor
Configure