List:Commits« Previous MessageNext Message »
From:cpowers Date:April 9 2008 9:49pm
Subject:bk commit into 6.0 tree (cpowers:1.2635) BUG#35692
View as plain text  
Below is the list of changes that have just been committed into a local
6.0 repository of cpowers.  When cpowers does a push these changes
will be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2008-04-09 14:49:19-05:00, cpowers@stripped +1 -0
  Bug#35692, "Running falcon_record_cache_memory_leak2-big.test crashes Falcon"
  
  Removed exclusive lock on Table::syncObject in Table::validateAndInsert(). This
  lock was added as part of the original fix for this bug, but appears to be
  causing deadlocks.

  storage/falcon/Table.cpp@stripped, 2008-04-09 14:49:16-05:00, cpowers@stripped +2 -3
    Table::validateAndInsert: Removed extra exclusive lock on Table::syncObject.
    Table::getSyncPrior(): Minor change

diff -Nrup a/storage/falcon/Table.cpp b/storage/falcon/Table.cpp
--- a/storage/falcon/Table.cpp	2008-04-09 11:21:10 -05:00
+++ b/storage/falcon/Table.cpp	2008-04-09 14:49:16 -05:00
@@ -3282,7 +3282,6 @@ void Table::validateAndInsert(Transactio
 
 					if (transaction->waitForTransaction(transId))
 						{
-						syncTable.lock(Exclusive);
 						syncPrior.lock(Shared);
 						current = fetch(record->recordNumber);
 						
@@ -3744,12 +3743,12 @@ void Table::deleteRecordBacklog(int32 re
 SyncObject* Table::getSyncPrior(Record* record)
 {
 	int lockNumber = record->recordNumber % SYNC_VERSIONS_SIZE;
-	return &syncPriorVersions[lockNumber];
+	return syncPriorVersions + lockNumber;
 }
 
 SyncObject* Table::getSyncPrior(int recordNumber)
 {
 	int lockNumber = recordNumber % SYNC_VERSIONS_SIZE;
-	return &syncPriorVersions[lockNumber];
+	return syncPriorVersions + lockNumber;
 }
 
Thread
bk commit into 6.0 tree (cpowers:1.2635) BUG#35692cpowers9 Apr