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

Re: commit: ldap/servers/slapd/overlays pcache.c

Pierangelo Masarati wrote:

Howard Chu wrote:

ando@OpenLDAP.org wrote:

Update of /repo/OpenLDAP/pkg/ldap/servers/slapd/overlays

Modified Files:
    pcache.c  1.26 -> 1.27

Log Message:
cache backend was not started up

This is not correct; the backend does get started. In pcache.c at line 1666:
/* This type is in use, needs to be opened */

This setting causes the backend type (backendInfo->bi_open) to be opened in backend_startup. The overlay itself handles the backend->bi_db_open.

Well, my problem was that pcache with bdb/hdb was failing because be_context_csn was null
for the cache database, and bdb plays with its DN without checking if it's valid (I added an
assert in back-bdb/ctxcsn.c), so my guess was that it didn't get initialized when backend_startup()
is called. I tried directly calling backend_startup() for that database (my initial commit) but then
realized that all backends and databases were initialized twice, which is bad (actually, back-ldbm
was mostly complaining because ldbm_initialize() can be called only once). So I'm at a loss: tests
always ran fine, and now pcache test is telling me that be_context_csn is NULL. I wonder if
back-bdb should ever use it when acting as a proxy cache, but I don't want to muck with back-bdb
internals at the moment.

I've checked in a smaller patch for this. Sorry, my default test didn't have proxycache enabled last time around but I'm running it now (and it's fine).
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support