From 9186307df2d5c93aeadf54908fbd520f1f309467 Mon Sep 17 00:00:00 2001 From: Noriko Hosoi Date: Tue, 1 Jul 2014 14:07:01 -0700 Subject: [PATCH 234/234] Ticket #47750 - Creating a glue fails if one above level is a conflict or missing Description: This commit accidentally removed the code to add entry back to cache if it was replaced: Commit: 160cb3f686e433c01532d28770b2977ec957e73e Ticket #47750 - Creating a glue fails if one above level is a conflict or missing; Thanks to lkrispen@redhat.com for figuring it out. Note: This is the cause of Ticket #47830 - usn tombstone entry not properly created (cherry picked from commit 98cf4246b6e5c8a99a1e9063eca9aad9560185bd) (cherry picked from commit 8c496b1e3b9d8a23369573423cb0b22bc6ed0e2d) (cherry picked from commit 51a76a4d565f0e93092e589ee7e3064d5371c54a) (cherry picked from commit 5b76c176de2ac09f17cf97e74800a38307b789f7) --- ldap/servers/slapd/back-ldbm/ldbm_delete.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ldap/servers/slapd/back-ldbm/ldbm_delete.c b/ldap/servers/slapd/back-ldbm/ldbm_delete.c index 1d2cbc3..ece8f0f 100644 --- a/ldap/servers/slapd/back-ldbm/ldbm_delete.c +++ b/ldap/servers/slapd/back-ldbm/ldbm_delete.c @@ -548,6 +548,11 @@ ldbm_back_delete( Slapi_PBlock *pb ) goto error_return; } } + /* reset original entry in cache */ + if (!e_in_cache) { + CACHE_ADD(&inst->inst_cache, e, NULL); + e_in_cache = 1; + } if (ruv_c_init) { /* reset the ruv txn stuff */ modify_term(&ruv_c, be); @@ -675,6 +680,8 @@ ldbm_back_delete( Slapi_PBlock *pb ) retval= -1; DEL_SET_ERROR(ldap_result_code, LDAP_OPERATIONS_ERROR, retry_count); goto error_return; + } else { + e_in_cache = 0; } } else { struct backentry *imposter = NULL; -- 1.8.1.4