[389-devel] Please review (take 2): [389 Project] #345: db deadlock return should not log error

Noriko Hosoi nhosoi at redhat.com
Sat Apr 28 00:22:17 UTC 2012


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

https://fedorahosted.org/389/attachment/ticket/345/0001-Trac-Ticket-345-db-deadlock-return-should-not-log-er.patch

Thanks to Mark for reviewing my previous proposal.  I've revisited the 
ticket and thought adding DEADLOCK retry to the entryrdn module may be 
useful since the DEADLOCK is observed quite often there.

In this patch, the DEADLOCK is reported when the loglevel is 
SLAPI_LOG_BACKLDBM instead of TRACE.  The TRACE level is sometimes too 
noisy to generate the load to cause DEADLOCK in BDB.  When debugging it, 
I noticed the log level of ACLSUMMARY and BACKLDBM were not set up 
correctly.  This patch fixes it, as well.

  Fix description:
  1) In the ldbm_entryrdn.c, error log level is set to
     SLAPI_LOG_BACKLDBM if DB_LOCK_DEADLOCK is returned
     from the BDB operations, otherwise set to SLAPI_LOG_FATAL.
  2) If DB_LOCK_DEADLOCK is returned in the entryrdn functions,
     retry the BDB operations up to RETRY_TIMES.
  3) The log level of ACLSUMMARY and the one of BACKLDBM were
     confused.  It was fixed in log.c.




More information about the 389-devel mailing list