From 9186307df2d5c93aeadf54908fbd520f1f309467 Mon Sep 17 00:00:00 2001
From: Noriko Hosoi <nhosoi@redhat.com>
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