summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCosta Tsaousis <costa@netdata.cloud>2023-03-22 10:06:12 +0200
committerGitHub <noreply@github.com>2023-03-22 10:06:12 +0200
commit104a84eab8fa520a78124c46bb3e0485e0c4de2d (patch)
tree8fe083d1e45363133dd1e5cbabbd7c95494c8f5f
parent16393a346b9339a9992f0ceda9addd85f7c8c53b (diff)
uuid_compare() replaced with uuid_memcmp() (#14787)
replace uuid_compare() with uuid_memcmp() everywhere where the order is not important but equality is
-rw-r--r--database/contexts/instance.c4
-rw-r--r--database/contexts/metric.c4
-rw-r--r--database/contexts/rrdcontext.c2
-rw-r--r--database/engine/pagecache.c5
-rw-r--r--database/engine/rrdengine.c10
-rw-r--r--database/engine/rrdengine.h4
-rwxr-xr-xdatabase/engine/rrdengineapi.c2
-rw-r--r--database/sqlite/sqlite_aclk.h2
-rw-r--r--database/sqlite/sqlite_aclk_alert.c2
-rw-r--r--database/sqlite/sqlite_functions.c2
-rw-r--r--libnetdata/inlined.h4
11 files changed, 21 insertions, 20 deletions
diff --git a/database/contexts/instance.c b/database/contexts/instance.c
index 2dae4481a9..665022afd6 100644
--- a/database/contexts/instance.c
+++ b/database/contexts/instance.c
@@ -137,7 +137,7 @@ static bool rrdinstance_conflict_callback(const DICTIONARY_ITEM *item __maybe_un
"RRDINSTANCE: '%s' cannot change id to '%s'",
string2str(ri->id), string2str(ri_new->id));
- if(uuid_compare(ri->uuid, ri_new->uuid) != 0) {
+ if(uuid_memcmp(&ri->uuid, &ri_new->uuid) != 0) {
#ifdef NETDATA_INTERNAL_CHECKS
char uuid1[UUID_STR_LEN], uuid2[UUID_STR_LEN];
uuid_unparse(ri->uuid, uuid1);
@@ -156,7 +156,7 @@ static bool rrdinstance_conflict_callback(const DICTIONARY_ITEM *item __maybe_un
}
#ifdef NETDATA_INTERNAL_CHECKS
- if(ri->rrdset && uuid_compare(ri->uuid, ri->rrdset->chart_uuid) != 0) {
+ if(ri->rrdset && uuid_memcmp(&ri->uuid, &ri->rrdset->chart_uuid) != 0) {
char uuid1[UUID_STR_LEN], uuid2[UUID_STR_LEN];
uuid_unparse(ri->uuid, uuid1);
uuid_unparse(ri->rrdset->chart_uuid, uuid2);
diff --git a/database/contexts/metric.c b/database/contexts/metric.c
index 599ad99f7a..80756b54c2 100644
--- a/database/contexts/metric.c
+++ b/database/contexts/metric.c
@@ -108,7 +108,7 @@ static bool rrdmetric_conflict_callback(const DICTIONARY_ITEM *item __maybe_unus
"RRDMETRIC: '%s' cannot change id to '%s'",
string2str(rm->id), string2str(rm_new->id));
- if(uuid_compare(rm->uuid, rm_new->uuid) != 0) {
+ if(uuid_memcmp(&rm->uuid, &rm_new->uuid) != 0) {
#ifdef NETDATA_INTERNAL_CHECKS
char uuid1[UUID_STR_LEN], uuid2[UUID_STR_LEN];
uuid_unparse(rm->uuid, uuid1);
@@ -150,7 +150,7 @@ static bool rrdmetric_conflict_callback(const DICTIONARY_ITEM *item __maybe_unus
}
#ifdef NETDATA_INTERNAL_CHECKS
- if(rm->rrddim && uuid_compare(rm->uuid, rm->rrddim->metric_uuid) != 0) {
+ if(rm->rrddim && uuid_memcmp(&rm->uuid, &rm->rrddim->metric_uuid) != 0) {
char uuid1[UUID_STR_LEN], uuid2[UUID_STR_LEN];
uuid_unparse(rm->uuid, uuid1);
uuid_unparse(rm_new->uuid, uuid2);
diff --git a/database/contexts/rrdcontext.c b/database/contexts/rrdcontext.c
index 4c66119011..40a7e420bd 100644
--- a/database/contexts/rrdcontext.c
+++ b/database/contexts/rrdcontext.c
@@ -212,7 +212,7 @@ static RRDHOST *rrdhost_find_by_node_id(const char *node_id) {
dfe_start_read(rrdhost_root_index, host) {
if(!host->node_id) continue;
- if(uuid_compare(uuid, *host->node_id) == 0)
+ if(uuid_memcmp(&uuid, host->node_id) == 0)
break;
}
dfe_done(host);
diff --git a/database/engine/pagecache.c b/database/engine/pagecache.c
index 7e5fe6c5f2..02fd53d3de 100644
--- a/database/engine/pagecache.c
+++ b/database/engine/pagecache.c
@@ -99,11 +99,6 @@ inline TIME_RANGE_COMPARE is_page_in_time_range(time_t page_first_time_s, time_t
return PAGE_IS_IN_RANGE;
}
-static int journal_metric_uuid_compare(const void *key, const void *metric)
-{
- return memcmp(key, &(((struct journal_metric_list *) metric)->uuid), sizeof(uuid_t));
-}
-
static inline struct page_details *pdc_find_page_for_time(
Pcvoid_t PArray,
time_t wanted_time_s,
diff --git a/database/engine/rrdengine.c b/database/engine/rrdengine.c
index 7570ffc502..fae6656d93 100644
--- a/database/engine/rrdengine.c
+++ b/database/engine/rrdengine.c
@@ -927,11 +927,6 @@ struct uuid_first_time_s {
size_t df_index_oldest;
};
-static int journal_metric_compare(const void *key, const void *metric)
-{
- return uuid_compare(*(uuid_t *) key, ((struct journal_metric_list *) metric)->uuid);
-}
-
struct rrdengine_datafile *datafile_release_and_acquire_next_for_retention(struct rrdengine_instance *ctx, struct rrdengine_datafile *datafile) {
uv_rwlock_rdlock(&ctx->datafiles.rwlock);
@@ -987,7 +982,10 @@ void find_uuid_first_time(
if (uuid_original_entry->df_matched > 3 || uuid_original_entry->pages_found > 5)
continue;
- struct journal_metric_list *live_entry = bsearch(uuid_original_entry->uuid,uuid_list,journal_metric_count,sizeof(*uuid_list), journal_metric_compare);
+ struct journal_metric_list *live_entry =
+ bsearch(uuid_original_entry->uuid,uuid_list,journal_metric_count,
+ sizeof(*uuid_list), journal_metric_uuid_compare);
+
if (!live_entry) {
// Not found in this journal
not_matching_bsearches++;
diff --git a/database/engine/rrdengine.h b/database/engine/rrdengine.h
index ec773686eb..9e52764d54 100644
--- a/database/engine/rrdengine.h
+++ b/database/engine/rrdengine.h
@@ -515,4 +515,8 @@ static inline time_t max_acceptable_collected_time(void) {
void datafile_delete(struct rrdengine_instance *ctx, struct rrdengine_datafile *datafile, bool update_retention, bool worker);
+static inline int journal_metric_uuid_compare(const void *key, const void *metric) {
+ return uuid_memcmp((uuid_t *)key, &(((struct journal_metric_list *) metric)->uuid));
+}
+
#endif /* NETDATA_RRDENGINE_H */
diff --git a/database/engine/rrdengineapi.c b/database/engine/rrdengineapi.c
index bc42e67050..c3966f7baf 100755
--- a/database/engine/rrdengineapi.c
+++ b/database/engine/rrdengineapi.c
@@ -161,7 +161,7 @@ STORAGE_METRIC_HANDLE *rrdeng_metric_get_or_create(RRDDIM *rd, STORAGE_INSTANCE
}
#ifdef NETDATA_INTERNAL_CHECKS
- if(uuid_compare(rd->metric_uuid, *mrg_metric_uuid(main_mrg, metric)) != 0) {
+ if(uuid_memcmp(&rd->metric_uuid, mrg_metric_uuid(main_mrg, metric)) != 0) {
char uuid1[UUID_STR_LEN + 1];
char uuid2[UUID_STR_LEN + 1];
diff --git a/database/sqlite/sqlite_aclk.h b/database/sqlite/sqlite_aclk.h
index f6db4e0777..9f0eb30470 100644
--- a/database/sqlite/sqlite_aclk.h
+++ b/database/sqlite/sqlite_aclk.h
@@ -91,7 +91,7 @@ static inline RRDHOST *find_host_by_node_id(char *node_id)
rrd_rdlock();
RRDHOST *host, *ret = NULL;
rrdhost_foreach_read(host) {
- if (host->node_id && !(uuid_compare(*host->node_id, node_uuid))) {
+ if (host->node_id && !(uuid_memcmp(host->node_id, &node_uuid))) {
ret = host;
break;
}
diff --git a/database/sqlite/sqlite_aclk_alert.c b/database/sqlite/sqlite_aclk_alert.c
index 9e79d81463..944b1be1d9 100644
--- a/database/sqlite/sqlite_aclk_alert.c
+++ b/database/sqlite/sqlite_aclk_alert.c
@@ -133,7 +133,7 @@ int should_send_to_cloud(RRDHOST *host, ALARM_ENTRY *ae)
goto done;
}
- if (uuid_compare(ae->config_hash_id, config_hash_id)) {
+ if (uuid_memcmp(&ae->config_hash_id, &config_hash_id)) {
send = 1;
goto done;
}
diff --git a/database/sqlite/sqlite_functions.c b/database/sqlite/sqlite_functions.c
index 142693cf91..451ae34501 100644
--- a/database/sqlite/sqlite_functions.c
+++ b/database/sqlite/sqlite_functions.c
@@ -779,7 +779,7 @@ struct node_instance_list *get_node_list(void)
node_list[row].live = (host && (host == localhost || host->receiver
|| !(rrdhost_flag_check(host, RRDHOST_FLAG_ORPHAN)))) ? 1 : 0;
node_list[row].hops = (host && host->system_info) ? host->system_info->hops :
- uuid_compare(*host_id, localhost->host_uuid) ? 1 : 0;
+ uuid_memcmp(host_id, &localhost->host_uuid) ? 1 : 0;
node_list[row].hostname =
sqlite3_column_bytes(res, 2) ? strdupz((char *)sqlite3_column_text(res, 2)) : NULL;
}
diff --git a/libnetdata/inlined.h b/libnetdata/inlined.h
index 539486b91b..6bd2089b3a 100644
--- a/libnetdata/inlined.h
+++ b/libnetdata/inlined.h
@@ -510,4 +510,8 @@ static inline int read_single_signed_number_file(const char *filename, long long
return 0;
}
+static inline int uuid_memcmp(const uuid_t *uu1, const uuid_t *uu2) {
+ return memcmp(uu1, uu2, sizeof(uuid_t));
+}
+
#endif //NETDATA_INLINED_H