List:Falcon Storage Engine« Previous MessageNext Message »
From:Jim Starkey Date:November 4 2008 9:44pm
Subject:Re: Single Thread Deadlock
View as plain text  
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

Thread
Single Thread DeadlockJim Starkey4 Nov
  • Re: Single Thread DeadlockKevin Lewis4 Nov
    • Re: Single Thread DeadlockJim Starkey4 Nov