From 22196baccce4bcbbc7f4e2144ce085d9433842bc Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 17 Sep 2010 22:51:17 +0000
Subject: [PATCH] Fix potential OOME when under heavy asynchronous search load by making work queue capacity finite so that clients are blocked when the queue is full

---
 opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/TraditionalWorkQueueConfiguration.xml |   21 +++++++--------------
 1 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/TraditionalWorkQueueConfiguration.xml b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/TraditionalWorkQueueConfiguration.xml
index 3b71f66..c4bb1d7 100644
--- a/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/TraditionalWorkQueueConfiguration.xml
+++ b/opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/TraditionalWorkQueueConfiguration.xml
@@ -23,7 +23,7 @@
   ! CDDL HEADER END
   !
   !
-  !      Copyright 2007-2009 Sun Microsystems, Inc.
+  !      Copyright 2007-2010 Sun Microsystems, Inc.
   ! -->
 <adm:managed-object name="traditional-work-queue"
   plural-name="traditional-work-queues" extends="work-queue"
@@ -95,23 +95,16 @@
     </adm:synopsis>
     <adm:description>
       If the work queue is already full and additional requests are
-      received by the server, the requests are rejected.
-      A value of zero indicates that there is no limit to the size 
-      of the queue.
+      received by the server, then the server front end, and possibly the
+      client, will be blocked until the work queue has available capacity. 
     </adm:description>
-    <adm:requires-admin-action>
-      <adm:server-restart />
-    </adm:requires-admin-action>
     <adm:default-behavior>
-      <adm:alias>
-        <adm:synopsis>
-          The work queue does not impose any limit on the number of
-          operations that can be enqueued at any one time.
-        </adm:synopsis>
-      </adm:alias>
+      <adm:defined>
+        <adm:value>1000</adm:value>
+      </adm:defined>
     </adm:default-behavior>
     <adm:syntax>
-      <adm:integer lower-limit="0" upper-limit="2147483647"/>
+      <adm:integer lower-limit="1" upper-limit="2147483647"/>
     </adm:syntax>
     <adm:profile name="ldap">
       <ldap:attribute>

--
Gitblit v1.10.0