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

back-bdb DB_RECOVER and soft restart

A couple weeks ago I patched init.c to exclude the DB_RECOVER flag when
running a slap tool and initializing the BDB environment. This allowed
slapcat to run concurrently with slapd, and actually I see no reason why
slapadd or slapindex wouldn't also work since they both operate additively.

There's still a problem if you're trying to start a 2nd slapd on an existing
database, ala soft restart. I think we need some kind of a semaphore instead,
such that whenever any program starts, if it's the only one accessing the BDB
environment, it automatically performs a recovery. But if there are two or
more active instances, the subsequent programs leave it alone. That should
give us the most safety and convenience, and you can still just run
db_recover manually if you really need it.

Or we can just ditch the auto-recovery completely and always require manual
use of db_recover instead.

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