[
https://issues.apache.org/jira/browse/OPENJPA-466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672842#action_12672842
]
Tim McConnell commented on OPENJPA-466:
---------------------------------------
Hi again Joe, I can now replicate the problem on both postgresql and oracle
databases. Here is the error I get on oracle. Now, I will determine the cause
for each. Thanks for your help.....
Caused by: <openjpa-2.0.0-SNAPSHOT-r422266:743437M nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: ORA-00001: unique
constraint (SYSTEM.SYS_C004001) violated
{prepstmnt 30673895 INSERT INTO ENTITY_PERSON (id, firstName, lastName) VALUES
(?, ?, ?) [params=(int) 15662, (String) First_name_1011, (String)
Last_name_1011]} [code=1, state=23000]
FailedObject:
org.apache.openjpa.persistence.hightps.sequence.entityper...@114c8b6
at
org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4244)
at
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4209)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
at
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:72)
at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:127)
at
org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.batchOrExecuteRow(BatchingPreparedStatementManagerImpl.java:100)
at
org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:84)
at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:93)
at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:81)
at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:549)
at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:106)
at
org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:59)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
at
org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:630)
at
org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
... 15 more
> Primary key constraint violated using (Oracle) sequence to generate ID in
> multithreaded app
> -------------------------------------------------------------------------------------------
>
> Key: OPENJPA-466
> URL: https://issues.apache.org/jira/browse/OPENJPA-466
> Project: OpenJPA
> Issue Type: Bug
> Affects Versions: 1.0.0, 1.0.1, 1.1.0, 1.2.0
> Environment: OpenJPA 1.0.0 (also tried 1.0.1 and 1.1.0-SNAPSHOT)
> Oracle XE 10g (JDBC driver 10.2.0.3.0)
> Windows XP Pro
> Reporter: Frank Le
> Assignee: Tim McConnell
> Priority: Blocker
>
> Here's how I annotate the ID:
> @Id
> @SequenceGenerator(name = "FooSeq", sequenceName = "seq_foo",
> allocationSize = 20)
> @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "FooSeq")
> private Long id;
> Here's how I create the (Oracle) sequence:
> CREATE SEQUENCE seq_foo START WITH 1 INCREMENT BY 1;
> I get a primary key unique constraint violated in a multithreaded app i.e. it
> doesn't happen in single-threaded!
> You can simply reproduce this error by either create blocking queue or
> blocking thread pool say size 5 to insert 10000+ object.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.