https://bugs.openldap.org/show_bug.cgi?id=10413
Issue ID: 10413 Summary: Consumer prepares cookie too early Product: OpenLDAP Version: unspecified Hardware: All OS: All Status: UNCONFIRMED Keywords: needs_review Severity: normal Priority: --- Component: slapd Assignee: bugs@openldap.org Reporter: ondra@mistotebe.net Target Milestone: ---
A consumer prepares its cookie at the moment its task is started (in do_syncrep1), then calls ldap_sync_search, but this is where we can figure out if there's another refresh running already and suspend the task. When that other refresh finishes and tells another one to resume, we just call ldap_sync_search so keep the old cookie rather than update it to match what we now know.
This doesn't affect correctness but forces the other provider(s) to reiterate something the consumer already knows, this can be very expensive for both.