You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2011/10/27 18:23:12 UTC

svn commit: r1189836 - in /directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log: DefaultLogScanner.java LogFlushManager.java

Author: elecharny
Date: Thu Oct 27 16:23:12 2011
New Revision: 1189836

URL: http://svn.apache.org/viewvc?rev=1189836&view=rev
Log:
Fixed an ArrayOutOfBound exception : the append() method should take the footer size as third parameter, not the magic number

Modified:
    directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log/DefaultLogScanner.java
    directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log/LogFlushManager.java

Modified: directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log/DefaultLogScanner.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log/DefaultLogScanner.java?rev=1189836&r1=1189835&r2=1189836&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log/DefaultLogScanner.java (original)
+++ directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log/DefaultLogScanner.java Thu Oct 27 16:23:12 2011
@@ -361,8 +361,6 @@ public class DefaultLogScanner implement
             markScanInvalid( null );
         }
         
-        
-        
         // Everything is fine advance last good offset and return
         prevLogFileOffset = LogFileRecords.LOG_FILE_HEADER_SIZE;
         

Modified: directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log/LogFlushManager.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log/LogFlushManager.java?rev=1189836&r1=1189835&r2=1189836&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log/LogFlushManager.java (original)
+++ directory/apacheds/branches/apacheds-txns/core/src/main/java/org/apache/directory/server/core/log/LogFlushManager.java Thu Oct 27 16:23:12 2011
@@ -349,7 +349,7 @@ import org.apache.directory.server.i18n.
         {
             flushedLSN = doFlush( uptoLSN, appendLockHeld );
             
-            // Now if there is a user buffer, flush from that        
+            // Now if there is a user buffer, flush from that
             if ( userBuffer != null )
             {
                 ByteBuffer headerFooterHead = logBuffer.headerFooterHead;
@@ -357,7 +357,7 @@ import org.apache.directory.server.i18n.
                 
                 headerFooterHead.rewind();
                 writeHeader( headerFooterHead, recordSize, flushLSN );
-                currentLogFile.append( logBuffer.headerFooterBuffer, 0, LogFileRecords.RECORD_HEADER_MAGIC_NUMBER );
+                currentLogFile.append( logBuffer.headerFooterBuffer, 0, LogFileRecords.RECORD_HEADER_SIZE );
                 
                 currentLogFile.append( userBuffer, offset, length );   
                 
@@ -609,4 +609,15 @@ import org.apache.directory.server.i18n.
         /** Keeps track of the number of waiters */
         int numWaiters;
     }
+    
+    
+    /**
+     * Flush the pending data on disk.
+     * @throws IOException If there is an IO issue
+     * @throws InvalidLogException If the log is invalid
+     */
+    public void sync() throws IOException, InvalidLogException
+    {
+        flush( flushStatus.uptoLSN, null, 0, 0, false );
+    }
 }