@cryptotaxi247 / netdata-1 / commits / 104a84eab

uuid_compare() replaced with uuid_memcmp() (#14787)

replace uuid_compare() with uuid_memcmp() everywhere where the order is not important but equality is

Costa Tsaousis committed Mar 22, 2023 at 10:06 UTC 104a84eab8fa520a78124c46bb3e0485e0c4de2d
11 files changed +21 -20
database/contexts/instance.c
+2 -2
@@ -137,7 +137,7 @@ static bool rrdinstance_conflict_callback(const DICTIONARY_ITEM *item __maybe_un
137 "RRDINSTANCE: '%s' cannot change id to '%s'",
138 string2str(ri->id), string2str(ri_new->id));
139
140 - if(uuid_compare(ri->uuid, ri_new->uuid) != 0) {
140 + if(uuid_memcmp(&ri->uuid, &ri_new->uuid) != 0) {
141 #ifdef NETDATA_INTERNAL_CHECKS
142 char uuid1[UUID_STR_LEN], uuid2[UUID_STR_LEN];
143 uuid_unparse(ri->uuid, uuid1);
@@ -156,7 +156,7 @@ static bool rrdinstance_conflict_callback(const DICTIONARY_ITEM *item __maybe_un
156 }
157
158 #ifdef NETDATA_INTERNAL_CHECKS
159 - if(ri->rrdset && uuid_compare(ri->uuid, ri->rrdset->chart_uuid) != 0) {
159 + if(ri->rrdset && uuid_memcmp(&ri->uuid, &ri->rrdset->chart_uuid) != 0) {
160 char uuid1[UUID_STR_LEN], uuid2[UUID_STR_LEN];
161 uuid_unparse(ri->uuid, uuid1);
162 uuid_unparse(ri->rrdset->chart_uuid, uuid2);
database/contexts/metric.c
+2 -2
@@ -108,7 +108,7 @@ static bool rrdmetric_conflict_callback(const DICTIONARY_ITEM *item __maybe_unus
108 "RRDMETRIC: '%s' cannot change id to '%s'",
109 string2str(rm->id), string2str(rm_new->id));
110
111 - if(uuid_compare(rm->uuid, rm_new->uuid) != 0) {
111 + if(uuid_memcmp(&rm->uuid, &rm_new->uuid) != 0) {
112 #ifdef NETDATA_INTERNAL_CHECKS
113 char uuid1[UUID_STR_LEN], uuid2[UUID_STR_LEN];
114 uuid_unparse(rm->uuid, uuid1);
@@ -150,7 +150,7 @@ static bool rrdmetric_conflict_callback(const DICTIONARY_ITEM *item __maybe_unus
150 }
151
152 #ifdef NETDATA_INTERNAL_CHECKS
153 - if(rm->rrddim && uuid_compare(rm->uuid, rm->rrddim->metric_uuid) != 0) {
153 + if(rm->rrddim && uuid_memcmp(&rm->uuid, &rm->rrddim->metric_uuid) != 0) {
154 char uuid1[UUID_STR_LEN], uuid2[UUID_STR_LEN];
155 uuid_unparse(rm->uuid, uuid1);
156 uuid_unparse(rm_new->uuid, uuid2);
database/contexts/rrdcontext.c
+1 -1
@@ -212,7 +212,7 @@ static RRDHOST *rrdhost_find_by_node_id(const char *node_id) {
212 dfe_start_read(rrdhost_root_index, host) {
213 if(!host->node_id) continue;
214
215 - if(uuid_compare(uuid, *host->node_id) == 0)
215 + if(uuid_memcmp(&uuid, host->node_id) == 0)
216 break;
217 }
218 dfe_done(host);
database/engine/pagecache.c
-5
@@ -99,11 +99,6 @@ inline TIME_RANGE_COMPARE is_page_in_time_range(time_t page_first_time_s, time_t
99 return PAGE_IS_IN_RANGE;
100 }
101
102 -static int journal_metric_uuid_compare(const void *key, const void *metric)
103 -{
104 - return memcmp(key, &(((struct journal_metric_list *) metric)->uuid), sizeof(uuid_t));
105 -}
106 -
102 static inline struct page_details *pdc_find_page_for_time(
103 Pcvoid_t PArray,
104 time_t wanted_time_s,
database/engine/rrdengine.c
+4 -6
@@ -927,11 +927,6 @@ struct uuid_first_time_s {
927 size_t df_index_oldest;
928 };
929
930 -static int journal_metric_compare(const void *key, const void *metric)
931 -{
932 - return uuid_compare(*(uuid_t *) key, ((struct journal_metric_list *) metric)->uuid);
933 -}
934 -
930 struct rrdengine_datafile *datafile_release_and_acquire_next_for_retention(struct rrdengine_instance *ctx, struct rrdengine_datafile *datafile) {
931
932 uv_rwlock_rdlock(&ctx->datafiles.rwlock);
@@ -987,7 +982,10 @@ void find_uuid_first_time(
982 if (uuid_original_entry->df_matched > 3 || uuid_original_entry->pages_found > 5)
983 continue;
984
990 - struct journal_metric_list *live_entry = bsearch(uuid_original_entry->uuid,uuid_list,journal_metric_count,sizeof(*uuid_list), journal_metric_compare);
985 + struct journal_metric_list *live_entry =
986 + bsearch(uuid_original_entry->uuid,uuid_list,journal_metric_count,
987 + sizeof(*uuid_list), journal_metric_uuid_compare);
988 +
989 if (!live_entry) {
990 // Not found in this journal
991 not_matching_bsearches++;
database/engine/rrdengine.h
+4
@@ -515,4 +515,8 @@ static inline time_t max_acceptable_collected_time(void) {
515
516 void datafile_delete(struct rrdengine_instance *ctx, struct rrdengine_datafile *datafile, bool update_retention, bool worker);
517
518 +static inline int journal_metric_uuid_compare(const void *key, const void *metric) {
519 + return uuid_memcmp((uuid_t *)key, &(((struct journal_metric_list *) metric)->uuid));
520 +}
521 +
522 #endif /* NETDATA_RRDENGINE_H */
database/engine/rrdengineapi.c
+1 -1
@@ -161,7 +161,7 @@ STORAGE_METRIC_HANDLE *rrdeng_metric_get_or_create(RRDDIM *rd, STORAGE_INSTANCE
161 }
162
163 #ifdef NETDATA_INTERNAL_CHECKS
164 - if(uuid_compare(rd->metric_uuid, *mrg_metric_uuid(main_mrg, metric)) != 0) {
164 + if(uuid_memcmp(&rd->metric_uuid, mrg_metric_uuid(main_mrg, metric)) != 0) {
165 char uuid1[UUID_STR_LEN + 1];
166 char uuid2[UUID_STR_LEN + 1];
167
database/sqlite/sqlite_aclk.h
+1 -1
@@ -91,7 +91,7 @@ static inline RRDHOST *find_host_by_node_id(char *node_id)
91 rrd_rdlock();
92 RRDHOST *host, *ret = NULL;
93 rrdhost_foreach_read(host) {
94 - if (host->node_id && !(uuid_compare(*host->node_id, node_uuid))) {
94 + if (host->node_id && !(uuid_memcmp(host->node_id, &node_uuid))) {
95 ret = host;
96 break;
97 }
database/sqlite/sqlite_aclk_alert.c
+1 -1
@@ -133,7 +133,7 @@ int should_send_to_cloud(RRDHOST *host, ALARM_ENTRY *ae)
133 goto done;
134 }
135
136 - if (uuid_compare(ae->config_hash_id, config_hash_id)) {
136 + if (uuid_memcmp(&ae->config_hash_id, &config_hash_id)) {
137 send = 1;
138 goto done;
139 }
database/sqlite/sqlite_functions.c
+1 -1
@@ -779,7 +779,7 @@ struct node_instance_list *get_node_list(void)
779 node_list[row].live = (host && (host == localhost || host->receiver
780 || !(rrdhost_flag_check(host, RRDHOST_FLAG_ORPHAN)))) ? 1 : 0;
781 node_list[row].hops = (host && host->system_info) ? host->system_info->hops :
782 - uuid_compare(*host_id, localhost->host_uuid) ? 1 : 0;
782 + uuid_memcmp(host_id, &localhost->host_uuid) ? 1 : 0;
783 node_list[row].hostname =
784 sqlite3_column_bytes(res, 2) ? strdupz((char *)sqlite3_column_text(res, 2)) : NULL;
785 }
libnetdata/inlined.h
+4
@@ -510,4 +510,8 @@ static inline int read_single_signed_number_file(const char *filename, long long
510 return 0;
511 }
512
513 +static inline int uuid_memcmp(const uuid_t *uu1, const uuid_t *uu2) {
514 + return memcmp(uu1, uu2, sizeof(uuid_t));
515 +}
516 +
517 #endif //NETDATA_INLINED_H