From 2ab070444b9ee8a1e306c140064b0506fbd5537f Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Wed, 20 May 2015 09:08:39 +0000
Subject: [PATCH] OPENDJ-1995 Can't restore new backend

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java
index b367b86..b5336b6 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java
@@ -810,7 +810,9 @@
     try
     {
       // FIXME: use full programmatic way of retrieving backup file once available in persistIt
-      String filesAsString = db.getManagement().execute("backup -f");
+      // When requesting files to backup, append only mode must also be set (-a) otherwise it will be ended
+      // by PersistIt and performing backup may corrupt the DB.
+      String filesAsString = db.getManagement().execute("backup -a -f");
       String[] allFiles = filesAsString.split("[\r\n]+");
       final List<Path> files = new ArrayList<>();
       for (String file : allFiles)
@@ -866,7 +868,7 @@
     try
     {
       // FIXME: use full programmatic way of switching to this mode once available in persistIt
-      db.getManagement().execute("backup -y -a -c");
+      db.getManagement().execute("backup -a -c");
     }
     catch (RemoteException e)
     {

--
Gitblit v1.10.0