Summary: Directory Server hangs when running VLV search and update operations
simultaneously.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183222
There are at least two hang-up problems in the concurrent vlv search
and delete. Please take a look at the attachment (id=142507)
--> (
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=142507&action=...)
for details.
And the following attachment is the proposed fix based upon the analysis.
------- Additional Comments From nhosoi(a)redhat.com 2006-11-30 14:23 EST -------
Created an attachment (id=142508)
--> (
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=142508&action=...)
cvs diffs
Files:
proto-back-ldbm.h
idl.c
sort.c
vlv.c
Changes:
1. promoted idl_delete to global to make it available in
vlv_trim_candidates_byvalue. In vlv_trim_candidate_byvalue, if any id's in the
idlist is found not having the corresponding entry, delete the id from the
idlist and retry the binary search.
2. demoted too noisy error message:
[...] - compare_entries db err -30990
[...] - compare_entries db err -30990
[...]
3. eliminated read-lock from vlv_find_index_by_filter to prevent the deadlock
with the delete operation.
Thank you,
--noriko