Revision: 14810
Author: adrian.chadd
Date: Wed Oct 20 19:01:35 2010
Log: Fix for Issue #120 - make external_acl queue depth configurable


http://code.google.com/p/lusca-cache/source/detail?r=14810

Modified:
 /branches/LUSCA_HEAD/src/cf.data.pre
 /branches/LUSCA_HEAD/src/external_acl.c
 /branches/LUSCA_HEAD/src/structs.h

=======================================
--- /branches/LUSCA_HEAD/src/cf.data.pre        Mon Aug  9 20:30:38 2010
+++ /branches/LUSCA_HEAD/src/cf.data.pre        Wed Oct 20 19:01:35 2010
@@ -395,6 +395,20 @@
-----------------------------------------------------------------------------
 COMMENT_END

+NAME: external_acl_maxqueue
+TYPE: int
+LOC: Config.externalAclMaxQueue
+DEFAULT: 0
+DOC_START
+       By default, the maximum queue depth for the external ACL helpers
+       is the number of helper processes. This may not be useful in larger
+       installations where multiple requests are queued to the helpers
+       before the helper can receive and service requests.
+
+       By changing it to a non-zero value, the maximum queue depth will
+       be fixed to this value, regardless of the number of helper processes.
+DOC_END
+
 NAME: external_acl_type
 TYPE: externalAclHelper
 LOC: Config.externalAclHelperList
=======================================
--- /branches/LUSCA_HEAD/src/external_acl.c     Mon Sep 13 08:58:44 2010
+++ /branches/LUSCA_HEAD/src/external_acl.c     Wed Oct 20 19:01:35 2010
@@ -498,6 +498,8 @@
 static inline int
 externalAclOverload(external_acl * def)
 {
+    if (Config.externalAclMaxQueue > 0)
+        return def->helper->stats.queue_size > Config.externalAclMaxQueue;
     return def->helper->stats.queue_size > def->helper->n_running;
 }

=======================================
--- /branches/LUSCA_HEAD/src/structs.h  Mon Aug  9 18:58:36 2010
+++ /branches/LUSCA_HEAD/src/structs.h  Wed Oct 20 19:01:35 2010
@@ -792,6 +792,7 @@
     char *store_dir_select_algorithm;
     int sleep_after_fork;      /* microseconds */
     time_t minimum_expiry_time;        /* seconds */
+    int externalAclMaxQueue;
     external_acl *externalAclHelperList;
     enum zph_mode {
        ZPH_OFF = 0,

--
You received this message because you are subscribed to the Google Groups 
"lusca-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/lusca-commit?hl=en.

Reply via email to