[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Proxy cache overlay: effect of pcachePersist parameter?

Jonathan Clarke wrote:

I've set up an ldap backend, with a pcache overlay to cache binds for PAM.
The config is below, for info.

My question concerns the pcachePersist parameter. From the man page:

pcachePersist { TRUE | FALSE }
Specify  whether  the  cached  queries should be saved across restarts of
the caching proxy, to provide hot startup of the cache.  Only non-expired
queries are reloaded.  The default is FALSE.

As I understand this, given "pcachePersist FALSE" (or not specified),
cached queries should no longer be in the cache after restarting slapd. Am
I right?

However, once a bind is successfully cached, I take the proxied server
offline and I can restart slapd many times, however my bind is still served
from cache.

Is this a bug in the docs, a bug in the implementation or just me not
getting something?

The proxycache writes all cached data into the cache DB. As such, cached results are always present after a restart; this has always been the case. That can be considered a bug, because it did not save any information about the queries to which each cached entry belonged. So on a restart, the cache DB contains stuff but the overlay doesn't know about it.

With pcachePersist set TRUE, the query info is also stored in the DB, and re-loaded on restart. Thus the overlay will know the complete contents of the cache DB.


PS: the simplified config:
database                ldap
suffix                  "dc=proxy"
rootdn                  "cn=manager,dc=proxy"
uri                     ldap://my.other.ldap.server/
timeout                 5

overlay pcache
pcache          hdb  10000  1  2 60
pcacheAttrset           0       *
# cache binds for 900 seconds = 15 minutes
pcacheTemplate  (uid=)       0       900
pcacheBind      (uid=)       0       900     sub     "dc=proxy"
pcachePersist   FALSE
pcacheOffline   FALSE
directory       /var/cache/ldap
cachesize       10000
index           objectClass,sAMAccountName,pcacheQueryid        eq

  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/