Previously noted (2) and (3) was caused by following patch. It is a trial from Howard Chu for workout on ITS#7968 ;)
Under a heavy load of add/delete it may induce "DN index delete failed" in the mdb backend.
Message-ID: 5440D299.60208@symas.com Date: Fri, 17 Oct 2014 09:26:01 +0100 From: Howard Chu hyc@symas.com
Can you try this patch and followup again?
diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index e15020e..b54c83f 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -1306,11 +1306,12 @@ syncprov_matchops( Operation *op, opcookie *opc, int saveit ) op2.o_hdr = &oh; op2.o_extra = op->o_extra; op2.o_callback = NULL;
if (ss->s_flags & PS_FIX_FILTER) {
if ((ss->s_flags & PS_FIX_FILTER)
&& op2.ors_filter->f_choice ==
LDAP_FILTER_AND) { /* Skip the AND/GE clause that we stuck on in front. We would lose deletes/mods that happen during the refresh phase otherwise (ITS#6555) */
op2.ors_filter =
ss->s_op->ors_filter->f_and->f_next;
op2.ors_filter =
op2.ors_filter->f_and->f_next; } ldap_pvt_thread_mutex_unlock( &ss->s_mutex ); rc = test_filter( &op2, e, op2.ors_filter );