You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by Andrew Woods <aw...@fedora-commons.org> on 2009/03/31 20:33:14 UTC

embedded vs networked field-locking

Hello All,
We at Fedora-Commons (http://fedora-commons.org/) have recently
integrated Derby into our software baseline as the default backend
database.
We provide the option for users of our software to either not worry
about the database (in which case embedded-derby is started) or to use
and connect to their own existing networked-derby.

In running our integration test suite, everything works fine using the
networked-derby, but there is a row-locking issue when using the
embedded-derby.
Listed below are fragments from derby.log running the same test for
both networked and embedded-derby.
The difference (noted with '--->') seems to indicate that the
networked-derby commits the prepared statement twice, while the
embedded-derby only commits once.

The issue we are having is that the embedded-derby retains a lock on
the 'doFields.pid' field, causing subsequent statements to timeout.

Any help would be greatly appreciated.
Thanks,
Andrew

networked:
2009-03-31 17:21:20.485 GMT Thread[DRDAConnThread_3,5,main] (XID
=1520), (SESSIONID = 4), (DATABASE = fedora31), (DRDAID
=NF000001.C837-867223164725569765{5}), Begin compiling prepared
statement: SELECT doFields.pid FROM doFields :End prepared statement
2009-03-31 17:21:20.489 GMT Thread[DRDAConnThread_3,5,main] (XID
=1520), (SESSIONID = 4), (DATABASE = fedora31), (DRDAID
=NF000001.C837-867223164725569765{5}), End compiling prepared
statement: SELECT doFields.pid FROM doFields :End prepared statement
2009-03-31 17:21:20.494 GMT Thread[DRDAConnThread_3,5,main] (XID
=1520), (SESSIONID = 4), (DATABASE = fedora31), (DRDAID
=NF000001.C837-867223164725569765{5}), Executing prepared
statement:SELECT doFields.pid FROM doFields :End prepared statement
--->  2009-03-31 17:22:02.382 GMT Thread[DRDAConnThread_4,5,main]
(XID= 1522), (SESSIONID = 5), (DATABASE = fedora31), (DRDAID =
{6}),Committing
--->  2009-03-31 17:22:02.382 GMT Thread[DRDAConnThread_4,5,main]
(XID= 1522), (SESSIONID = 5), (DATABASE = fedora31), (DRDAID =
{6}),Committing
2009-03-31 17:22:02.388 GMT Thread[DRDAConnThread_4,5,main] (XID
=1523), (SESSIONID = 5), (DATABASE = fedora31), (DRDAID
=NF000001.OD03-1084521846746035191{6}), Executing prepared
statement:SELECT path FROM objectPaths WHERE token='demo:1' :End
prepared statement
2009-03-31 17:22:02.391 GMT Thread[DRDAConnThread_4,5,main] (XID
=1523), (SESSIONID = 5), (DATABASE = fedora31), (DRDAID
=NF000001.OD03-1084521846746035191{6}), Committing
2009-03-31 17:22:02.391 GMT Thread[DRDAConnThread_4,5,main] (XID
=1523), (SESSIONID = 5), (DATABASE = fedora31), (DRDAID
=NF000001.OD03-1084521846746035191{6}), Committing


embedded:
2009-03-31 16:48:37.410 GMT Thread[http-8080-Processor24,5,main] (XID=
21475), (SESSIONID = 1), (DATABASE =
/opt/fedora/derby/fedora31),(DRDAID = null), Begin compiling prepared
statement: SELECT doFields.pid FROM doFields :End prepared statement
2009-03-31 16:48:37.422 GMT Thread[http-8080-Processor24,5,main] (XID=
21475), (SESSIONID = 1), (DATABASE =
/opt/fedora/derby/fedora31),(DRDAID = null), End compiling prepared
statement: SELECT doFields.pid FROM doFields :End prepared statement
2009-03-31 16:48:37.440 GMT Thread[http-8080-Processor24,5,main] (XID=
21475), (SESSIONID = 1), (DATABASE =
/opt/fedora/derby/fedora31),(DRDAID = null), Executing prepared
statement: SELECT doFields.pid FROM doFields :End prepared statement
--->  2009-03-31 17:09:25.097 GMT Thread[http-8080-Processor24,5,main]
(XID = 21477), (SESSIONID = 2), (DATABASE
=/opt/fedora/derby/fedora31), (DRDAID = null), Committing
2009-03-31 17:09:25.098 GMT Thread[http-8080-Processor24,5,main] (XID=
21478), (SESSIONID = 2), (DATABASE =
/opt/fedora/derby/fedora31),(DRDAID = null), Executing prepared
statement: SELECT path FROM objectPaths WHERE token='demo:1' :End
prepared statement
2009-03-31 17:09:25.099 GMT Thread[http-8080-Processor24,5,main] (XID=
21478), (SESSIONID = 2), (DATABASE =
/opt/fedora/derby/fedora31),(DRDAID = null), Committing
2009-03-31 17:09:25.099 GMT Thread[http-8080-Processor24,5,main] (XID=
21478), (SESSIONID = 2), (DATABASE =
/opt/fedora/derby/fedora31),(DRDAID = null), Committing