diff options
author | Emmanuel Vasilakis <mrzammler@mm.st> | 2023-03-07 16:04:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-07 16:04:56 +0200 |
commit | a5efb978e1b89ff4495fc06a748d2ab69be1d73b (patch) | |
tree | 85152ea9309a5361b1ce229489bb0141d225009e | |
parent | 646d43d9c0d50b83273f580c314686c20a7e8127 (diff) |
Guard for null host when sending node instances (#14673)
* guard for null host when sending node instances
* also add a default value when migrating
-rw-r--r-- | aclk/aclk.c | 5 | ||||
-rw-r--r-- | database/sqlite/sqlite_db_migration.c | 2 | ||||
-rw-r--r-- | database/sqlite/sqlite_functions.c | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/aclk/aclk.c b/aclk/aclk.c index e808972213..9e03e04c8c 100644 --- a/aclk/aclk.c +++ b/aclk/aclk.c @@ -870,6 +870,11 @@ void aclk_send_node_instances() uuid_unparse_lower(list->host_id, host_id); RRDHOST *host = rrdhost_find_by_guid(host_id); + if (unlikely(!host)) { + freez((void*)node_state_update.node_id); + freez(query); + continue; + } node_state_update.capabilities = aclk_get_node_instance_capas(host); rrdhost_aclk_state_lock(localhost); diff --git a/database/sqlite/sqlite_db_migration.c b/database/sqlite/sqlite_db_migration.c index fad3c57643..3132ae2d05 100644 --- a/database/sqlite/sqlite_db_migration.c +++ b/database/sqlite/sqlite_db_migration.c @@ -49,7 +49,7 @@ static int column_exists_in_table(const char *table, const char *column) } const char *database_migrate_v1_v2[] = { - "ALTER TABLE host ADD hops INTEGER;", + "ALTER TABLE host ADD hops INTEGER NOT NULL DEFAULT 0;", NULL }; diff --git a/database/sqlite/sqlite_functions.c b/database/sqlite/sqlite_functions.c index 3bd11f1ae1..bdfcd7f6ed 100644 --- a/database/sqlite/sqlite_functions.c +++ b/database/sqlite/sqlite_functions.c @@ -771,7 +771,7 @@ failed: } #define SQL_GET_NODE_INSTANCE_LIST "select ni.node_id, ni.host_id, h.hostname " \ - "from node_instance ni, host h where ni.host_id = h.host_id;" + "from node_instance ni, host h where ni.host_id = h.host_id AND h.hops >=0;" struct node_instance_list *get_node_list(void) { |