Guard for null host when sending node instances (#14673)
* guard for null host when sending node instances * also add a default value when migrating
Emmanuel Vasilakis committed
Mar 7, 2023 at 16:04 UTC
a5efb978e1b89ff4495fc06a748d2ab69be1d73b
3 files changed
+7
-2
aclk/aclk.c
+5
@@ -870,6 +870,11 @@ void aclk_send_node_instances()
870
uuid_unparse_lower(list->host_id, host_id);
871
872
RRDHOST *host = rrdhost_find_by_guid(host_id);
873
+ if (unlikely(!host)) {
874
+ freez((void*)node_state_update.node_id);
875
+ freez(query);
876
+ continue;
877
+ }
878
node_state_update.capabilities = aclk_get_node_instance_capas(host);
879
880
rrdhost_aclk_state_lock(localhost);
database/sqlite/sqlite_db_migration.c
+1
-1
@@ -49,7 +49,7 @@ static int column_exists_in_table(const char *table, const char *column)
49
}
50
51
const char *database_migrate_v1_v2[] = {
52
- "ALTER TABLE host ADD hops INTEGER;",
52
+ "ALTER TABLE host ADD hops INTEGER NOT NULL DEFAULT 0;",
53
NULL
54
};
55
database/sqlite/sqlite_functions.c
+1
-1
@@ -771,7 +771,7 @@ failed:
771
}
772
773
#define SQL_GET_NODE_INSTANCE_LIST "select ni.node_id, ni.host_id, h.hostname " \
774
- "from node_instance ni, host h where ni.host_id = h.host_id;"
774
+ "from node_instance ni, host h where ni.host_id = h.host_id AND h.hops >=0;"
775
776
struct node_instance_list *get_node_list(void)
777
{