From 03402a86edad4512084c6bebf406bc1edcfe6970 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Fri, 20 Jan 2017 18:10:33 +0200 Subject: [PATCH] Check that ccrfilter time is enabled before using it The filter calculated a time difference which was negative if the filter was not configured to use time intervals. Added more info level logging to help determine how the filter behaves. --- server/modules/filter/ccrfilter/ccrfilter.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/server/modules/filter/ccrfilter/ccrfilter.c b/server/modules/filter/ccrfilter/ccrfilter.c index 42d664fc4..7b78f073a 100644 --- a/server/modules/filter/ccrfilter/ccrfilter.c +++ b/server/modules/filter/ccrfilter/ccrfilter.c @@ -341,11 +341,18 @@ routeQuery(MXS_FILTER *instance, MXS_FILTER_SESSION *session, GWBUF *queue) queue->hint = hint_create_route(queue->hint, HINT_ROUTE_TO_MASTER, NULL); my_session->hints_left--; my_instance->stats.n_add_count++; + MXS_INFO("%d queries left", my_instance->time); } - else if (difftime(now, my_session->last_modification) < my_instance->time) + else if (my_instance->time) { - queue->hint = hint_create_route(queue->hint, HINT_ROUTE_TO_MASTER, NULL); - my_instance->stats.n_add_time++; + double dt = difftime(now, my_session->last_modification); + + if (dt < my_instance->time) + { + queue->hint = hint_create_route(queue->hint, HINT_ROUTE_TO_MASTER, NULL); + my_instance->stats.n_add_time++; + MXS_INFO("%.0f seconds left", dt); + } } }