Uploaded image for project: 'Marmotta (Retired)'
  1. Marmotta (Retired)
  2. MARMOTTA-489

Concurrency tests over H2 fail in MacOS

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.2.0
    • 3.3.0
    • KiWi Triple Store
    • 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

    Description

      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

      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.

      Attachments

        1. MARMOTTA-489-traces.txt
          11 kB
          Rupert Westenthaler

        Issue Links

          Activity

            People

              wastl Sebastian Schaffert
              wikier Sergio Fernández
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 2h
                  2h
                  Remaining:
                  Remaining Estimate - 2h
                  2h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified