Hi Rahul, This is the forum for development of the JDO API, specification & TCK. You're asking a question about DataNucleus, a JDO implementation, which would be better asked on their forum:
http://www.datanucleus.org/servlet/forum/index -matthew On Tue, Apr 10, 2012 at 4:43 AM, Rahul <[email protected]> wrote: > 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. -- @matthewadams12 mailto:[email protected] skype:matthewadams12 yahoo:matthewadams aol:matthewadams12 google-talk:[email protected] msn:[email protected] http://matthewadams.me http://www.linkedin.com/in/matthewadams
