From: Jim Starkey Date: November 4 2008 9:44pm Subject: Re: Single Thread Deadlock List-Archive: http://lists.mysql.com/falcon/137 Message-Id: <4910C22D.7000809@nimbusdb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Kevin Lewis wrote: > Thanks, Jim, I'll get this into Falcon. > > Is there any way to make a repeatable testcase with a single engine? > > Jim Starkey wrote: >> There is a single thread deadlock in >> Database::upgradeSystemTables(). It starts by getting a shared lock >> on Database::syncSysDDL. If it decides that it actually needs to do >> a database upgrade, it then tried to get an exclusive lock on the >> same SyncObject. Deadlock. >> >> Changing the initial lock from Shared to Exclusive does the trick >> nicely. >> Alas, no. The deadlock only happens when Database::upgradeSystemTables() has actual work to do. It shows up trying to upgrade a Netfrastructure V2 database to V3 (aka Falcon). It would also show up the next time you decide to extend the Falcon system tables. Until then, it will have to sit around untestable (except by me and Hoagland). -- Jim Starkey President, NimbusDB, Inc. 978 526-1376