Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 93818 invoked from network); 16 Sep 2008 11:56:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Sep 2008 11:56:00 -0000 Received: (qmail 40479 invoked by uid 500); 16 Sep 2008 11:55:57 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 40413 invoked by uid 500); 16 Sep 2008 11:55:57 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 40404 invoked by uid 99); 16 Sep 2008 11:55:57 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Sep 2008 04:55:57 -0700 X-ASF-Spam-Status: No, hits=-1999.6 required=10.0 tests=ALL_TRUSTED,SUBJECT_FUZZY_TION X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Sep 2008 11:55:07 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id E8F0C2388986; Tue, 16 Sep 2008 04:55:39 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r695820 - in /directory/apacheds/trunk: jdbm-store/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndexTest.java jdbm/src/main/java/jdbm/recman/TransactionManager.java Date: Tue, 16 Sep 2008 11:55:39 -0000 To: commits@directory.apache.org From: elecharny@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080916115539.E8F0C2388986@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: elecharny Date: Tue Sep 16 04:55:38 2008 New Revision: 695820 URL: http://svn.apache.org/viewvc?rev=695820&view=rev Log: Applied Norval's patch to fix DIRSERVER-1255 Modified: directory/apacheds/trunk/jdbm-store/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndexTest.java directory/apacheds/trunk/jdbm/src/main/java/jdbm/recman/TransactionManager.java Modified: directory/apacheds/trunk/jdbm-store/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndexTest.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/jdbm-store/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndexTest.java?rev=695820&r1=695819&r2=695820&view=diff ============================================================================== --- directory/apacheds/trunk/jdbm-store/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndexTest.java (original) +++ directory/apacheds/trunk/jdbm-store/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndexTest.java Tue Sep 16 04:55:38 2008 @@ -75,11 +75,6 @@ loader.loadWithDependencies( bootstrapSchemas, registries ); this.registry = registries.getAttributeTypeRegistry(); - if ( dbFileDir != null ) - { - dbFileDir.delete(); - } - File tmpIndexFile = File.createTempFile( JdbmIndexTest.class.getSimpleName(), "db" ); tmpIndexFile.deleteOnExit(); dbFileDir = new File( tmpIndexFile.getParentFile(), @@ -108,8 +103,14 @@ { idx.sync(); idx.close(); - File file = new File( idx.getWkDirPath(), idx.getAttribute().getName() + ".db" ); - file.delete(); + + // created by this test + File dbFile = new File( idx.getWkDirPath(), idx.getAttribute().getName() + ".db" ); + assert dbFile.delete(); + + // created by TransactionManager + File logFile = new File( idx.getWkDirPath(), idx.getAttribute().getName() + ".lg" ); + assert logFile.delete(); } idx = null; Modified: directory/apacheds/trunk/jdbm/src/main/java/jdbm/recman/TransactionManager.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/jdbm/src/main/java/jdbm/recman/TransactionManager.java?rev=695820&r1=695819&r2=695820&view=diff ============================================================================== --- directory/apacheds/trunk/jdbm/src/main/java/jdbm/recman/TransactionManager.java (original) +++ directory/apacheds/trunk/jdbm/src/main/java/jdbm/recman/TransactionManager.java Tue Sep 16 04:55:38 2008 @@ -210,10 +210,13 @@ ObjectInputStream ois = new ObjectInputStream(fis); try { - if (ois.readShort() != Magic.LOGFILE_HEADER) + if (ois.readShort() != Magic.LOGFILE_HEADER) { + ois.close(); throw new Error("Bad magic on log file"); + } } catch (IOException e) { // corrupted/empty logfile + ois.close(); logFile.delete(); return; } @@ -223,6 +226,7 @@ try { blocks = (ArrayList) ois.readObject(); } catch (ClassNotFoundException e) { + ois.close(); throw new Error("Unexcepted exception: " + e); } catch (IOException e) { // corrupted logfile, ignore rest of transactions @@ -240,6 +244,7 @@ } } owner.sync(); + ois.close(); logFile.delete(); } @@ -313,9 +318,10 @@ // set clean flag to indicate blocks have been written to log setClean(txns[curTxn]); - // open a new ObjectOutputStream in order to store + // reset ObjectOutputStream in order to store // newer states of BlockIo oos = new ObjectOutputStream(fos); + oos.reset(); } /** Flushes and syncs */