From dbc982944cd13543eaa810c6eb0b78a7c2524d86 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Tue, 17 Jun 2014 13:40:54 +0000
Subject: [PATCH] OPENDJ-1449 : File-based changelog should handle partially written record left over from a previous failure CR-3768

---
 opends/src/server/org/opends/server/replication/server/changelog/file/Log.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/file/Log.java b/opends/src/server/org/opends/server/replication/server/changelog/file/Log.java
index 28f0366..a987233 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/file/Log.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/file/Log.java
@@ -26,7 +26,6 @@
 package org.opends.server.replication.server.changelog.file;
 
 import static org.opends.messages.ReplicationMessages.*;
-import static org.opends.server.loggers.debug.DebugLogger.*;
 import static org.opends.server.util.StaticUtils.*;
 
 import java.io.Closeable;
@@ -51,7 +50,6 @@
 import org.opends.messages.Message;
 import org.opends.messages.Severity;
 import org.opends.server.loggers.ErrorLogger;
-import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.replication.server.changelog.api.ChangelogException;
 import org.opends.server.replication.server.changelog.api.DBCursor;
 import org.opends.server.replication.server.changelog.file.LogFile.LogFileCursor;
@@ -105,8 +103,6 @@
  */
 final class Log<K extends Comparable<K>, V> implements Closeable
 {
-  private static final DebugTracer TRACER = getTracer();
-
   private static final String LOG_FILE_SUFFIX = ".log";
 
   static final String HEAD_LOG_FILE_NAME = "head" + LOG_FILE_SUFFIX;
@@ -702,6 +698,23 @@
     }
   }
 
+  /**
+   * Dump this log as a text files, intended for debugging purpose only.
+   *
+   * @param dumpDirectory
+   *          Directory that will contains log files with text format
+   *          and ".txt" extensions
+   * @throws ChangelogException
+   *           If an error occurs during dump
+   */
+  void dumpAsTextFile(File dumpDirectory) throws ChangelogException
+  {
+    for (LogFile<K, V> logFile : logFiles.values())
+    {
+      logFile.dumpAsTextFile(new File(dumpDirectory, logFile.getFile().getName() + ".txt"));
+    }
+  }
+
   /** {@inheritDoc} */
   @Override
   public void close()

--
Gitblit v1.10.0