Check for unstable ulog in ulog_get_entries
authorGreg Hudson <ghudson@mit.edu>
Sun, 26 Jan 2014 22:23:53 +0000 (17:23 -0500)
committerGreg Hudson <ghudson@mit.edu>
Thu, 30 Jan 2014 23:33:10 +0000 (18:33 -0500)
commit91ef7d4c3f892b99630422a71780788f2d1c04d7
tree3a8818af0b5cea63f4e70ceafe81bbf713da3486
parentb8a0c995d2a72cbfd2500de89e395e1ee10fc8e0
Check for unstable ulog in ulog_get_entries

If a process terminates in the middle of a logged database update, it
will release its lock and leave the ulog in the KDB_UNSTABLE state.
kadmind should notice this when it calls ulog_get_entries, but right
now it only checks for the KDB_CORRUPT state (which is never set any
more) and does not recover.  Check for any state other than KDB_STABLE
and recover by resetting the ulog and forcing full resyncs to slaves.

ticket: 7853 (new)
target_version: 1.12.2
tags: pullup
src/lib/kdb/kdb_log.c