From 12300e9ede17e7c8b1e35436b88565b285c3fb70 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 03 Feb 2015 14:17:00 +0000
Subject: [PATCH] OPENDJ-1762 (CR-5923) verify-index on non existing index fails with NullPointerException when the server is stopped
---
opendj3-server-dev/src/server/org/opends/server/backends/persistit/PersistItStorage.java | 12 ++++++++++--
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/VerifyJob.java | 4 ++++
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/BackendImpl.java | 2 +-
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/persistit/PersistItStorage.java b/opendj3-server-dev/src/server/org/opends/server/backends/persistit/PersistItStorage.java
index df2b606..bee6283 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/persistit/PersistItStorage.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/persistit/PersistItStorage.java
@@ -592,7 +592,11 @@
}
catch (final StorageRuntimeException e)
{
- throw (Exception) e.getCause();
+ if (e.getCause() != null)
+ {
+ throw (Exception) e.getCause();
+ }
+ throw e;
}
finally
{
@@ -655,7 +659,11 @@
}
catch (final StorageRuntimeException e)
{
- throw (Exception) e.getCause();
+ if (e.getCause() != null)
+ {
+ throw (Exception) e.getCause();
+ }
+ throw e;
}
finally
{
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/BackendImpl.java b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/BackendImpl.java
index 0651ad6..9d0d92d 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/BackendImpl.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/BackendImpl.java
@@ -947,7 +947,7 @@
{
return new DirectoryException(
DirectoryServer.getServerErrorResultCode(),
- LocalizableMessage.raw(e.getMessage()));
+ LocalizableMessage.raw(e.getMessage()), e);
}
}
if (/*e instanceof EnvironmentFailureException && */ !rootContainer.isValid()) {
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/VerifyJob.java b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/VerifyJob.java
index c3dc91a..ead972c 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/VerifyJob.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/VerifyJob.java
@@ -150,6 +150,10 @@
}
});
}
+ catch (StorageRuntimeException e)
+ {
+ throw e;
+ }
catch (Exception e)
{
throw new StorageRuntimeException(e);
--
Gitblit v1.10.0