mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

ludovicp
30.44.2010 875fa183c58411ff51a5cb208d5043df139fd033
refs
author ludovicp <ludovicp@localhost>
Friday, July 30, 2010 14:44 +0200
committer ludovicp <ludovicp@localhost>
Friday, July 30, 2010 14:44 +0200
commit875fa183c58411ff51a5cb208d5043df139fd033
tree 419982c23ccfacd5fdd44ac92343bd2b4c90c5aa tree | zip | gz
parent d007598dd6120ceff93d11a5ca038f8e01f07acc view | diff
Implements a disk space thresholds feature, preventing the server from crashing or exiting of disks full.

Each instance of the monitor have two thresholds: "low" and "full". Other components can register their own handlers if they wish to receive notifications when the thresholds are reached. It extends the MonitorProvider interface and utilizes the update interval mechanism to poll the free disk space. The current free space and state of all monitor instances are exposed through the cn=monitor interface under the cn=Disk Space Monitor branch. The only component using the monitor now is the JE backend. When the "low" threshold is reached, write operations will only be permitted to users with the BYPASS_LOCKDOWN privilege. When the "full" threshold is reached, the backend is placed in read-only mode. The default "low" and "full" thresholds are 100 MB and 10MB respectively. Along with the new feature, this patch also added two privileges: SERVER_LOCKDOWN and BYPASS_LOCKDOWN. Any user with the SERVER_LOCKDOWN privilege can put and take the server out of lockdown mode. Any user with the BYPASS_LOCKDOWN mode can bypass lockdown mode. This was restricted to only "root" users before. In addition, the MonitorProvider abstract class no longer extends DirectoryThread. It now uses a static single threaded ScheduledExecutorService to update provider states. Any provider that wishes to have its state updated periodically needs to register its updater runnable with the scheduleUpdate method.
2 files added
50 files modified
1712 ■■■■ changed files
opendj-sdk/opends/resource/config/config.ldif 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/resource/schema/02-config.ldif 14 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/GlobalConfiguration.xml 12 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LocalDBBackendConfiguration.xml 49 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/RootDNConfiguration.xml 14 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/messages/GlobalCfgDefn.properties 2 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/messages/LocalDBBackendCfgDefn.properties 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/messages/RootDNCfgDefn.properties 2 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/messages/messages/core.properties 2 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/messages/messages/jeb.properties 17 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/messages/messages/task.properties 16 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/messages/messages/tools.properties 1 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/api/DiskSpaceMonitorHandler.java 61 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/api/MonitorProvider.java 170 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java 110 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/backends/jeb/RootContainer.java 6 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/MonitorConfigManager.java 14 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/RootPrivilegeChangeListener.java 8 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/networkgroups/NetworkGroupStatistics.java 20 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/extensions/DiskSpaceMonitor.java 308 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/extensions/ParallelWorkQueue.java 3 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/extensions/TraditionalWorkQueue.java 1 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/BackendMonitor.java 25 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/ClientConnectionMonitorProvider.java 42 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/ConnectionHandlerMonitor.java 25 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/DatabaseEnvironmentMonitor.java 30 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/EntryCacheMonitorProvider.java 22 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/MemoryUsageMonitorProvider.java 36 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/ParallelWorkQueueMonitor.java 34 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/StackTraceMonitorProvider.java 46 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/SystemInfoMonitorProvider.java 46 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/TraditionalWorkQueueMonitor.java 34 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/monitors/VersionMonitorProvider.java 47 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/protocols/ldap/LDAPStatistics.java 39 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/DbHandler.java 24 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/DraftCNDbHandler.java 24 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java 6 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java 31 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/MessageHandler.java 32 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java 39 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/server/ServerHandler.java 29 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/replication/service/ReplicationMonitor.java 33 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/tasks/EnterLockdownModeTask.java 10 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/tasks/LeaveLockdownModeTask.java 10 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/types/Privilege.java 23 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/util/ServerConstants.java 42 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/workflowelement/WorkflowElementStatistics.java 20 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java 31 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/workflowelement/ndb/NDBBindOperation.java 24 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/monitors/GenericMonitorTestCase.java 30 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/monitors/TestMonitorProvider.java 17 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/StressTest.java 23 ●●●●● diff | view | raw | blame | history