From: Date: October 4 2008 1:56am Subject: bzr commit into mysql-6.0-falcon-team branch (cpowers:2852) Bug#39845 List-Archive: http://lists.mysql.com/commits/55298 X-Bug: 39845 Message-Id: <20081003235637.684B81DB0669@xeno.mysql.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit #At file:///home/cpowers/work/dev/dev-08/mysql/ 2852 Christopher Powers 2008-10-03 Bug#39845, "Falcon: Concurrent online DROP INDEX causes assertion" modified: storage/falcon/Table.cpp per-file messages: storage/falcon/Table.cpp Get shared lock to Table::rollbackRecord() to prevent concurrent drop index. === modified file 'storage/falcon/Table.cpp' --- a/storage/falcon/Table.cpp 2008-09-08 11:51:19 +0000 +++ b/storage/falcon/Table.cpp 2008-10-03 23:56:24 +0000 @@ -2117,7 +2117,10 @@ void Table::garbageCollect(Record *leavi if (!leaving && !staying) return; - Sync syncPrior(getSyncPrior(leaving ? leaving : staying), "Table::garbageCollect"); + Sync sync (&syncObject, "Table::garbageCollect(1)"); + sync.lock(Shared); + + Sync syncPrior(getSyncPrior(leaving ? leaving : staying), "Table::garbageCollect(2)"); syncPrior.lock(Shared); // Clean up field indexes