[389-devel] Please review: [389 Project] #351: use betxn plugins by default

Noriko Hosoi nhosoi at redhat.com
Thu Aug 30 22:47:27 UTC 2012


https://fedorahosted.org/389/ticket/351

https://fedorahosted.org/389/attachment/ticket/351/0001-Trac-Ticket-351-use-betxn-plugins-by-default.patch

  Fix Description:
  . Enabled betxn by default on the following plugins:
      7-bit check Plugin, Attribute uniqueness Plugin
      Auto Membership Plugin, Class of Service Plugin
      Managed Entries, MemberOf Plugin
      Multimaster Replication Plugin
      PAM Pass Through Auth Plugin
      Referential integrity postoperation Plugin
      Roles Plugin, State Change Plugin, USN Plugin
  . Exposed backend transaction to plugins:
      slapi_back_transaction_begin|commit|abort.
  . Backend serial lock is held just before the backend transaction,
    instead of at the earliest timing into the backend db plugin.
  . dse: adjusting to the bepost behaviour, put betxn post hook into
    "need_be_postop" clause.
  . MemberOf Plugin:
    + If betxn is on, MemberOf post operations are called at the
      betxn postop timing, which is aborted if the main operation
      fails.
    + When betxn is on, member of operations are in the transaction
      as sell as in the backend serial lock.  Taking advantage of it,
      memberof_lock is not held if betxn is on.
    + MemberOf fixup task uses exposed transaction APIs.
  . Multimaster Replication Plugin
    + If betxn is on, Multimaster Replication bepost operations are
      called at the betxn postop timing.  Since betxn post callbacks
      are already declared, each bepost callback is called from the
      existing betxn post callbacks (see multimaster_be_betxnpostop_*).
  . PAM Pass Through Auth Plugin:
    + If betxn is on, PAM Pass Through pre/post operations are called
      at the betxn preop/postop timing, respectivly.
  . Referential integrity postoperation Plugin
    + If betxn is on, Referential integrity post operations are called
      at the betxn postop timing.
    + When betxn is on, referential integirity post operations are in
      the transaction as sell as in the backend serial lock.  Taking
      advantage of it, referint_lock is not held if betxn is on.

  . Miscellaneous
    + cos_cache.h: added '#include "ldaplog.h" and removed copied
      LDAPDebug from cos.c and cos_cache.c.
    + cos_cache.c: added missing CR at the end of some error messages.
    + repl5_replica.c: removed (nscpentrydn=*) from searching tombstone
      entry filter.
    + back-ldbm.h: increased RETRY_TIMES count from 50 to 1024.
    + entry.c: in addition to "true"|"false", "yes"|"no", and digits,
      let slapi_entry_attr_get_bool accept "on"|"off".
    + mapping_tree.c: changed the log level of a warning "Mapping tree
      node entry for "" point to an unknown backend" issued in mtn_get_be
      to BACKLDBM".  This message is logged at the start up time of Class
      of Service plugin from the dse hook, which is benign.



More information about the 389-devel mailing list