https://bugs.openldap.org/show_bug.cgi?id=9538
--- Comment #1 from Ondřej Kuzník ondra@mistotebe.net --- This is an example of what can happen, accesslog is set up to log all ops:
1. op A, a write, comes in and locks accesslog 2. op B, like a Bind, comes in, it's not a write can proceed even though accesslog is locked 3. op B finishes, we decide to log it, create the accesslog entry and call be_add() (there's still no CSN assigned for it) 4. op A is now scheduled gets a CSN assigned (csnA) and gets committed into main DB 5. be_add() adding the log entry for op B gets a CSN assigned (csnB) and gets stored in the log DB 6. accesslog_response() is called for op A and unlocks accesslog, logs the write, which is now out of CSN order (csnA is before csnB already committed)
Right now that is what looks the most challenging sequence of events to sort.