summaryrefslogtreecommitdiffstats
path: root/database/sqlite
diff options
context:
space:
mode:
authorStelios Fragkakis <52996999+stelfrag@users.noreply.github.com>2023-12-07 17:42:00 +0200
committerGitHub <noreply@github.com>2023-12-07 17:42:00 +0200
commitf672c4b0a6d225a9d6e92f84fbfe3f14dd55b332 (patch)
treedceae2fe3f73b08b7979afceb9ab0b5c2285ae3a /database/sqlite
parent3ac76d8d1bb7130c5fb915ccd36378734eb066ef (diff)
Resolve issue on startup in servers with 1 core (#16565)
* Use at least one thread to do context load Check for uninitialized last connected value * Simplify / fix compilation warning
Diffstat (limited to 'database/sqlite')
-rw-r--r--database/sqlite/sqlite_aclk.c7
-rw-r--r--database/sqlite/sqlite_metadata.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/database/sqlite/sqlite_aclk.c b/database/sqlite/sqlite_aclk.c
index 56b9574a92..ac574879cc 100644
--- a/database/sqlite/sqlite_aclk.c
+++ b/database/sqlite/sqlite_aclk.c
@@ -80,7 +80,12 @@ static int create_host_callback(void *data, int argc, char **argv, char **column
UNUSED(argc);
UNUSED(column);
- time_t last_connected = (time_t) (argv[IDX_LAST_CONNECTED] ? str2uint64_t(argv[IDX_LAST_CONNECTED], NULL) : 0);
+ time_t last_connected =
+ (time_t)(argv[IDX_LAST_CONNECTED] ? str2uint64_t(argv[IDX_LAST_CONNECTED], NULL) : 0);
+
+ if (!last_connected)
+ last_connected = now_realtime_sec();
+
time_t age = now_realtime_sec() - last_connected;
int is_ephemeral = 0;
diff --git a/database/sqlite/sqlite_metadata.c b/database/sqlite/sqlite_metadata.c
index 22df2f02b1..0dd5c50d46 100644
--- a/database/sqlite/sqlite_metadata.c
+++ b/database/sqlite/sqlite_metadata.c
@@ -1288,6 +1288,8 @@ static void start_all_host_load_context(uv_work_t *req __maybe_unused)
RRDHOST *host;
size_t max_threads = MIN(get_netdata_cpus() / 2, 6);
+ if (max_threads < 1)
+ max_threads = 1;
nd_log(NDLS_DAEMON, NDLP_DEBUG, "METADATA: Using %zu threads for context loading", max_threads);
struct host_context_load_thread *hclt = callocz(max_threads, sizeof(*hclt));