Comment 1 for bug 1055557

Revision history for this message
Peter Beaman (pbeaman) wrote :

I think the mechanism is pretty straightforward: the proactive pruning logic uses a TransactionPlayer to read and prune transactions from the journal. TransactionPlayer#getExchange constructs an Exchange for this purpose and sets the create flag to true; this causes the tree to be created again.

A fix would be for the getExchange() method to know whether the exchange is passed to support pruning (in which case the tree should not be created) or reapplying a transaction in recovery (in which case it should be created).