ebackes@symas.com wrote:
Full_Name: Emily Backes Version: 2.4.26 OS: any URL: Submission from: (NULL) (75.244.124.114)
If a client connects and writes, e.g. ADDs entries, then disconnects before seeing the result, the writes are stored in the database but do not increment contextCSN.
This is an obvious consequence of the fact that checks for abandoned ops are performed before any response callbacks are invoked. The main op might have completed but no overlay code will run, so syncprov never gets a chance to update itself. (See result.c send_ldap_response())
The fix is less obvious. Probably we should only bypass the callbacks if rs->sr_err == SLAPD_ABANDON, meaning that the operation itself was actually aborted.