From f67af7588ba1f7827bc6ff907729d14bf39a19f6 Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Wed, 04 Jun 2008 17:24:01 +0000
Subject: [PATCH] Fix for issues 3255, 3265, and 3269:
---
opends/src/server/org/opends/server/backends/jeb/BackendImpl.java | 78 +++------------------------------------
1 files changed, 6 insertions(+), 72 deletions(-)
diff --git a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
index fb11878..23fc66b 100644
--- a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -30,7 +30,6 @@
import java.io.IOException;
import java.io.File;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.locks.Lock;
import java.io.FileInputStream;
import java.io.FilenameFilter;
@@ -733,15 +732,6 @@
}
throw createDirectoryException(e);
}
- catch (JebException e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
- throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
- e.getMessageObject());
- }
finally
{
ec.sharedLock.unlock();
@@ -758,7 +748,7 @@
*/
@Override()
public void addEntry(Entry entry, AddOperation addOperation)
- throws DirectoryException
+ throws DirectoryException, CanceledOperationException
{
writerBegin();
DN entryDN = entry.getDN();
@@ -788,15 +778,6 @@
}
throw createDirectoryException(e);
}
- catch (JebException e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
- throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
- e.getMessageObject());
- }
finally
{
ec.sharedLock.unlock();
@@ -811,7 +792,7 @@
*/
@Override()
public void deleteEntry(DN entryDN, DeleteOperation deleteOperation)
- throws DirectoryException
+ throws DirectoryException, CanceledOperationException
{
writerBegin();
@@ -840,15 +821,6 @@
}
throw createDirectoryException(e);
}
- catch (JebException e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
- throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
- e.getMessageObject());
- }
finally
{
ec.sharedLock.unlock();
@@ -863,7 +835,7 @@
*/
@Override()
public void replaceEntry(Entry entry, ModifyOperation modifyOperation)
- throws DirectoryException
+ throws DirectoryException, CanceledOperationException
{
writerBegin();
@@ -894,15 +866,6 @@
}
throw createDirectoryException(e);
}
- catch (JebException e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
- throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
- e.getMessageObject());
- }
finally
{
ec.sharedLock.unlock();
@@ -944,19 +907,9 @@
msg);
}
- Lock containerLock = currentContainer.sharedLock;
+ currentContainer.sharedLock.lock();
try
{
- containerLock.lock();
-
- if(currentContainer.getNumSubordinates(currentDN, true) >
- currentContainer.getSubtreeDeleteBatchSize())
- {
- containerLock.unlock();
- containerLock = currentContainer.exclusiveLock;
- containerLock.lock();
- }
-
currentContainer.renameEntry(currentDN, entry, modifyDNOperation);
}
catch (DatabaseException e)
@@ -967,18 +920,9 @@
}
throw createDirectoryException(e);
}
- catch (JebException e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
- throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
- e.getMessageObject());
- }
finally
{
- containerLock.unlock();
+ currentContainer.sharedLock.unlock();
writerEnd();
}
}
@@ -990,7 +934,7 @@
*/
@Override()
public void search(SearchOperation searchOperation)
- throws DirectoryException
+ throws DirectoryException, CanceledOperationException
{
readerBegin();
@@ -1019,16 +963,6 @@
}
throw createDirectoryException(e);
}
- catch (JebException e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
- Message message = ERR_JEB_DATABASE_EXCEPTION.get(e.getMessage());
- throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
- message);
- }
finally
{
ec.sharedLock.unlock();
--
Gitblit v1.10.0