List:Commits« Previous MessageNext Message »
From:Kevin Lewis Date:December 3 2008 6:02am
Subject:bzr push into mysql-6.0-falcon-team branch (klewis:2923) Bug#41194
View as plain text  
 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 before the status is changed.
modified:
  storage/falcon/Transaction.cpp

=== 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 06:00:21 +0000
@@ -300,6 +300,10 @@ void Transaction::commit()
 	releaseDependencies();
 	database->flushInversion(this);
 
+	// Write a commit record to the serial log.
+
+	database->commit(this);
+
 	// Transfer transaction from active list to committed list, set committed state
 
 	Sync syncActiveTransactions(&transactionManager->activeTransactions.syncObject, "Transaction::commit(2)");
@@ -317,8 +321,6 @@ void Transaction::commit()
 	
 	syncIsActive.unlock(); // signal waiting transactions
 
-	database->commit(this);
-
 	delete [] xid;
 	xid = NULL;
 	xidLength = 0;

Thread
bzr push into mysql-6.0-falcon-team branch (klewis:2923) Bug#41194Kevin Lewis3 Dec