From f09c069e92d051036af2a969fe5289cb7c4826ba Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Mon, 26 Oct 2015 08:22:49 +0000
Subject: [PATCH] OPENDJ-2349: fix deadlocks during subtree deletes and moddn
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java | 45 +++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 43 insertions(+), 2 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java
index 8c491f8..875b0b1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java
@@ -1704,6 +1704,12 @@
}
@Override
+ public void delete() throws NoSuchElementException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public void close()
{
key = value = null;
@@ -1903,6 +1909,12 @@
}
@Override
+ public void delete() throws NoSuchElementException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public void close()
{
key = value = null;
@@ -1994,6 +2006,12 @@
}
@Override
+ public void delete() throws NoSuchElementException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public void close()
{
key = null;
@@ -2116,6 +2134,12 @@
}
@Override
+ public void delete() throws NoSuchElementException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public void close()
{
closeSilently(orderedCursors);
@@ -2231,8 +2255,7 @@
totalNumberOfEntries++;
}
}
- // -1 because baseDN is not counted
- id2count.importPutTotalCount(asImporter(id2CountChunk), Math.max(0, totalNumberOfEntries - 1));
+ id2count.importPutTotalCount(asImporter(id2CountChunk), Math.max(0, totalNumberOfEntries));
new ChunkCopierTask(reporter, id2CountChunk, id2count.getName(), importer).call();
return null;
@@ -2508,6 +2531,12 @@
}
@Override
+ public void delete() throws NoSuchElementException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public void close()
{
// nothing to do
@@ -3282,6 +3311,12 @@
}
@Override
+ public void delete() throws NoSuchElementException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public long getNbBytesRead()
{
return bytesRead;
@@ -3336,6 +3371,12 @@
}
@Override
+ public void delete() throws NoSuchElementException, UnsupportedOperationException
+ {
+ delegate.delete();
+ }
+
+ @Override
public void close()
{
delegate.close();
--
Gitblit v1.10.0