Commit 8d428f31 authored by Ondřej Kuzník's avatar Ondřej Kuzník Committed by Quanah Gibson-Mount
Browse files

ITS#9282 Do not resuscitate entries we already deleted

parent da610c05
......@@ -4111,6 +4111,25 @@ syncrepl_entry(
}
}
retry_add:;
if ( !BER_BVISNULL( &op->o_csn ) ) {
/* Check we're not covered by current contextCSN */
int i, sid = slap_parse_csn_sid( &op->o_csn );
ldap_pvt_thread_mutex_lock( &si->si_cookieState->cs_mutex );
for ( i=0;
i < si->si_cookieState->cs_num &&
sid <= si->si_cookieState->cs_sids[i];
i++ ) {
if ( si->si_cookieState->cs_sids[i] == sid &&
ber_bvcmp( &op->o_csn, &si->si_cookieState->cs_vals[i] ) <= 0 ) {
Debug( LDAP_DEBUG_SYNC, "syncrepl_entry: %s "
"entry '%s' csn=%s not new enough, ignored\n",
si->si_ridtxt, entry->e_name.bv_val, op->o_csn.bv_val );
ldap_pvt_thread_mutex_unlock( &si->si_cookieState->cs_mutex );
goto done;
}
}
ldap_pvt_thread_mutex_unlock( &si->si_cookieState->cs_mutex );
}
if ( BER_BVISNULL( &dni.dn ) ) {
SlapReply rs_add = {REP_RESULT};
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment