From: Richard Mudgett Date: Sat, 14 Jan 2017 03:23:49 +0000 (-0600) Subject: taskprocessor.c: Change when high water warning logged. X-Git-Tag: 13.14.0-rc1~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=473330983b47618772b1dd414df8e063e5da6a53;p=thirdparty%2Fasterisk.git taskprocessor.c: Change when high water warning logged. The task processor queue reached X scheduled tasks message was originally intended to get logged only once per task processor to prevent spamming the log. This is no longer necessary since high and low water thresholds can better control when the message is logged. It is beneficial to generate the warning each time a task processor reaches the high water level because PJSIP stops processing new requests while any high water alert is active. Without this change you would have to enable at least debug level 3 logging to know about a repeated alert trigger. * Made generate the warning message whenever a task is pushed into the task processor that triggers the high water alert. * Appended 'again' to the warning for a repeated high water alert trigger. Change-Id: Iabf75a004f7edaf1e5e8c323099418e667cac999 --- diff --git a/main/taskprocessor.c b/main/taskprocessor.c index bbf282c27a..f4ebab3c03 100644 --- a/main/taskprocessor.c +++ b/main/taskprocessor.c @@ -884,12 +884,10 @@ static int taskprocessor_push(struct ast_taskprocessor *tps, struct tps_task *t) previous_size = tps->tps_queue_size++; if (tps->tps_queue_high <= tps->tps_queue_size) { - if (!tps->high_water_warned) { - tps->high_water_warned = 1; - ast_log(LOG_WARNING, "The '%s' task processor queue reached %ld scheduled tasks.\n", - tps->name, tps->tps_queue_size); - } if (!tps->high_water_alert) { + ast_log(LOG_WARNING, "The '%s' task processor queue reached %ld scheduled tasks%s.\n", + tps->name, tps->tps_queue_size, tps->high_water_warned ? " again" : ""); + tps->high_water_warned = 1; tps->high_water_alert = 1; tps_alert_add(tps, +1); }