Re: JPA identity : primary-key unicity violated


stephane
 

Thanks for your help. I looked at these logs. 

To clearly identify the id value, I made ids really different in the tables (multiply per 10, 100, ...) and reindexed the sequence table and add 100 to each value.

This seems to solve the situation but I don't know why that table was desynchronized.
I quickly looked at the code. It looks very good, obtain sequence values in synchronized block (I guess the locked ValueGenerator is a singleton) and the block reserved in db put a lock.

I can't check statically, but for concurrency and performances, it could be good to reserve the sequence value in a (short) dedicated db connection.
Does DN do it (regardless of connection pool, JTA, ...) ? I mention this because the application hang from time to time when I have some long tx running  and I don't know why yet.

--
Stephane

Join main@datanucleus.groups.io to automatically receive all group messages.