FAQ
So I was able to fix all but one unit tests running on Jenkins:

https://builds.apache.org/job/Cayenne-trunk/975/

Failed tests:
   testConcurrentInserts(org.apache.cayenne.dba.ConcurrentPkGeneratorTest)

John, this is your concurrent PK test … I can consistently reproduce its failures with H2 locally and when run in isolation from any other tests. From what I can gather, either we are not locking AUTO_PK_TABLE properly on H2 or H2 is not supporting such concurrency. So duplicate PK errors ensue and the test fails.

Not sure if we should go back to synchronized PkGenerator for H2? (Although ideally we should figure out how to make it behave).

A.

Search Discussions

  • Michael Gentry at Nov 28, 2013 at 12:28 pm
    I see H2 as a great test/demo database, but not something used for
    high-volume multi-user access or even shared persistent storage. If
    concurrent PK generation is a problem, I don't think there'd really be an
    issue in going back to synchronized.

    mrg


    On Thu, Nov 28, 2013 at 5:33 AM, Andrus Adamchik wrote:

    So I was able to fix all but one unit tests running on Jenkins:

    https://builds.apache.org/job/Cayenne-trunk/975/

    Failed tests:
    testConcurrentInserts(org.apache.cayenne.dba.ConcurrentPkGeneratorTest)

    John, this is your concurrent PK test … I can consistently reproduce its
    failures with H2 locally and when run in isolation from any other tests.
    From what I can gather, either we are not locking AUTO_PK_TABLE properly on
    H2 or H2 is not supporting such concurrency. So duplicate PK errors ensue
    and the test fails.

    Not sure if we should go back to synchronized PkGenerator for H2?
    (Although ideally we should figure out how to make it behave).

    A.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdev @
categoriescayenne
postedNov 28, '13 at 10:33a
activeNov 28, '13 at 12:28p
posts2
users2
websitecayenne.apache.org

2 users in discussion

Andrus Adamchik: 1 post Michael Gentry: 1 post

People

Translate

site design / logo © 2022 Grokbase