https://bugs.openldap.org/show_bug.cgi?id=10270
Issue ID: 10270 Summary: Issues with pcache when refresh/persistPcache used Product: OpenLDAP Version: 2.5.18 Hardware: All OS: All Status: UNCONFIRMED Keywords: needs_review Severity: normal Priority: --- Component: overlays Assignee: bugs@openldap.org Reporter: aweits@rit.edu Target Milestone: ---
Greetings, OpenLDAP-folk.
We've been running with the pcache overlay in 2.5.18 with both query refresh and pcachePersist for a bit and have observed some oddities:
1.) Negative queries don't get refreshed 2.) Queries don't seem to be persisted
These behaviors are all exhibited from the current git version as well - code/patches below for clarity of communication:
Thanks! Andy
commit c0b4fe92c8df746c0e6a777f93f1687135114eb9 Author: Andrew Elble aweits@rit.edu Date: Fri Oct 11 08:43:47 2024 -0400
negative cache entries are not loaded when pcachePersist is on
diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c index 9ef78fd6bf43..9fd72e6d7261 100644 --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -802,7 +802,11 @@ url2query( goto error; }
- cq = add_query( op, qm, &query, qt, PC_POSITIVE, 0 ); + if (BER_BVISNULL( &uuid )) { + cq = add_query( op, qm, &query, qt, PC_NEGATIVE, 0 ); + } else { + cq = add_query( op, qm, &query, qt, PC_POSITIVE, 0 ); + } if ( cq != NULL ) { cq->expiry_time = expiry_time; cq->refresh_time = refresh_time;
commit 8f7b50dfcec69fa01f8cf0a4b77f3dee8ef9f0f6 Author: Andrew Elble aweits@rit.edu Date: Fri Oct 11 08:38:36 2024 -0400
queries with ttr/x-refresh are not loaded when pcachePersist is on
diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c index 40c1f9673776..9ef78fd6bf43 100644 --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -749,7 +749,7 @@ url2query( } }
- if ( got != GOT_ALL ) { + if ( (got & GOT_ALL) != GOT_ALL) { rc = 1; goto error; }
commit c7e52c90192a43876d40b9776a58db951d27937c Author: Andrew Elble aweits@rit.edu Date: Fri Oct 11 08:37:13 2024 -0400
ttr was not being applied to negatively cached entries
diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c index 1d6e4ba4edcf..40c1f9673776 100644 --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -1580,6 +1580,8 @@ add_query(
case PC_NEGATIVE: ttl = templ->negttl; + if ( templ->ttr ) + ttr = now + templ->ttr; break;
case PC_SIZELIMIT:
https://bugs.openldap.org/show_bug.cgi?id=10270
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|needs_review | Target Milestone|--- |2.5.19
--- Comment #1 from Quanah Gibson-Mount quanah@openldap.org --- Thank you for the report!
https://bugs.openldap.org/show_bug.cgi?id=10270
Howard Chu hyc@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |CONFIRMED Ever confirmed|0 |1 Assignee|bugs@openldap.org |hyc@openldap.org
https://bugs.openldap.org/show_bug.cgi?id=10270
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|2.5.19 |2.5.20
https://bugs.openldap.org/show_bug.cgi?id=10270
Howard Chu hyc@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |TEST Status|CONFIRMED |RESOLVED
--- Comment #2 from Howard Chu hyc@openldap.org --- Fixed in git master
https://bugs.openldap.org/show_bug.cgi?id=10270
--- Comment #3 from Quanah Gibson-Mount quanah@openldap.org --- head:
• 9b037911 by Andrew Elble at 2025-03-27T14:59:15+00:00 ITS#10270 slapo-pcache: ttr was not being applied to negatively cached entries
• 24d4dcb3 by Andrew Elble at 2025-03-27T14:59:29+00:00 ITS#10270 slapo-pcache: queries with ttr/x-refresh are not loaded when pcachePersist is on
• f00319b3 by Andrew Elble at 2025-03-27T14:59:33+00:00 ITS#10270 slapo-pcache: negative cache entries are not loaded when pcachePersist is on
https://bugs.openldap.org/show_bug.cgi?id=10270
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|TEST |FIXED
--- Comment #4 from Quanah Gibson-Mount quanah@openldap.org --- RE26:
• fa4cfdaf by Andrew Elble at 2025-05-06T15:18:11+00:00 ITS#10270 slapo-pcache: ttr was not being applied to negatively cached entries
• d03a8e60 by Andrew Elble at 2025-05-06T15:18:17+00:00 ITS#10270 slapo-pcache: queries with ttr/x-refresh are not loaded when pcachePersist is on
• d59d7610 by Andrew Elble at 2025-05-06T15:18:22+00:00 ITS#10270 slapo-pcache: negative cache entries are not loaded when pcachePersist is on
RE25:
• 5bd573a3 by Andrew Elble at 2025-05-06T15:19:42+00:00 ITS#10270 slapo-pcache: ttr was not being applied to negatively cached entries
• 28f131b1 by Andrew Elble at 2025-05-06T15:19:45+00:00 ITS#10270 slapo-pcache: queries with ttr/x-refresh are not loaded when pcachePersist is on
• e716257b by Andrew Elble at 2025-05-06T15:19:48+00:00 ITS#10270 slapo-pcache: negative cache entries are not loaded when pcachePersist is on