From ead416fd200146255cc99752d62349471da2bbaa Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Fri, 30 Jul 2010 13:34:25 +0000
Subject: [PATCH] Implements disk space monitoring for the JEB backend, import and rebuild operations. When low disk space is threshold is reached, the operation will abort and close the environment cleanly. All indexes will be left in the "untrusted" state so the user knows the DB is invalid. It will also print the appropriate message depending on which import phase when the threshold is reached: * phase 1 failure: import append + replace required to continue. * phase 2 failure: rebuildAll required to continue.
---
opendj-sdk/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java | 28 +++++++++++++++-------------
1 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
index 3ba2210..093cfae 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -1755,36 +1755,38 @@
/**
* {@inheritDoc}
+ * @param monitor
*/
- public void diskLowThresholdReached(long bytesFree) {
+ public void diskLowThresholdReached(DiskSpaceMonitor monitor) {
Message msg = ERR_JEB_DISK_LOW_THRESHOLD_REACHED.get(
- getFileForPath(cfg.getDBDirectory()).getPath(), cfg.getBackendId(),
- bytesFree, Math.max(cfg.getDiskLowThreshold(),
- cfg.getDiskFullThreshold()));
+ monitor.getDirectory().getPath(), cfg.getBackendId(),
+ monitor.getFreeSpace(), Math.max(monitor.getLowThreshold(),
+ monitor.getFullThreshold()));
DirectoryServer.sendAlertNotification(this,
ALERT_TYPE_DISK_SPACE_LOW, msg);
}
/**
* {@inheritDoc}
+ * @param monitor
*/
- public void diskFullThresholdReached(long bytesFree) {
+ public void diskFullThresholdReached(DiskSpaceMonitor monitor) {
Message msg = ERR_JEB_DISK_FULL_THRESHOLD_REACHED.get(
- getFileForPath(cfg.getDBDirectory()).getPath(), cfg.getBackendId(),
- bytesFree, Math.max(cfg.getDiskLowThreshold(),
- cfg.getDiskFullThreshold()));
+ monitor.getDirectory().getPath(), cfg.getBackendId(),
+ monitor.getFreeSpace(), Math.max(monitor.getLowThreshold(),
+ monitor.getFullThreshold()));
DirectoryServer.sendAlertNotification(this,
ALERT_TYPE_DISK_FULL, msg);
}
/**
* {@inheritDoc}
+ * @param monitor
*/
- public void diskSpaceRestored(long bytesFree) {
- Message msg = NOTE_JEB_DISK_SPACE_RESTORED.get(bytesFree,
- getFileForPath(cfg.getDBDirectory()).getPath(), cfg.getBackendId(),
- Math.max(cfg.getDiskLowThreshold(),
- cfg.getDiskFullThreshold()));
+ public void diskSpaceRestored(DiskSpaceMonitor monitor) {
+ Message msg = NOTE_JEB_DISK_SPACE_RESTORED.get(monitor.getFreeSpace(),
+ monitor.getDirectory().getPath(), cfg.getBackendId(),
+ Math.max(monitor.getLowThreshold(), monitor.getFullThreshold()));
logError(msg);
}
--
Gitblit v1.10.0