From 1db611ea7d613ef452db73187d9b4f8a9414925d Mon Sep 17 00:00:00 2001 From: Thierry bordaz (tbordaz) Date: Sep 11 2014 21:31:14 +0000 Subject: Ticket 47889 - DS crashed during ipa-server-install on test_ava_filter Bug Description: During a MOD the target entry is duplicated and mods are applied on the duplicated entry that is set in the pblock (SLAPI_MODIFY_EXISTING_ENTRY). In case of transient DB error, ldbm_back_modify retries. But when retrying the duplicated entry will be freed and needs to be duplicated again. The new duplicated entry needs to be set in the pblock. https://fedorahosted.org/389/ticket/47834 erronously skip the setting of SLAPI_MODIFY_EXISTING_ENTRY Fix Description: Set SLAPI_MODIFY_EXISTING_ENTRY during mod/retry https://fedorahosted.org/389/ticket/47889 Reviewed by: ? Platforms tested: F20 Flag Day: no Doc impact: no (cherry picked from commit 3b5f3fa1b82cde2bda1104cf758acb64f6484009) (cherry picked from commit 0363fa49265c0c27d510064cea361eb400802548) --- diff --git a/ldap/servers/slapd/back-ldbm/ldbm_modify.c b/ldap/servers/slapd/back-ldbm/ldbm_modify.c index 174a05e..79c059a 100644 --- a/ldap/servers/slapd/back-ldbm/ldbm_modify.c +++ b/ldap/servers/slapd/back-ldbm/ldbm_modify.c @@ -526,6 +526,7 @@ ldbm_back_modify( Slapi_PBlock *pb ) CACHE_REMOVE(&inst->inst_cache, ec); } CACHE_RETURN(&inst->inst_cache, &ec); + slapi_pblock_set( pb, SLAPI_MODIFY_EXISTING_ENTRY, original_entry->ep_entry ); ec = original_entry; original_entry = tmpentry; tmpentry = NULL;