->recovery_mode was set to normal but database priorities leven2 or 3 was still set to frozen.
causing the recovery daemon to fail to detect that a recovery was needed to recover access to the database.
BZ63951
(This used to be ctdb commit
7411b2b577a16f85ad6913e1bfccce7ea260a613)
return ctdb_control_push_db(ctdb, indata);
case CTDB_CONTROL_GET_RECMODE: {
- return ctdb->recovery_mode;
+ int i;
+ if (ctdb->recovery_mode == CTDB_RECOVERY_ACTIVE) {
+ return CTDB_RECOVERY_ACTIVE;
+ }
+ for (i=1; i<=NUM_DB_PRIORITIES; i++) {
+ if (ctdb->freeze_mode[i] == CTDB_FREEZE_FROZEN) {
+ return CTDB_RECOVERY_ACTIVE;
+ }
+ }
+ return CTDB_RECOVERY_NORMAL;
}
case CTDB_CONTROL_SET_RECMASTER: {