Commit c2261c69 authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#6176

parent 9f54cfb7
...@@ -28,6 +28,7 @@ OpenLDAP 2.4.17 Engineering ...@@ -28,6 +28,7 @@ OpenLDAP 2.4.17 Engineering
Fixed slapd sockets usage on windows (ITS#6039) Fixed slapd sockets usage on windows (ITS#6039)
Fixed slapd some abandon and cancel race conditions (ITS#6104) Fixed slapd some abandon and cancel race conditions (ITS#6104)
Fixed slapd tls context after changes (ITS#6135) Fixed slapd tls context after changes (ITS#6135)
Fixed slapd-bdb/hdb adjust dncachesize if too low (ITS#6176)
Fixed slapd-hdb freeing of already freed entries (ITS#6074) Fixed slapd-hdb freeing of already freed entries (ITS#6074)
Fixed slapd-hdb entryinfo cleanup (ITS#6088) Fixed slapd-hdb entryinfo cleanup (ITS#6088)
Fixed slapd-hdb dncache lockups (ITS#6095) Fixed slapd-hdb dncache lockups (ITS#6095)
......
...@@ -147,7 +147,10 @@ will return a different result. ...@@ -147,7 +147,10 @@ will return a different result.
.BI dncachesize \ <integer> .BI dncachesize \ <integer>
Specify the maximum number of DNs in the in-memory DN cache. The Specify the maximum number of DNs in the in-memory DN cache. The
default is twice the \fBcachesize\fP. Ideally this cache should be default is twice the \fBcachesize\fP. Ideally this cache should be
large enough to contain the DNs of every entry in the database. large enough to contain the DNs of every entry in the database. If
set to a smaller value than the \fBcachesize\fP it will be silently
increased to equal the \fBcachesize\fP.
It should be noted that the \fBDN cache\fP is allowed to temporarily It should be noted that the \fBDN cache\fP is allowed to temporarily
grow beyond the configured size. It does this if many entries are grow beyond the configured size. It does this if many entries are
locked when it tries to do a purge, because that means they're locked when it tries to do a purge, because that means they're
......
...@@ -374,6 +374,11 @@ shm_retry: ...@@ -374,6 +374,11 @@ shm_retry:
bdb->bi_cache.c_eimax = bdb->bi_cache.c_maxsize * 2; bdb->bi_cache.c_eimax = bdb->bi_cache.c_maxsize * 2;
} }
/* dncache must be >= entrycache */
if ( bdb->bi_cache.c_eimax < bdb->bi_cache.c_maxsize ) {
bdb->bi_cache.c_eimax = bdb->bi_cache.c_maxsize;
}
if ( bdb->bi_idl_cache_max_size ) { if ( bdb->bi_idl_cache_max_size ) {
bdb->bi_idl_tree = NULL; bdb->bi_idl_tree = NULL;
bdb->bi_idl_cache_size = 0; bdb->bi_idl_cache_size = 0;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment