db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Egidijus Vaisnora <egidijus.vaisn...@nomagic.com>
Subject Derby bug?
Date Thu, 02 Jul 2009 07:33:18 GMT
Hello for All,

Questions first:

Deadlock between system tables - is it Derby bug?
Is it possible to avoid deadlock by configuring derby DB, let say changing lock granularity?

Issue:

I am using 3d part library which makes all transactions with Derby and in one single situation
(unfortunately not reproducible) 
I got error printing in log about deadlock. It could be 3d part library problem, however from
the log it obvious that deadlock 
appeared on Derby system tables (they are managed by Derby itself), therefore, I think, it
is related to Derby code, which 
doesn't synchronize two transactions accessing system tables. Here is log:

Lock : TABLE, SYSCOLUMNS, Tablelock
   Waiting XID : {9404, IS} , APP, SELECT cdo_version, cdo_created, cdo_revised, cdo_resource,
cdo_container, cdo_feature, 
name, id FROM core_File WHERE cdo_id= ? AND (cdo_revised = 0 )
   Granted XID : {7351, IX}
Lock : ROW, SYSTABLES, (2,14)
   Waiting XID : {7351, X} , APP, CREATE TABLE core_File (cdo_id BIGINT NOT NULL, cdo_version
INTEGER NOT NULL, cdo_class 
BIGINT NOT NULL, cdo_created BIGINT NOT NULL, cdo_revised BIGINT NOT NULL, cdo_resource BIGINT
NOT NULL, cdo_container BIGINT 
NOT NULL, cdo_feature INTEGER NOT NULL, name VARCHAR(32672), id VARCHAR(32672))
   Granted XID : {9404, S}
. The selected victim is XID : 9404.

Thanks,
-- 
Egidijus

Mime
View raw message