ITS#8444 Do not clear the pending operation when checkpointing

When a checkpoint happens, if we remove the CSN from the pending list,
accesslog won't pass it onto the accesslog DB. But in a delta-mmr
scenario, an accesslog entry without a CSN faces a race where it might
be applied twice - that usually fails and causes a full refresh, other
times it can cause a silent desync - both are undesirable.
This commit is contained in:
Ondřej Kuzník 2017-08-25 16:25:23 +01:00 committed by Howard Chu
parent 0f80e05eeb
commit 9e156bf914

View file

@ -1492,6 +1492,7 @@ syncprov_checkpoint( Operation *op, slap_overinst *on )
opm.o_bd->bd_info = on->on_info->oi_orig;
opm.o_managedsait = SLAP_CONTROL_NONCRITICAL;
opm.o_no_schema_check = 1;
opm.o_opid = -1;
opm.o_bd->be_modify( &opm, &rsm );
if ( rsm.sr_err == LDAP_NO_SUCH_OBJECT &&