Hi, I have written a program to insert list of records (around 2000 records) in oracle database using JDO.
While most of these records gets inserted sucessfully some records (around 30 records) are not getting inserted. Following error message are thrown in log file. javax.jdo.JDOException: Transaction failed to commit NestedThrowables: org.datanucleus.exceptions.NucleusObjectNotFoundException: No such database row'. Here was the line 'M.;CHARON;;GEORGES;[email protected];;0608996418;SIELA;5 RUE DES ORFEVRES;LES SORINIERES;44840;17;;0240057171;0240057071;;;;376170;intimacy;TRUE;FALSE;21/03/2012;;TRUE;;;Batiment' javax.jdo.JDOException: Transaction failed to commit at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:434) at org.datanucleus.jdo.JDOPersistenceManager.close(JDOPersistenceManager.java:286) NestedThrowablesStackTrace: No such database row org.datanucleus.exceptions.NucleusObjectNotFoundException: No such database row at org.datanucleus.store.rdbms.request.FetchRequest.execute(FetchRequest.java:330) at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.fetchObject(RDBMSPersistenceHandler.java:240) at org.datanucleus.jdo.state.JDOStateManagerImpl.loadFieldsFromDatastore(JDOStateManagerImpl.java:1929) at org.datanucleus.jdo.state.JDOStateManagerImpl.loadUnloadedFieldsInFetchPlan(JDOStateManagerImpl.java:1664) at org.datanucleus.jdo.state.JDOStateManagerImpl.detach(JDOStateManagerImpl.java:3660) at org.datanucleus.ObjectManagerImpl.performDetachAllOnTxnEnd(ObjectManagerImpl.java:3587) at org.datanucleus.ObjectManagerImpl.postCommit(ObjectManagerImpl.java:3658) at org.datanucleus.TransactionImpl.internalPostCommit(TransactionImpl.java:554) at org.datanucleus.TransactionImpl.commit(TransactionImpl.java:325) at org.datanucleus.ObjectManagerImpl.performDetachOnClose(ObjectManagerImpl.java:3638) at org.datanucleus.ObjectManagerImpl.close(ObjectManagerImpl.java:850) at org.datanucleus.jdo.JDOPersistenceManager.close(JDOPersistenceManager.java:276) Some observations noted : When JDO performs a close following methods are invoked in the order shown in logs. close performDetachOnClose commit internalPostCommit postCommit performDetachAllOnTxnEnd detach *loadUnloadedFieldsInFetchPlan loadFieldsFromDatastore fetchObject FetchRequest.execute* Why does JDO load files again and perfroms a fetch on close. I have applied the logic for JDO (Detach All On Commit) as suggested in link below http://db.apache.org/jdo/attach_detach.html I am trying to investigate this issue since few days but did not get any breakthrough , Can any one please guide me what investigation needs to be done further to resolve this issue. Thanks in Advance. Regards, Rahul -- View this message in context: http://apache-jdo.2283334.n4.nabble.com/org-datanucleus-exceptions-NucleusObjectNotFoundException-No-such-database-row-tp4545072p4545072.html Sent from the JDO - Development mailing list archive at Nabble.com.
