From 616434de3faa4fb0cfb56d842b8c66c3f6c260e6 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 21 Dec 2023 16:01:16 +0100 Subject: [PATCH] Remove group_sum_starttime It is unclear, what group_sum_starttime is supposed to be, but it seems to be bogus and is 0 for most groups anyway. 'select count(*) from mxq_group where group_sum_starttime=0' +----------+ | count(*) | +----------+ | 539223 | +----------+ 'select count(*) from mxq_group where group_sum_starttime!=0' +----------+ | count(*) | +----------+ | 11014 | +----------+ 'select distinct(group_sum_starttime) from mxq_group limit 10' +---------------------+ | group_sum_starttime | +---------------------+ | 0 | | 62509173560 | | 682762450608 | | 50573290960 | | 126435008048 | | 328732081280 | | 75859753168 | | 75859750064 | | 1770065450784 | | 75861674832 | +---------------------+ --- mxq_group.c | 4 +--- mxq_group.h | 1 - mysql/create_tables.sql | 1 - mysql/create_trigger.sql | 10 +--------- 4 files changed, 2 insertions(+), 14 deletions(-) diff --git a/mxq_group.c b/mxq_group.c index 066eff38..a354f424 100644 --- a/mxq_group.c +++ b/mxq_group.c @@ -11,7 +11,7 @@ #include "mx_util.h" #include "mx_mysql.h" -#define GROUP_FIELDS_CNT 38 +#define GROUP_FIELDS_CNT 37 #define GROUP_FIELDS \ " group_id," \ " group_name," \ @@ -42,7 +42,6 @@ " group_jobs_unknown," \ " group_jobs_restarted," \ " group_slots_running," \ - " group_sum_starttime," \ " stats_max_sumrss," \ " stats_max_maxrss," \ " stats_max_utime_sec," \ @@ -97,7 +96,6 @@ static int bind_result_group_fields(struct mx_mysql_bind *result, struct mxq_gro res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_jobs_restarted)); res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_slots_running)); - res += mx_mysql_bind_var(result, idx++, uint64, &(g->group_sum_starttime)); res += mx_mysql_bind_var(result, idx++, uint64, &(g->stats_max_sumrss)); res += mx_mysql_bind_var(result, idx++, uint64, &(g->stats_max_maxrss)); diff --git a/mxq_group.h b/mxq_group.h index 5eb23b2e..a72e1580 100644 --- a/mxq_group.h +++ b/mxq_group.h @@ -46,7 +46,6 @@ struct mxq_group { uint64_t group_jobs_restarted; uint64_t group_slots_running; - uint64_t group_sum_starttime; uint64_t stats_max_sumrss; uint64_t stats_max_maxrss; diff --git a/mysql/create_tables.sql b/mysql/create_tables.sql index 549b55a7..7885e52e 100644 --- a/mysql/create_tables.sql +++ b/mysql/create_tables.sql @@ -35,7 +35,6 @@ CREATE TABLE IF NOT EXISTS mxq_group ( group_jobs_restarted INT8 UNSIGNED NOT NULL DEFAULT 0, group_slots_running INT8 UNSIGNED NOT NULL DEFAULT 0, - group_sum_starttime INT8 UNSIGNED NOT NULL DEFAULT 0, group_mtime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, diff --git a/mysql/create_trigger.sql b/mysql/create_trigger.sql index e4a35dbb..0833974e 100644 --- a/mysql/create_trigger.sql +++ b/mysql/create_trigger.sql @@ -53,7 +53,6 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job SET NEW.date_start = NOW(); UPDATE mxq_group SET - group_sum_starttime = group_sum_starttime + UNIX_TIMESTAMP(NEW.date_start) * OLD.host_slots, group_jobs_inq = group_jobs_inq - 1, group_jobs_running = group_jobs_running + 1, group_slots_running = group_slots_running + NEW.host_slots @@ -68,17 +67,13 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job UPDATE mxq_group SET group_slots_running = group_slots_running - OLD.host_slots - + NEW.host_slots, - group_sum_starttime = group_sum_starttime - - UNIX_TIMESTAMP(OLD.date_start) * OLD.host_slots - + UNIX_TIMESTAMP(OLD.date_start) * NEW.host_slots + + NEW.host_slots WHERE group_id = NEW.group_id; -- LOADED(150) | RUNNING(200) -> KILLED(400) | FAILED(750) ELSEIF NEW.job_status IN (400, 750) AND OLD.job_status IN (150, 200) THEN UPDATE mxq_group SET - group_sum_starttime = group_sum_starttime - LEAST(group_sum_starttime, UNIX_TIMESTAMP(OLD.date_start) * OLD.host_slots), group_slots_running = group_slots_running - OLD.host_slots, group_jobs_running = group_jobs_running - 1, group_jobs_failed = group_jobs_failed + 1, @@ -107,7 +102,6 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job ELSEIF NEW.job_status = 999 AND OLD.job_status IN (150, 200) THEN UPDATE mxq_group SET - group_sum_starttime = group_sum_starttime - LEAST(group_sum_starttime, UNIX_TIMESTAMP(OLD.date_start) * OLD.host_slots), group_slots_running = group_slots_running - OLD.host_slots, group_jobs_running = group_jobs_running - 1, group_jobs_unknown = group_jobs_unknown + 1 @@ -125,7 +119,6 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job ELSEIF NEW.job_status = 1000 AND OLD.job_status IN (150, 200) THEN UPDATE mxq_group SET - group_sum_starttime = group_sum_starttime - LEAST(group_sum_starttime, UNIX_TIMESTAMP(OLD.date_start) * OLD.host_slots), group_slots_running = group_slots_running - OLD.host_slots, group_jobs_running = group_jobs_running - 1, group_jobs_finished = group_jobs_finished + 1, @@ -146,7 +139,6 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job ELSEIF NEW.job_status = 0 AND OLD.job_status IN (150) THEN UPDATE mxq_group SET - group_sum_starttime = group_sum_starttime - UNIX_TIMESTAMP(OLD.date_start) * NEW.host_slots, group_jobs_inq = group_jobs_inq + 1, group_jobs_running = group_jobs_running - 1, group_slots_running = group_slots_running - OLD.host_slots