From: <th...@us...> - 2010-10-07 21:04:22
|
Revision: 1961 http://azsmrc.svn.sourceforge.net/azsmrc/?rev=1961&view=rev Author: the8472 Date: 2010-10-07 21:04:16 +0000 (Thu, 07 Oct 2010) Log Message: ----------- well... now i know why i used .load Modified Paths: -------------- mldht/branches/indexer/DHTIndexer.jar mldht/branches/indexer/lbms/plugins/mldht/indexer/MetaDataGatherer.java Modified: mldht/branches/indexer/DHTIndexer.jar =================================================================== (Binary files differ) Modified: mldht/branches/indexer/lbms/plugins/mldht/indexer/MetaDataGatherer.java =================================================================== --- mldht/branches/indexer/lbms/plugins/mldht/indexer/MetaDataGatherer.java 2010-10-07 13:05:20 UTC (rev 1960) +++ mldht/branches/indexer/lbms/plugins/mldht/indexer/MetaDataGatherer.java 2010-10-07 21:04:16 UTC (rev 1961) @@ -280,7 +280,8 @@ Session session = HibernateUtil.getSessionFactory().openSession(); - Transaction tx = session.beginTransaction(); + Transaction tx = session.beginTransaction(); + ArrayList<Key> pivotBackup = (ArrayList<Key>) pivotPoints.clone(); try { @@ -358,6 +359,8 @@ { tx.rollback(); DHT.log(e, LogLevel.Info); + // restore on failure + pivotPoints = pivotBackup; // rolled back, don't start lookups return; } finally { @@ -534,8 +537,9 @@ TorrentDBEntry entry = e; - try { - session.refresh(entry); + try { + // need load to generate non-unique-object exceptions, refresh doesn't do that.. + session.load(entry, entry.id); } catch(ObjectNotFoundException ex) { // handle concurrent deletes session.save(entry); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |