db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suresh Thalamati <suresh.thalam...@gmail.com>
Subject Re: Releasing latches when waiting for locks. When and why?
Date Sat, 09 Dec 2006 02:11:14 GMT
Mike Matrigali wrote:
> 
> 
> Daniel John Debrunner wrote:
> 
>> Knut Anders Hatlen wrote:
>>
>>> Mike Matrigali <mikem_app@sbcglobal.net> writes:
>>>
< snip .?
>>
>> I'm not so sure. If it's simpler to keep page latching at the page 
>> level, then it would be better to remove the added complexity from the 
>> lock manager. What's the current state of IDEs/debuggers tracking down 
>> java synchronization deadlocks? Seems a better place to solve the 
>> problem.
> 
> And also does it help track down a deadlock that is half java 
> synchonization and half derby lock wait?
> 

I doubt IDES/Debuggers will helps if a user really hits a LATCH/LOCK 
or a LATCH/LATCH deadlock. Most of the time I would think they are not 
easily reproducible cases; All that user going to tell is DERBY is 
acting weird/frozen.

Recent jvms (jdk142 onwards) do tell if there is dead-lock on the 
monitor on a stack dump. I hope the stacks will give us some clues,
if the dead locks involves onlt latches or locks also.

If it is embedded , say in APP server I wonder how easy to get a
stack dump or how big it is going to be!

If some one is wondering , does these deadlocks  really happen, I 
found one : http://issues.apache.org/jira/browse/DERBY-1189
(but Mike seems to have got luckey with the repro)

Lock : LATCH, T1, Page(35,Container(0, 1728))
   Waiting XID : {385920, BaseContainerHandle:(Container(0, 1728))} , 
APP, CALL S
YSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE('APP', 'T1', 1, 1, 1)
   Granted XID : {385920, BaseContainerHandle:(Container(0, 1728))}
. The selected victim is XID : 385920.


If we are removing Latching  out of LockManager for perfromance 
reasons, my preference also would be to handle at  the page level, 
instead of having yet another indirection.

As Mike mentioned , it would be nice to have a VTI that will show the 
latches in the system.


Thanks
-suresh

Mime
View raw message