Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 339884

Summary: Eclipse Link stops to make the nextval select for sequence filled id on objects persist
Product: z_Archived Reporter: Luca Barozzi <Luca.Barozzi>
Component: EclipselinkAssignee: Project Inbox <eclipselink.orm-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P2 CC: tom.ware
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Luca Barozzi CLA 2011-03-14 09:43:05 EDT
We have a strange situation in production environment. Eclipse Link simply stops to ask the database for new sequence values on objects persist. Database is an Oracle 11 and objects are annotated like this

[...]

@Entity
@Table(name="T_STATI_SCHEDA")
public class TStatiScheda implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name="T_STATI_SCHEDA_SQSTATISCHEDA_GENERATOR",   sequenceName="SQ_STATI_SCHEDA", allocationSize = 1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="T_STATI_SCHEDA_SQSTATISCHEDA_GENERATOR")
	@Column(name="SQ_STATI_SCHEDA")
	private long sqStatiScheda;

[...]

We cannot reproduce on Oracle 9i.

Here are logs for the working situation

2011-03-10 12:14:26,488 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.488--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--PERSIST operation called on: it.regioneveneto.model.jpa.manutenzionesedi.TStatiScheda@42fa9708.
2011-03-10 12:14:26,488 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.488--ClientSession(1372696722)--Thread(Thread[pool-19-thread-9,5,jboss])--Execute query ValueReadQuery(sql="SELECT SQ_STATI_SCHEDA.NEXTVAL FROM DUAL")
2011-03-10 12:14:26,488 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.488--ServerSession(767164646)--Thread(Thread[pool-19-thread-9,5,jboss])--reconnecting to external connection pool
2011-03-10 12:14:26,489 INFO  [STDOUT] (pool-19-thread-9) [EL Fine]: 2011-03-10 12:14:26.489--ServerSession(767164646)--Connection(496986933)--Thread(Thread[pool-19-thread-9,5,jboss])--SELECT SQ_STATI_SCHEDA.NEXTVAL FROM DUAL
2011-03-10 12:14:26,491 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.491--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--assign sequence to the object (4,789 -> it.regioneveneto.model.jpa.manutenzionesedi.TStatiScheda@42fa9708)
2011-03-10 12:14:26,491 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.491--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--Merge clone with references it.regioneveneto.model.jpa.manutenzionesedi.TScheda@5dc8355d
2011-03-10 12:14:26,491 INFO  [STDOUT] (pool-19-thread-9) [EL Finer]: 2011-03-10 12:14:26.491--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--begin unit of work commit
2011-03-10 12:14:26,492 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.491--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--Execute query DoesExistQuery(referenceClass=TStati )
2011-03-10 12:14:26,492 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.492--ServerSession(767164646)--Thread(Thread[pool-19-thread-9,5,jboss])--reconnecting to external connection pool
2011-03-10 12:14:26,493 INFO  [STDOUT] (pool-19-thread-9) [EL Fine]: 2011-03-10 12:14:26.493--ServerSession(767164646)--Connection(718679420)--Thread(Thread[pool-19-thread-9,5,jboss])--SELECT TP_SCHEDA FROM T_STATI WHERE ((TP_SCHEDA = ?) AND (FG_STATO = ?))
	bind => [MSD, 25]
2011-03-10 12:14:26,494 INFO  [STDOUT] (pool-19-thread-9) [EL Finer]: 2011-03-10 12:14:26.494--ClientSession(1372696722)--Connection(1396981212)--Thread(Thread[pool-19-thread-9,5,jboss])--begin transaction
2011-03-10 12:14:26,494 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.494--ClientSession(1372696722)--Thread(Thread[pool-19-thread-9,5,jboss])--reconnecting to external connection pool
2011-03-10 12:14:26,495 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.495--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--Execute query UpdateObjectQuery(it.regioneveneto.model.jpa.manutenzionesedi.TScheda@5dc8355d)
2011-03-10 12:14:26,495 INFO  [STDOUT] (pool-19-thread-9) [EL Fine]: 2011-03-10 12:14:26.495--ClientSession(1372696722)--Connection(624517433)--Thread(Thread[pool-19-thread-9,5,jboss])--UPDATE T_SCHEDA SET FG_STATO = ? WHERE (SQ_SCHEDA = ?)
	bind => [25, 2401]
2011-03-10 12:14:26,496 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.496--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--Execute query UpdateObjectQuery(it.regioneveneto.model.jpa.manutenzionesedi.TStatiScheda@5a945dab)
2011-03-10 12:14:26,497 INFO  [STDOUT] (pool-19-thread-9) [EL Fine]: 2011-03-10 12:14:26.497--ClientSession(1372696722)--Connection(624517433)--Thread(Thread[pool-19-thread-9,5,jboss])--UPDATE T_STATI_SCHEDA SET DT_FINE = ? WHERE (SQ_STATI_SCHEDA = ?)
	bind => [2011-03-10 12:14:26.136, 4741]
2011-03-10 12:14:26,498 INFO  [STDOUT] (pool-19-thread-9) [EL Finest]: 2011-03-10 12:14:26.498--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--Execute query InsertObjectQuery(it.regioneveneto.model.jpa.manutenzionesedi.TStatiScheda@42fa9708)
2011-03-10 12:14:26,498 INFO  [STDOUT] (pool-19-thread-9) [EL Fine]: 2011-03-10 12:14:26.498--ClientSession(1372696722)--Connection(624517433)--Thread(Thread[pool-19-thread-9,5,jboss])--INSERT INTO T_STATI_SCHEDA (SQ_STATI_SCHEDA, DT_INIZIO, DT_FINE, ID_UTENTE, ID_UTN_INCARICO, UT_UPDT, TIME_UPDT, SQ_SCHEDA, TP_SCHEDA, FG_STATO) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
	bind => [4789, 2011-03-10 12:14:26.136, null, roberto-deppieri, andrea-salmaso, roberto-deppieri, 2011-03-10 12:14:26.014, 2401, MSD, 25]
2011-03-10 12:14:26,499 INFO  [STDOUT] (pool-19-thread-9) [EL Finer]: 2011-03-10 12:14:26.499--ClientSession(1372696722)--Connection(624517433)--Thread(Thread[pool-19-thread-9,5,jboss])--commit transaction
2011-03-10 12:14:26,502 INFO  [STDOUT] (pool-19-thread-9) [EL Finer]: 2011-03-10 12:14:26.502--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--end unit of work commit
2011-03-10 12:14:26,502 INFO  [STDOUT] (pool-19-thread-9) [EL Finer]: 2011-03-10 12:14:26.502--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--resume unit of work
2011-03-10 12:14:26,502 INFO  [STDOUT] (pool-19-thread-9) [EL Finer]: 2011-03-10 12:14:26.502--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--begin unit of work commit
2011-03-10 12:14:26,502 INFO  [STDOUT] (pool-19-thread-9) [EL Finer]: 2011-03-10 12:14:26.502--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--end unit of work commit
2011-03-10 12:14:26,502 INFO  [STDOUT] (pool-19-thread-9) [EL Finer]: 2011-03-10 12:14:26.502--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--resume unit of work
2011-03-10 12:14:26,502 INFO  [STDOUT] (pool-19-thread-9) [EL Finer]: 2011-03-10 12:14:26.502--UnitOfWork(175963083)--Thread(Thread[pool-19-thread-9,5,jboss])--release unit of work
2011-03-10 12:14:26,502 INFO  [STDOUT] (pool-19-thread-9) [EL Finer]: 2011-03-10 12:14:26.502--ClientSession(1372696722)--Thread(Thread[pool-19-thread-9,5,jboss])--client released
2011-03-10 12:14:26,503 INFO  [STDOUT] (pool-19-thread-9) 12:14:26,503 INFO  [InVMServer] Message As Body: <?xml version="1.0" encoding="UTF-8"?>



and logs for the failure situation (ten minutes later, same environment)



2011-03-10 12:24:02,104 INFO  [STDOUT] (pool-19-thread-1) [EL Finest]: 2011-03-10 12:24:02.104--UnitOfWork(915633283)--Thread(Thread[pool-19-thread-1,5,jboss])--PERSIST operation called on: it.regioneveneto.model.jpa.manutenzionesedi.TStatiScheda@29d9666e.
2011-03-10 12:24:02,104 INFO  [STDOUT] (pool-19-thread-1) [EL Finest]: 2011-03-10 12:24:02.104--UnitOfWork(915633283)--Thread(Thread[pool-19-thread-1,5,jboss])--Merge clone with references it.regioneveneto.model.jpa.manutenzionesedi.TScheda@65e6238b
2011-03-10 12:24:02,104 INFO  [STDOUT] (pool-19-thread-1) [EL Finer]: 2011-03-10 12:24:02.104--UnitOfWork(915633283)--Thread(Thread[pool-19-thread-1,5,jboss])--begin unit of work commit
2011-03-10 12:24:02,105 INFO  [STDOUT] (pool-19-thread-1) [EL Finest]: 2011-03-10 12:24:02.105--UnitOfWork(915633283)--Thread(Thread[pool-19-thread-1,5,jboss])--Execute query DoesExistQuery(referenceClass=TStati )
2011-03-10 12:24:02,105 INFO  [STDOUT] (pool-19-thread-1) [EL Finest]: 2011-03-10 12:24:02.105--ServerSession(767164646)--Thread(Thread[pool-19-thread-1,5,jboss])--reconnecting to external connection pool
2011-03-10 12:24:02,106 INFO  [STDOUT] (pool-19-thread-1) [EL Fine]: 2011-03-10 12:24:02.106--ServerSession(767164646)--Connection(915271264)--Thread(Thread[pool-19-thread-1,5,jboss])--SELECT TP_SCHEDA FROM T_STATI WHERE ((TP_SCHEDA = ?) AND (FG_STATO = ?))
	bind => [MSD, 50]
2011-03-10 12:24:02,107 INFO  [STDOUT] (pool-19-thread-1) [EL Finer]: 2011-03-10 12:24:02.107--ClientSession(538770587)--Connection(1326199957)--Thread(Thread[pool-19-thread-1,5,jboss])--begin transaction
2011-03-10 12:24:02,107 INFO  [STDOUT] (pool-19-thread-1) [EL Finest]: 2011-03-10 12:24:02.107--ClientSession(538770587)--Thread(Thread[pool-19-thread-1,5,jboss])--reconnecting to external connection pool
2011-03-10 12:24:02,108 INFO  [STDOUT] (pool-19-thread-1) [EL Finest]: 2011-03-10 12:24:02.108--UnitOfWork(915633283)--Thread(Thread[pool-19-thread-1,5,jboss])--Execute query UpdateObjectQuery(it.regioneveneto.model.jpa.manutenzionesedi.TScheda@65e6238b)
2011-03-10 12:24:02,108 INFO  [STDOUT] (pool-19-thread-1) [EL Fine]: 2011-03-10 12:24:02.108--ClientSession(538770587)--Connection(709905086)--Thread(Thread[pool-19-thread-1,5,jboss])--UPDATE T_SCHEDA SET FG_STATO = ? WHERE (SQ_SCHEDA = ?)
	bind => [50, 2382]
2011-03-10 12:24:02,109 INFO  [STDOUT] (pool-19-thread-1) [EL Finest]: 2011-03-10 12:24:02.109--UnitOfWork(915633283)--Thread(Thread[pool-19-thread-1,5,jboss])--Execute query UpdateObjectQuery(it.regioneveneto.model.jpa.manutenzionesedi.TStatiScheda@741b1c7b)
2011-03-10 12:24:02,109 INFO  [STDOUT] (pool-19-thread-1) [EL Fine]: 2011-03-10 12:24:02.109--ClientSession(538770587)--Connection(709905086)--Thread(Thread[pool-19-thread-1,5,jboss])--UPDATE T_STATI_SCHEDA SET DT_FINE = ? WHERE (SQ_STATI_SCHEDA = ?)
	bind => [2011-03-10 12:24:01.791, 4713]
2011-03-10 12:24:02,110 INFO  [STDOUT] (pool-19-thread-1) [EL Finest]: 2011-03-10 12:24:02.11--UnitOfWork(915633283)--Thread(Thread[pool-19-thread-1,5,jboss])--Execute query InsertObjectQuery(it.regioneveneto.model.jpa.manutenzionesedi.TStatiScheda@29d9666e)
2011-03-10 12:24:02,110 INFO  [STDOUT] (pool-19-thread-1) [EL Fine]: 2011-03-10 12:24:02.11--ClientSession(538770587)--Connection(709905086)--Thread(Thread[pool-19-thread-1,5,jboss])--INSERT INTO T_STATI_SCHEDA (SQ_STATI_SCHEDA, DT_INIZIO, DT_FINE, ID_UTENTE, ID_UTN_INCARICO, UT_UPDT, TIME_UPDT, SQ_SCHEDA, TP_SCHEDA, FG_STATO) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
	bind => [0, 2011-03-10 12:24:01.791, null, giovanni-nordio, null, giovanni-nordio, 2011-03-10 12:24:14.062, 2382, MSD, 50]
2011-03-10 12:24:02,124 INFO  [STDOUT] (pool-19-thread-1) [EL Fine]: 2011-03-10 12:24:02.124--ClientSession(538770587)--Thread(Thread[pool-19-thread-1,5,jboss])--SELECT 1 FROM DUAL
2011-03-10 12:24:02,127 INFO  [STDOUT] (pool-19-thread-1) [EL Warning]: 2011-03-10 12:24:02.125--UnitOfWork(915633283)--Thread(Thread[pool-19-thread-1,5,jboss])--Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: ORA-00001: unique constraint (USER898_01O.PK_T_STATI_SCHEDA) violated

Error Code: 1
Call: INSERT INTO T_STATI_SCHEDA (SQ_STATI_SCHEDA, DT_INIZIO, DT_FINE, ID_UTENTE, ID_UTN_INCARICO, UT_UPDT, TIME_UPDT, SQ_SCHEDA, TP_SCHEDA, FG_STATO) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
	bind => [0, 2011-03-10 12:24:01.791, null, giovanni, null, giovanni, 2011-03-10 12:24:14.062, 2382, MSD, 50]



Eclipse Link simply stops to make the SELECT SQ_STATI_SCHEDA.NEXTVAL FROM DUAL query and binds the id value with zero. (Unique constraint violation starts on the second attempt to insert with zero.) 


Please help to solve the problem, thanks in advance,
Luca
Comment 1 Tom Ware CLA 2011-03-18 09:47:26 EDT
Setting target and priority.  See the following page for the meanings of these fields:

http://wiki.eclipse.org/EclipseLink/Development/Bugs/Guidelines

Community: Please vote for this bug if it is important to you.  Votes are one of the main criteria we use to determine which bugs to fix next.
Comment 2 Eclipse Webmaster CLA 2022-06-09 10:10:56 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink
Comment 3 Eclipse Webmaster CLA 2022-06-09 10:15:13 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink