LucidDB / luciddb

DEFUNCT: See README
https://github.com/LucidDB/luciddb
Apache License 2.0
53 stars 24 forks source link

[FRG-63] Threading error in DdlValidator #807

Open dynamobi-build opened 12 years ago

dynamobi-build commented 12 years ago

[reporter="jhyde", created="Wed, 8 Mar 2006 14:50:05 -0500 (GMT-05:00)"] There's a threading error in the DdlValidator. It drops a lock momentarily.
See the TODO in rollbackDeletions.

It has shown up as an exception in testConcurrentCreateDrop follows:

junit.framework.AssertionFailedError at
net.sf.farrago.test.regression.FarragoConcurrencyTestCase.executeTest
(FarragoConcurrencyTestCase.java:187) at
com.sqlstream.aspen.test.AspenConcurrencyTest.testConcurrentCreateDrop
(AspenConcurrencyTest.java:258) at sun.reflect.NativeMethodAccessorImpl.invoke0
(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39) at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25) at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:22) at
junit.extensions.TestSetup$1.protect(TestSetup.java:19) at
junit.extensions.TestSetup.run(TestSetup.java:23)

with the stack:

junit.framework.AssertionFailedError at
net.sf.farrago.test.regression.FarragoConcurrencyTestCase.executeTest
(FarragoConcurrencyTestCase.java:187) at
com.sqlstream.aspen.test.AspenConcurrencyTest.testConcurrentCreateDrop
(AspenConcurrencyTest.java:258) at sun.reflect.NativeMethodAccessorImpl.invoke0
(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39) at
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25) at
junit.extensions.TestDecorator.basicRun(TestDecorator.java:22) at
junit.extensions.TestSetup$1.protect(TestSetup.java:19) at
junit.extensions.TestSetup.run(TestSetup.java:23)

It's only happened once so far, so I'm making it p4 (post 0.5).

------- Comment #1 From John Sichi 2004-08-11 18:32 [reply] -------

Temporary fix in eigenchange 2597. The real fix requires DDL object-locking
infrastructure.

------- Comment #2 From John Sichi 2004-08-20 23:01 [reply] -------

Apparently the threading error wasn't the only problem, since it has reappeared
since I added extra synchronization. I suspect non-determinism in the order in
which MDR is traversing dependencies during drop.