From: Anton Yuzhaninov Date: Thu, 10 Feb 2022 10:05:08 +0000 (+0000) Subject: [Fix] ClickHouse cleanup of old partitions X-Git-Tag: 3.2~59^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ff10dae97e5720fe600420450488d80cc272df0e;p=rspamd.git [Fix] ClickHouse cleanup of old partitions If /var/lib/rspamd/clickhouse_retention_run is missing or has no number cleanup was not performed because of a following Lua error: lua_periodic_callback_error: call to periodic script (registered at clickhouse.lua:1531) failed: /usr/share/rspamd/plugins/clickhouse.lua:991: attempt to compare number with nil; trace: [1]:{/usr/share/rspamd/plugins/clickhouse.lua:1069 - [Lua]}; --- diff --git a/src/plugins/lua/clickhouse.lua b/src/plugins/lua/clickhouse.lua index 7a2e276ee..00a0fc738 100644 --- a/src/plugins/lua/clickhouse.lua +++ b/src/plugins/lua/clickhouse.lua @@ -988,6 +988,10 @@ local function get_last_removal_ago() f:close() end + if last_ts == nil or (last_ts + settings.retention.period) <= current_ts then + return write_ts_to_file() and 0 + end + if last_ts > current_ts then -- Clock skew detected, overwrite last_ts with current_ts and wait for the next -- retention period @@ -996,10 +1000,6 @@ local function get_last_removal_ago() return write_ts_to_file() and -1 end - if last_ts == nil or (last_ts + settings.retention.period) <= current_ts then - return write_ts_to_file() and 0 - end - return (last_ts + settings.retention.period) - current_ts end