Sergio Fernández created MARMOTTA-489:
-----------------------------------------
Summary: Concurrency tests over H2 fail in MacOS
Key: MARMOTTA-489
URL: https://issues.apache.org/jira/browse/MARMOTTA-489
Project: Marmotta
Issue Type: Bug
Components: KiWi Triple Store
Affects Versions: 3.2.0, 3.3
Environment: Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
OSX 10.9.2 on MacBook Pro Retina, Mid 2012
Reporter: Sergio Fernández
Assignee: Sebastian Schaffert
Some users have reported issues with the KiWi concurrency test against H2 while
building the 3.2.0 release:
http://markmail.org/message/35z7xzps4hbkfnfm#query:+page:1+mid:hkj4y53dbznukfo6+state:results
{quote}
On every first build I got an error in the AfterClass of the H2
concurrency Test (kiwi-triplestore module).
org.apache.marmotta.kiwi.test.H2ConcurrencyTest Time elapsed:
3.64 sec <<< FAILURE!
java.lang.AssertionError: null
[..]
at
org.apache.marmotta.kiwi.test.H2ConcurrencyTest.dropDatabase(H2ConcurrencyTest.java:63)
Follow up builds (with -rf :kiwi-triplestore) have never shown this.
New build sometimes do. Looks like if this is somehow related on how
much Disc IO was done in-between two tests ...
I also randomly got failures that do look like they where all related
to concurrency (kiwi-triplestore module) (in –20% of the tests)
testPreparedTupleQuery2(org.apache.marmotta.kiwi.test.sesame.repository.KiWiRepositoryConnectionTest)
Time elapsed: 0.011 sec <<< FAILURE!
java.lang.AssertionError: unexpected value for name: "Alice"
expected:<"Bob"> but was:<"Alice">
[..]
at
org.apache.marmotta.kiwi.test.junit.KiWiDatabaseRunner$DatabaseTestClassRunner$ExecutionLogger$1.evaluate(KiWiDatabaseRunner.java:313)
at
org.apache.marmotta.kiwi.test.junit.KiWiDatabaseRunner$DatabaseTestClassRunner$CheckDBRule$1.evaluate(KiWiDatabaseRunner.java:295)
at
org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
There was also (once) an issue in the reasoner - could be also related
to concurrency as AFAIK the reasoning is also done in an own thread
testResolveBaseTriplesMulti(org.apache.marmotta.kiwi.reasoner.test.engine.JustificationResolutionTest)
Time elapsed: 0.216 sec <<< FAILURE!
java.lang.AssertionError: expected:<2> but was:<4>
[..]
at
org.apache.marmotta.kiwi.reasoner.test.engine.JustificationResolutionTest.testResolveBaseTriplesMulti(JustificationResolutionTest.java:190)
Finally two times I got what seams to be a deadlock of some sort in
the org.apache.marmotta.platform.core.test.config.ConfigurationServiceTest
Thread qtp614303200-48 - /marmotta/resource/YR6ENRVc is waiting on
an active Exclusive lock acquired in qtp614303200-48 -
/marmotta/resource/YR6ENRVc
java.lang.Throwable: null
at
info.aduna.concurrent.locks.LockManager.logStalledLock(LockManager.java:247)
[sesame-sail-api-2.7.11.jar:na]
[...]
at
org.openrdf.repository.base.RepositoryConnectionWrapper.setNamespace(RepositoryConnectionWrapper.java:489)
[sesame-repository-api-2.7.11.jar:na]
at
org.apache.marmotta.platform.core.services.triplestore.ContextServiceImpl.checkConnectionNamespace(ContextServiceImpl.java:150)
[classes/:na]
This exception was repeated every some minutes. I both cases I stopped
the process after ~10min.
{quote}
--
This message was sent by Atlassian JIRA
(v6.2#6252)