[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: back-bdb add.c/modify.c/modrdn.c do not report checkpoint failures (ITS#2830)



> -----Original Message-----
> From: owner-openldap-bugs@OpenLDAP.org
> [mailto:owner-openldap-bugs@OpenLDAP.org]On Behalf Of
Frank.Swasey+bugs@uvm.edu

> In researching why db_archive is telling me that none of the
> 5 10Meg logs (which
> are several days old) are no longer needed even though I have
> "checkpoint 1024
> 30" in my slapd.conf file and noticing the following sequence
> of output in
> syslog today:
>
> slapd[7921]: conn=1298909 op=1 SRCH attr=mailRoutingAddress
> slapd[7921]: bdb(dc=uvm,dc=edu): DB_ENV->log_flush: LSN past
> current end-of-log
> slapd[7921]: bdb(dc=uvm,dc=edu): uidNumber.bdb: unable to
> flush page: 0
> slapd[7921]: bdb(dc=uvm,dc=edu): txn_checkpoint: failed to
> flush the buffer
> cache Invalid argument
>
> I have found that while init.c catches the return code from
> TXN_CHECKPOINT and
> displays an error message if it fails, that add.c, modify.c
> and modrdn.c all
> call TXN_CHECKPOINT and do NOT check/report any errors.

All BDB library error messages are reported automatically by the bdb_errcall
function, so there's really no need for add/modify/modrdn to explicitly log
any messages on their own. As for reporting the return code, there's really
no one to report it to. The success status has already been sent to the
client before the checkpoint is performed.

In general, back-bdb does not detect a BDB panic state. Whether it should,
and what to do about it (shutdown the slapd?) are open questions.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support