From b88a555f5a584c355442ee8db6d218c9fe95fa36 Mon Sep 17 00:00:00 2001
From: Yannick Lecaillez <ylecaillez@forgerock.com>
Date: Tue, 17 Nov 2015 10:16:04 +0000
Subject: [PATCH] OPENDJ-2393: Possible index corruption

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AbstractTree.java |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AbstractTree.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AbstractTree.java
index 08b561b..539a26c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AbstractTree.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/AbstractTree.java
@@ -50,11 +50,11 @@
   public final void open(WriteableTransaction txn, boolean createOnDemand) throws StorageRuntimeException
   {
     txn.openTree(name, createOnDemand);
-    open0(txn);
+    afterOpen(txn);
   }
 
   /** Override in order to perform any additional initialization after the index has opened. */
-  void open0(WriteableTransaction txn) throws StorageRuntimeException
+  void afterOpen(WriteableTransaction txn) throws StorageRuntimeException
   {
     // Do nothing by default.
   }
@@ -62,9 +62,16 @@
   @Override
   public final void delete(WriteableTransaction txn) throws StorageRuntimeException
   {
+    beforeDelete(txn);
     txn.deleteTree(name);
   }
 
+  /** Override in order to perform any additional operation before index tree deletion. */
+  void beforeDelete(WriteableTransaction txn) throws StorageRuntimeException
+  {
+    // Do nothing by default.
+  }
+
   @Override
   public final long getRecordCount(ReadableTransaction txn) throws StorageRuntimeException
   {

--
Gitblit v1.10.0