[prev in list] [next in list] [prev in thread] [next in thread]
List: fedora-directory-devel
Subject: [389-devel] Please review: [Bug 745259] Incorrect entryUSN index
From: Noriko Hosoi <nhosoi () redhat ! com>
Date: 2011-10-27 0:23:36
Message-ID: 4EA8A488.3080004 () redhat ! com
[Download RAW message or body]
https://bugzilla.redhat.com/show_bug.cgi?id=745259
https://bugzilla.redhat.com/attachment.cgi?id=530413&action=diff
https://bugzilla.redhat.com/attachment.cgi?id=530413&action=edit
Description:
. Changed the backend entry lock from PR_Lock to PR_Monitor to
allow the re-entrant locking. In ldbm_back_delete and ldbm_
back_modify, backend entry lock was released before calling
be_preop plugins and re-acquired just after that to avoid
the deadlock by the be_preop plugins called from the same
thread. The short no-lock window was the cause of the entry-
usn corruption. By replacing PR_Lock with the re-entrant
PR_Monitor, we could eliminate the no-lock window.
. USN plugin: made add, modify, and modrdn usn plugins
transaction aware.
Note: delete plugins are intact. USN delete operation converts
an entry to a tombstone entry, which is not suitable to move
to inside of the transaction.
Additional changes
. Introduced SLAPI_PLUGIN_BE_TXNABORT_POST_*_FN.
. In ldbm_back_delete, SLAPI_PLUGIN_BE_TXN_PRE/POST_DELETE_FN are
changed to apply just to the normal entries (not to the tombstone
entries).
. Changed the condition to call dblayer_txn_abort from (retry_count
> 0) to (retry_count>= 0) to cover the error in the first trial.
. Cleaned up compiler warnings.
Thanks,
--noriko
--
389-devel mailing list
389-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/389-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic