Browse Source

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;

Note: This is the cause of Ticket #47830 - usn tombstone entry not properly created
Ludwig Krispenz 11 years ago
parent
commit
98cf4246b6
1 changed files with 7 additions and 0 deletions
  1. 7 0
      ldap/servers/slapd/back-ldbm/ldbm_delete.c

+ 7 - 0
ldap/servers/slapd/back-ldbm/ldbm_delete.c

@@ -232,6 +232,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);
@@ -733,6 +738,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;