commit 57b9a24: [Fix] Clickhouse: Use integer seconds when inserting rows
Vsevolod Stakhov
vsevolod at highsecure.ru
Mon Apr 15 19:28:11 UTC 2019
Author: Vsevolod Stakhov
Date: 2019-04-15 20:18:31 +0100
URL: https://github.com/rspamd/rspamd/commit/57b9a24fb0046f4155e33acafd7dfdd90aca78d6
[Fix] Clickhouse: Use integer seconds when inserting rows
---
src/plugins/lua/clickhouse.lua | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/src/plugins/lua/clickhouse.lua b/src/plugins/lua/clickhouse.lua
index d7efa635f..28d80de27 100644
--- a/src/plugins/lua/clickhouse.lua
+++ b/src/plugins/lua/clickhouse.lua
@@ -447,10 +447,10 @@ local function clickhouse_collect(task)
nurls = #task:get_urls(true)
end
- local timestamp = task:get_date({
+ local timestamp = math.floor(task:get_date({
format = 'connect',
gmt = true, -- The only sane way to sync stuff with different timezones
- })
+ }))
local action = task:get_metric_action('default')
local digest = task:get_digest()
@@ -731,18 +731,26 @@ local function upload_clickhouse_schema(upstream, ev_base, cfg)
config = cfg,
}
+ local errored = false
+
-- Apply schema sequentially
fun.each(function(v)
+ if errored then
+ rspamd_logger.errx(rspamd_config, "cannot upload schema '%s' on clickhouse server %s: due to previous errors",
+ v, upstream:get_addr():to_string(true))
+ return
+ end
local sql = v
- local err, _ = lua_clickhouse.generic_sync(upstream, settings, ch_params, sql)
+ local err, reply = lua_clickhouse.generic_sync(upstream, settings, ch_params, sql)
if err then
rspamd_logger.errx(rspamd_config, "cannot upload schema '%s' on clickhouse server %s: %s",
sql, upstream:get_addr():to_string(true), err)
+ errored = true
return
end
- rspamd_logger.debugm(N, rspamd_config, 'uploaded clickhouse schema element %s to %s',
- v, upstream:get_addr():to_string(true))
+ rspamd_logger.debugm(N, rspamd_config, 'uploaded clickhouse schema element %s to %s: %s',
+ v, upstream:get_addr():to_string(true), reply)
end,
-- Also template schema version
fun.map(function(v)
More information about the Commits
mailing list