From: Art Cancro Date: Wed, 8 Aug 2018 14:05:16 +0000 (-0400) Subject: added more diagnostic messages to mmnext sanity checks X-Git-Tag: v939~366 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=6f9208392ee576a322edbc389c32d27ceaa3c04f added more diagnostic messages to mmnext sanity checks --- diff --git a/citadel/control.c b/citadel/control.c index b79689b08..ff4c0ea80 100644 --- a/citadel/control.c +++ b/citadel/control.c @@ -1,7 +1,7 @@ /* * This module handles states which are global to the entire server. * - * Copyright (c) 1987-2017 by the citadel.org team + * Copyright (c) 1987-2018 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3. @@ -50,16 +50,13 @@ void control_find_highest(struct ctdlroom *qrbuf, void *data) long *msglist; int num_msgs=0; int c; - int room_fixed = 0; - int message_fixed = 0; - if (qrbuf->QRnumber > CtdlGetConfigLong("MMnextroom")) - { + if (qrbuf->QRnumber > CtdlGetConfigLong("MMnextroom")) { + syslog(LOG_DEBUG, "control: fixing MMnextroom %ld > %ld", qrbuf->QRnumber, CtdlGetConfigLong("MMnextroom")); CtdlSetConfigLong("MMnextroom", qrbuf->QRnumber); - room_fixed = 1; } - CtdlGetRoom (&room, qrbuf->QRname); + CtdlGetRoom(&room, qrbuf->QRname); /* Load the message list */ cdbfr = cdb_fetch(CDB_MSGLISTS, &room.QRnumber, sizeof(long)); @@ -70,24 +67,15 @@ void control_find_highest(struct ctdlroom *qrbuf, void *data) return; /* No messages at all? No further action. */ } - if (num_msgs>0) - { - for (c=0; c CtdlGetConfigLong("MMhighest")) - { + if (num_msgs > 0) { + for (c=0; c CtdlGetConfigLong("MMhighest")) { + syslog(LOG_DEBUG, "control: fixing MMhighest %ld > %ld", msglist[c], CtdlGetConfigLong("MMhighest")); CtdlSetConfigLong("MMhighest", msglist[c]); - message_fixed = 1; } } } cdb_free(cdbfr); - if (room_fixed) { - syslog(LOG_INFO, "control: fixed room counter"); - } - if (message_fixed) { - syslog(LOG_INFO, "control: fixed message count"); - } return; } @@ -95,18 +83,12 @@ void control_find_highest(struct ctdlroom *qrbuf, void *data) /* * Callback to get highest user number. */ - -void control_find_user (struct ctdluser *EachUser, void *out_data) +void control_find_user(struct ctdluser *EachUser, void *out_data) { - int user_fixed = 0; - - if (EachUser->usernum > CtdlGetConfigLong("MMnextuser")) - { + if (EachUser->usernum > CtdlGetConfigLong("MMnextuser")) { + syslog(LOG_DEBUG, "control: fixing MMnextuser %ld > %ld", EachUser->usernum, CtdlGetConfigLong("MMnextuser")); CtdlSetConfigLong("MMnextuser", EachUser->usernum); - user_fixed = 1; } - if(user_fixed) - syslog(LOG_INFO, "control: fixed user count"); } @@ -147,9 +129,11 @@ void migrate_legacy_control_record(void) */ void check_control(void) { - syslog(LOG_INFO, "control: sanity checking the recorded highest message, user, and room numbers"); + syslog(LOG_INFO, "control: sanity checking the recorded highest message and room numbers"); CtdlForEachRoom(control_find_highest, NULL); + syslog(LOG_INFO, "control: sanity checking the recorded highest user number"); ForEachUser(control_find_user, NULL); + syslog(LOG_INFO, "control: sanity checks complete"); } diff --git a/citadel/database.c b/citadel/database.c index 9a22c8d2c..2e80b599d 100644 --- a/citadel/database.c +++ b/citadel/database.c @@ -163,48 +163,6 @@ void cdb_check_handles(void) } -/* - * Cull the database logs by removing log files that are no longer needed. - * Note: this code will be removed once we are confident that Berkeley DB can do this on its own. - */ -void cdb_cull_logs(void) -{ -#ifndef DB_LOG_AUTO_REMOVE - u_int32_t flags; - int ret; - char **file, **list; - char errmsg[SIZ]; - - flags = DB_ARCH_ABS; - - /* Get the list of names. */ - if ((ret = dbenv->log_archive(dbenv, &list, flags)) != 0) { - syslog(LOG_ERR, "db: cdb_cull_logs() %s", db_strerror(ret)); - return; - } - - /* Print the list of names. */ - if (list != NULL) { - for (file = list; *file != NULL; ++file) { - syslog(LOG_DEBUG, "db: deleting log %s", *file); - ret = unlink(*file); - if (ret != 0) { - snprintf(errmsg, sizeof(errmsg), - " ** ERROR **\n \n \n " - "Citadel was unable to delete the " - "database log file '%s' because of the " - "following error:\n \n %s\n \n" - " This log file is no longer in use " - "and may be safely deleted.\n", *file, strerror(errno)); - CtdlAideMessage(errmsg, "Database Warning Message"); - } - } - free(list); - } -#endif /* DB_LOG_AUTO_REMOVE */ -} - - /* * Request a checkpoint of the database. Called once per minute by the thread manager. */ @@ -222,18 +180,11 @@ void cdb_checkpoint(void) /* After a successful checkpoint, we can cull the unused logs */ if (CtdlGetConfigInt("c_auto_cull")) { -#ifdef DB_LOG_AUTO_REMOVE - // This version of Berkeley DB can cull the logs on its own! ret = dbenv->log_set_config(dbenv, DB_LOG_AUTO_REMOVE, 1); -#else - cdb_cull_logs(); // Citadel knows how to do it too. -#endif } -#ifdef DB_LOG_AUTO_REMOVE else { ret = dbenv->log_set_config(dbenv, DB_LOG_AUTO_REMOVE, 0); } -#endif } diff --git a/citadel/modules/ctdlproto/serv_syscmds.c b/citadel/modules/ctdlproto/serv_syscmds.c index 9a11deca6..013e14089 100644 --- a/citadel/modules/ctdlproto/serv_syscmds.c +++ b/citadel/modules/ctdlproto/serv_syscmds.c @@ -2,7 +2,7 @@ /* * Main source module for the Citadel server * - * Copyright (c) 1987-2017 by the citadel.org team + * Copyright (c) 1987-2018 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. @@ -98,16 +98,6 @@ void cmd_scdn(char *argbuf) cprintf(Reply, state, ScheduledShutdown); } -/* - * Manually initiate log file cull. - */ -void cmd_cull(char *argbuf) { - if (CtdlAccessCheck(ac_internal)) return; - cdb_cull_logs(); - cprintf("%d Database log file cull completed.\n", CIT_OK); -} - - /*****************************************************************************/ /* MODULE INITIALIZATION STUFF */ @@ -119,7 +109,6 @@ CTDL_MODULE_INIT(syscmd) CtdlRegisterProtoHook(cmd_down, "DOWN", "perform a server shutdown"); CtdlRegisterProtoHook(cmd_halt, "HALT", "halt the server without exiting the server process"); CtdlRegisterProtoHook(cmd_scdn, "SCDN", "schedule or cancel a server shutdown"); - CtdlRegisterProtoHook(cmd_cull, "CULL", "Cull database logs"); } /* return our id for the Log */ return "syscmd";