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 <[email protected]>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.
