[389-devel] Please review: [Bug 745259] Incorrect entryUSN index under high load in replicated environment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/389-devel


[Index of Archives]     [Fedora Directory Announce]     [Fedora Users]     [Older Fedora Users Mail]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Review]     [Fedora Art]     [Fedora Music]     [Fedora Packaging]     [CentOS]     [Fedora SELinux]     [Big List of Linux Books]     [KDE Users]     [Fedora Art]     [Fedora Docs]

  Powered by Linux