#At file:///home/os136802/mysql/develop/repo/falcon-transdel/ based on revid:vvaintroub@stripped
3050 Olav Sandstaa 2009-03-05
To reduce the probability of transaction inconsistencies due to RecordVersion's
transaction pointer pointing to deleted Transaction objects (see for instance bug#41357)
we temporarily disable deleting of old Transaction objects from the Transaction::commit().
After this all Transaction object will only be purged by the scavenger.
modified:
storage/falcon/Transaction.cpp
=== modified file 'storage/falcon/Transaction.cpp'
--- a/storage/falcon/Transaction.cpp 2009-03-02 23:21:28 +0000
+++ b/storage/falcon/Transaction.cpp 2009-03-05 09:20:35 +0000
@@ -290,7 +290,10 @@ void Transaction::commit()
// with the commit of this transaction we use the opportunity to clean up
// old transaction objects
- transactionManager->purgeTransactionsWithLocks();
+ // Temporarily disable this call and let the scavenger delete all
+ // old transactions object (see bug 41357)
+
+ // transactionManager->purgeTransactionsWithLocks();
syncCommitted.unlock();
syncActiveTransactions.unlock();
Attachment: [text/bzr-bundle] bzr/olav@sun.com-20090305092035-w6c8lpvhdyk0o3se.bundle