#At file:///C:/Work/bzr/Merge/mysql-6.0-falcon-team/
2923 Kevin Lewis 2008-12-03
Bug#41194 - The point in time in which a transaction
is visible as committed by all other transactions
should not occur before the point of durability.
Durability occurs when the commit record is written
to the serial log. This is the call to
database->commit(this) in Transaction::commit().
It needs to happen immediately after the status is
changed, but before other waiting transactions are
signaled.
modified:
storage/falcon/Transaction.cpp
per-file messages:
storage/falcon/Transaction.cpp
Bug#41194 - The point in time in which a transaction
is visible as committed by all other transactions
should not occur before the point of durability.
Durability occurs when the commit record is written
to the serial log. This is the call to
database->commit(this) in Transaction::commit().
It needs to happen immediately after the status is
changed, but before other waiting transactions are
signaled.
=== modified file 'storage/falcon/Transaction.cpp'
--- a/storage/falcon/Transaction.cpp 2008-11-20 17:05:50 +0000
+++ b/storage/falcon/Transaction.cpp 2008-12-03 15:40:46 +0000
@@ -310,15 +310,17 @@ void Transaction::commit()
transactionManager->activeTransactions.remove(this);
transactionManager->committedTransactions.append(this);
- state = Committed;
syncCommitted.unlock();
syncActiveTransactions.unlock();
-
- syncIsActive.unlock(); // signal waiting transactions
+ // Change the state and write a commit record to the serial log.
+
+ state = Committed;
database->commit(this);
+ syncIsActive.unlock(); // signal waiting transactions
+
delete [] xid;
xid = NULL;
xidLength = 0;
| Thread |
|---|
| • bzr commit into mysql-6.0-falcon-team branch (klewis:2923) Bug#41194 | Kevin Lewis | 3 Dec |