https://bugzilla.redhat.com/show_bug.cgi?id=683241
Traditionally the post-op plugins are used for different operations that can take significant amount of time like processing memberOf. The post op plugins are executed when the reply is already sent to the client. In some cases the operation takes less time and its results should be visible to the client right away. For such cases it makes sense to have a new type of the plugin that is executed before the results are sent to the client. Such plugin might help addressing the following ticket: https://fedorahosted.org/freeipa/ticket/1064 Before implementing such plugin it is necessary to assess if the IPA password plugin is fast enough to not cause significant client delays.
commit changeset:498c42b/389-ds-base Author: Rich Megginson rmeggins@redhat.com Date: Wed Oct 5 16:51:58 2011 -0600
fix transaction support in ldbm_delete ldbm_back_delete() was not properly clearing out the transaction pointer before starting a new transaction, and was not properly clearing out the used transaction after a commit or an abort.
commit changeset:6120b3d/389-ds-base Author: Rich Megginson rmeggins@redhat.com Date: Thu Sep 15 14:16:12 2011 -0600
Make all backend operations transaction aware All backend functions will use the parent transaction (if any) to perform all database read/write operations, and for the creation of nested transactions. The pseudocode looks like this: begin operation grab parent txn from pblock SLAPI_TXN and save to a local variable use this parent txn to perform any searches or other ops before the nested txn is created (if created - search ops do not do this) create the nested txn (if a write op) using the parent_txn stash the new txn in the pblock SLAPI_TXN call the betxnpreop plugins perform the backend ops inside the txn call the betxnpostop plugins commit the nested txn restore the saved parent_txn to the pblock SLAPI_TXN upon failure, abort the nested txn and restore the saved parent_txn to the pblock SLAPI_TXN There were a few api changes to allow the txn to be passed in wherever it is needed. The database lock was changed from a mutex to a monitor to allow plugins to call other plugins inside the same parent transaction. Reviewed by: nhosoi (Thanks!)
commit changeset:056cc35/389-ds-base Author: Rich Megginson rmeggins@redhat.com Date: Mon Sep 12 09:48:17 2011 -0600
Add support for pre/post db transaction plugins There are two new plugin types: betxnpreoperation - these plugins are called just after the database calls txn_begin - they are passed in SLAPI_TXN the DB_TXN* just created - they can use this as a parent transaction in a nested transaction if the plugin wishes to cause the parent to abort, the plugin should return a non-zero return code, and set the ldap error code to a meaningful error value betxnpostoperation - called just before the database calls txn_commit The changelog code uses the betxnpostoperation to create a nested transaction for the changelog write Reviewed by: nhosoi (Thanks!)
Added initial screened field value.
Metadata Update from @nkinder: - Issue assigned to rmeggins - Issue set to the milestone: 1.2.10
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/234
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)
Login to comment on this ticket.