fix/TD-30989

This commit is contained in:
dmchen 2024-07-29 05:42:57 +00:00
parent 82421f5833
commit 7f801388de
9 changed files with 51 additions and 50 deletions

View File

@ -39,18 +39,18 @@ taos_collector_t *taos_collector_new(const char *name) {
self->name = taos_strdup(name); self->name = taos_strdup(name);
self->metrics = taos_map_new(); self->metrics = taos_map_new();
if (self->metrics == NULL) { if (self->metrics == NULL) {
taos_collector_destroy(self); (void)taos_collector_destroy(self);
return NULL; return NULL;
} }
r = taos_map_set_free_value_fn(self->metrics, &taos_metric_free_generic); r = taos_map_set_free_value_fn(self->metrics, &taos_metric_free_generic);
if (r) { if (r) {
taos_collector_destroy(self); (void)taos_collector_destroy(self);
return NULL; return NULL;
} }
self->collect_fn = &taos_collector_default_collect; self->collect_fn = &taos_collector_default_collect;
self->string_builder = taos_string_builder_new(); self->string_builder = taos_string_builder_new();
if (self->string_builder == NULL) { if (self->string_builder == NULL) {
taos_collector_destroy(self); (void)taos_collector_destroy(self);
return NULL; return NULL;
} }
self->proc_limits_file_path = NULL; self->proc_limits_file_path = NULL;
@ -93,7 +93,7 @@ int taos_collector_destroy_generic(void *gen) {
void taos_collector_free_generic(void *gen) { void taos_collector_free_generic(void *gen) {
taos_collector_t *self = (taos_collector_t *)gen; taos_collector_t *self = (taos_collector_t *)gen;
taos_collector_destroy(self); (void)taos_collector_destroy(self);
} }
int taos_collector_set_collect_fn(taos_collector_t *self, taos_collect_fn *fn) { int taos_collector_set_collect_fn(taos_collector_t *self, taos_collect_fn *fn) {

View File

@ -50,8 +50,8 @@ taos_collector_registry_t *taos_collector_registry_new(const char *name) {
self->name = taos_strdup(name); self->name = taos_strdup(name);
self->collectors = taos_map_new(); self->collectors = taos_map_new();
taos_map_set_free_value_fn(self->collectors, &taos_collector_free_generic); (void)taos_map_set_free_value_fn(self->collectors, &taos_collector_free_generic);
taos_map_set(self->collectors, "default", taos_collector_new("default")); if (taos_map_set(self->collectors, "default", taos_collector_new("default")) != 0) return NULL;
self->metric_formatter = taos_metric_formatter_new(); self->metric_formatter = taos_metric_formatter_new();
self->string_builder = taos_string_builder_new(); self->string_builder = taos_string_builder_new();
@ -237,15 +237,15 @@ int taos_collector_registry_clear_batch(taos_collector_registry_t *self){
} }
const char *taos_collector_registry_bridge_new(taos_collector_registry_t *self, char *ts, char *format, char** prom_str) { const char *taos_collector_registry_bridge_new(taos_collector_registry_t *self, char *ts, char *format, char** prom_str) {
taos_metric_formatter_clear(self->metric_formatter); if (taos_metric_formatter_clear(self->metric_formatter) != 0) return NULL;
SJson* pJson = tjsonCreateArray(); SJson* pJson = tjsonCreateArray();
SJson* item = tjsonCreateObject(); SJson* item = tjsonCreateObject();
tjsonAddItemToArray(pJson, item); (void)tjsonAddItemToArray(pJson, item);
tjsonAddStringToObject(item, "ts", ts); (void)tjsonAddStringToObject(item, "ts", ts);
tjsonAddDoubleToObject(item, "protocol", 2); (void)tjsonAddDoubleToObject(item, "protocol", 2);
SJson* array = tjsonCreateArray(); SJson* array = tjsonCreateArray();
tjsonAddItemToObject(item, "tables", array); (void)tjsonAddItemToObject(item, "tables", array);
if(taos_metric_formatter_load_metrics_new(self->metric_formatter, self->collectors, ts, format, array) != 0){ if(taos_metric_formatter_load_metrics_new(self->metric_formatter, self->collectors, ts, format, array) != 0){
TAOS_LOG("failed to load metrics"); TAOS_LOG("failed to load metrics");
@ -304,7 +304,7 @@ const char *taos_collector_registry_bridge_new(taos_collector_registry_t *self,
_OVER: _OVER:
tjsonDelete(pJson); tjsonDelete(pJson);
if(tmp_builder != NULL){ if(tmp_builder != NULL){
taos_string_builder_destroy(tmp_builder); (void)taos_string_builder_destroy(tmp_builder);
} }
return NULL; return NULL;

View File

@ -59,7 +59,7 @@ int taos_map_node_destroy(taos_map_node_t *self) {
void taos_map_node_free(void *item) { void taos_map_node_free(void *item) {
taos_map_node_t *map_node = (taos_map_node_t *)item; taos_map_node_t *map_node = (taos_map_node_t *)item;
taos_map_node_destroy(map_node); (void)taos_map_node_destroy(map_node);
} }
taos_linked_list_compare_t taos_map_node_compare(void *item_a, void *item_b) { taos_linked_list_compare_t taos_map_node_compare(void *item_a, void *item_b) {
@ -87,7 +87,7 @@ taos_map_t *taos_map_new() {
// we will only have to deallocate each key once. That will happen on taos_map_node_destroy. // we will only have to deallocate each key once. That will happen on taos_map_node_destroy.
r = taos_linked_list_set_free_fn(self->keys, taos_linked_list_no_op_free); r = taos_linked_list_set_free_fn(self->keys, taos_linked_list_no_op_free);
if (r) { if (r) {
taos_map_destroy(self); (void)taos_map_destroy(self);
return NULL; return NULL;
} }
@ -98,12 +98,12 @@ taos_map_t *taos_map_new() {
self->addrs[i] = taos_linked_list_new(); self->addrs[i] = taos_linked_list_new();
r = taos_linked_list_set_free_fn(self->addrs[i], taos_map_node_free); r = taos_linked_list_set_free_fn(self->addrs[i], taos_map_node_free);
if (r) { if (r) {
taos_map_destroy(self); (void)taos_map_destroy(self);
return NULL; return NULL;
} }
r = taos_linked_list_set_compare_fn(self->addrs[i], taos_map_node_compare); r = taos_linked_list_set_compare_fn(self->addrs[i], taos_map_node_compare);
if (r) { if (r) {
taos_map_destroy(self); (void)taos_map_destroy(self);
return NULL; return NULL;
} }
} }
@ -112,7 +112,7 @@ taos_map_t *taos_map_new() {
r = pthread_rwlock_init(self->rwlock, NULL); r = pthread_rwlock_init(self->rwlock, NULL);
if (r) { if (r) {
TAOS_LOG(TAOS_PTHREAD_RWLOCK_INIT_ERROR); TAOS_LOG(TAOS_PTHREAD_RWLOCK_INIT_ERROR);
taos_map_destroy(self); (void)taos_map_destroy(self);
return NULL; return NULL;
} }
@ -188,12 +188,12 @@ static void *taos_map_get_internal(const char *key, size_t *size, size_t *max_si
taos_map_node_t *current_map_node = (taos_map_node_t *)current_node->item; taos_map_node_t *current_map_node = (taos_map_node_t *)current_node->item;
taos_linked_list_compare_t result = taos_linked_list_compare(list, current_map_node, temp_map_node); taos_linked_list_compare_t result = taos_linked_list_compare(list, current_map_node, temp_map_node);
if (result == TAOS_EQUAL) { if (result == TAOS_EQUAL) {
taos_map_node_destroy(temp_map_node); (void)taos_map_node_destroy(temp_map_node);
temp_map_node = NULL; temp_map_node = NULL;
return current_map_node->value; return current_map_node->value;
} }
} }
taos_map_node_destroy(temp_map_node); (void)taos_map_node_destroy(temp_map_node);
temp_map_node = NULL; temp_map_node = NULL;
return NULL; return NULL;
} }
@ -248,8 +248,8 @@ static int taos_map_set_internal(const char *key, void *value, size_t *size, siz
return 0; return 0;
} }
} }
taos_linked_list_append(list, map_node); if (taos_linked_list_append(list, map_node) != 0) return 1;
taos_linked_list_append(keys, (char *)map_node->key); if (taos_linked_list_append(keys, (char *)map_node->key) != 0) return 1;
(*size)++; (*size)++;
return 0; return 0;
} }
@ -311,7 +311,8 @@ int taos_map_ensure_space(taos_map_t *self) {
self->addrs[i] = NULL; self->addrs[i] = NULL;
} }
// Destroy the collection of keys in the map // Destroy the collection of keys in the map
taos_linked_list_destroy(self->keys); r = taos_linked_list_destroy(self->keys);
if (r) return r;
self->keys = NULL; self->keys = NULL;
// Deallocate the backbone of the map // Deallocate the backbone of the map

View File

@ -49,12 +49,12 @@ taos_metric_t *taos_metric_new(taos_metric_type_t metric_type, const char *name,
for (int i = 0; i < label_key_count; i++) { for (int i = 0; i < label_key_count; i++) {
if (strcmp(label_keys[i], "le") == 0) { if (strcmp(label_keys[i], "le") == 0) {
TAOS_LOG(TAOS_METRIC_INVALID_LABEL_NAME); TAOS_LOG(TAOS_METRIC_INVALID_LABEL_NAME);
taos_metric_destroy(self); (void)taos_metric_destroy(self);
return NULL; return NULL;
} }
if (strcmp(label_keys[i], "quantile") == 0) { if (strcmp(label_keys[i], "quantile") == 0) {
TAOS_LOG(TAOS_METRIC_INVALID_LABEL_NAME); TAOS_LOG(TAOS_METRIC_INVALID_LABEL_NAME);
taos_metric_destroy(self); (void)taos_metric_destroy(self);
return NULL; return NULL;
} }
k[i] = taos_strdup(label_keys[i]); k[i] = taos_strdup(label_keys[i]);
@ -68,14 +68,14 @@ taos_metric_t *taos_metric_new(taos_metric_type_t metric_type, const char *name,
} else { } else {
r = taos_map_set_free_value_fn(self->samples, &taos_metric_sample_free_generic); r = taos_map_set_free_value_fn(self->samples, &taos_metric_sample_free_generic);
if (r) { if (r) {
taos_metric_destroy(self); (void)taos_metric_destroy(self);
return NULL; return NULL;
} }
} }
self->formatter = taos_metric_formatter_new(); self->formatter = taos_metric_formatter_new();
if (self->formatter == NULL) { if (self->formatter == NULL) {
taos_metric_destroy(self); (void)taos_metric_destroy(self);
return NULL; return NULL;
} }
self->rwlock = (pthread_rwlock_t *)taos_malloc(sizeof(pthread_rwlock_t)); self->rwlock = (pthread_rwlock_t *)taos_malloc(sizeof(pthread_rwlock_t));
@ -140,7 +140,7 @@ int taos_metric_destroy_generic(void *item) {
void taos_metric_free_generic(void *item) { void taos_metric_free_generic(void *item) {
taos_metric_t *self = (taos_metric_t *)item; taos_metric_t *self = (taos_metric_t *)item;
taos_metric_destroy(self); (void)taos_metric_destroy(self);
} }
taos_metric_sample_t *taos_metric_sample_from_labels(taos_metric_t *self, const char **label_values) { taos_metric_sample_t *taos_metric_sample_from_labels(taos_metric_t *self, const char **label_values) {

View File

@ -34,12 +34,12 @@ taos_metric_formatter_t *taos_metric_formatter_new() {
taos_metric_formatter_t *self = (taos_metric_formatter_t *)taos_malloc(sizeof(taos_metric_formatter_t)); taos_metric_formatter_t *self = (taos_metric_formatter_t *)taos_malloc(sizeof(taos_metric_formatter_t));
self->string_builder = taos_string_builder_new(); self->string_builder = taos_string_builder_new();
if (self->string_builder == NULL) { if (self->string_builder == NULL) {
taos_metric_formatter_destroy(self); (void)taos_metric_formatter_destroy(self);
return NULL; return NULL;
} }
self->err_builder = taos_string_builder_new(); self->err_builder = taos_string_builder_new();
if (self->err_builder == NULL) { if (self->err_builder == NULL) {
taos_metric_formatter_destroy(self); (void)taos_metric_formatter_destroy(self);
return NULL; return NULL;
} }
return self; return self;

View File

@ -88,17 +88,17 @@ int taos_metric_formatter_load_sample_new(taos_metric_formatter_t *self, taos_me
char* value = *(pair + 1); char* value = *(pair + 1);
SJson* tag = tjsonCreateObject(); SJson* tag = tjsonCreateObject();
tjsonAddStringToObject(tag, "name", key); (void)tjsonAddStringToObject(tag, "name", key);
tjsonAddStringToObject(tag, "value", value); (void)tjsonAddStringToObject(tag, "value", value);
tjsonAddItemToArray(arrayTag, tag); (void)tjsonAddItemToArray(arrayTag, tag);
} }
tjsonAddItemToObject(item, "tags", arrayTag); (void)tjsonAddItemToObject(item, "tags", arrayTag);
metrics = tjsonCreateArray(); metrics = tjsonCreateArray();
tjsonAddItemToObject(item, "metrics", metrics); (void)tjsonAddItemToObject(item, "metrics", metrics);
tjsonAddItemToArray(arrayMetricGroups, item); (void)tjsonAddItemToArray(arrayMetricGroups, item);
} }
else{ else{
metrics = tjsonGetObjectItem(item, "metrics"); metrics = tjsonGetObjectItem(item, "metrics");
@ -109,20 +109,20 @@ int taos_metric_formatter_load_sample_new(taos_metric_formatter_t *self, taos_me
taosMemoryFreeClear(keyvalues); taosMemoryFreeClear(keyvalues);
SJson* metric = tjsonCreateObject(); SJson* metric = tjsonCreateObject();
tjsonAddStringToObject(metric, "name", metricName); (void)tjsonAddStringToObject(metric, "name", metricName);
double old_value = 0; double old_value = 0;
#define USE_EXCHANGE #define USE_EXCHANGE
#ifdef USE_EXCHANGE #ifdef USE_EXCHANGE
taos_metric_sample_exchange(sample, 0, &old_value); (void)taos_metric_sample_exchange(sample, 0, &old_value);
#else #else
old_value = sample->r_value; old_value = sample->r_value;
taos_metric_sample_set(sample, 0); taos_metric_sample_set(sample, 0);
#endif #endif
tjsonAddDoubleToObject(metric, "value", old_value); (void)tjsonAddDoubleToObject(metric, "value", old_value);
tjsonAddDoubleToObject(metric, "type", metric_type); (void)tjsonAddDoubleToObject(metric, "type", metric_type);
tjsonAddItemToArray(metrics, metric); (void)tjsonAddItemToArray(metrics, metric);
return 0; return 0;
} }
@ -150,7 +150,7 @@ int taos_metric_formatter_load_metric_new(taos_metric_formatter_t *self, taos_me
SJson* table = tjsonGetArrayItem(tableArray, i); SJson* table = tjsonGetArrayItem(tableArray, i);
char tableName[MONITOR_TABLENAME_LEN] = {0}; char tableName[MONITOR_TABLENAME_LEN] = {0};
tjsonGetStringValue(table, "name", tableName); (void)tjsonGetStringValue(table, "name", tableName);
if(strcmp(tableName, arr[0]) == 0){ if(strcmp(tableName, arr[0]) == 0){
isFound = true; isFound = true;
arrayMetricGroups = tjsonGetObjectItem(table, "metric_groups"); arrayMetricGroups = tjsonGetObjectItem(table, "metric_groups");
@ -161,10 +161,10 @@ int taos_metric_formatter_load_metric_new(taos_metric_formatter_t *self, taos_me
if(!isFound){ if(!isFound){
table = tjsonCreateObject(); table = tjsonCreateObject();
tjsonAddStringToObject(table, "name", arr[0]); (void)tjsonAddStringToObject(table, "name", arr[0]);
arrayMetricGroups = tjsonCreateArray(); arrayMetricGroups = tjsonCreateArray();
tjsonAddItemToObject(table, "metric_groups", arrayMetricGroups); (void)tjsonAddItemToObject(table, "metric_groups", arrayMetricGroups);
} }
int32_t sample_count = 0; int32_t sample_count = 0;
@ -183,7 +183,7 @@ int taos_metric_formatter_load_metric_new(taos_metric_formatter_t *self, taos_me
} }
if(!isFound && sample_count > 0){ if(!isFound && sample_count > 0){
tjsonAddItemToArray(tableArray, table); (void)tjsonAddItemToArray(tableArray, table);
} }
else{ else{
if(table != NULL) tjsonDelete(table); if(table != NULL) tjsonDelete(table);

View File

@ -63,7 +63,7 @@ int taos_metric_sample_destroy_generic(void *gen) {
void taos_metric_sample_free_generic(void *gen) { void taos_metric_sample_free_generic(void *gen) {
taos_metric_sample_t *self = (taos_metric_sample_t *)gen; taos_metric_sample_t *self = (taos_metric_sample_t *)gen;
taos_metric_sample_destroy(self); (void)taos_metric_sample_destroy(self);
} }
int taos_metric_sample_add(taos_metric_sample_t *self, double r_value) { int taos_metric_sample_add(taos_metric_sample_t *self, double r_value) {

View File

@ -84,10 +84,10 @@ bool taos_monitor_is_match(const SJson* tags, char** pairs, int32_t count) {
SJson* item = tjsonGetArrayItem(tags, i); SJson* item = tjsonGetArrayItem(tags, i);
char item_name[MONITOR_TAG_NAME_LEN] = {0}; char item_name[MONITOR_TAG_NAME_LEN] = {0};
tjsonGetStringValue(item, "name", item_name); (void)tjsonGetStringValue(item, "name", item_name);
char item_value[MONITOR_TAG_VALUE_LEN] = {0}; char item_value[MONITOR_TAG_VALUE_LEN] = {0};
tjsonGetStringValue(item, "value", item_value); (void)tjsonGetStringValue(item, "value", item_value);
bool isfound = false; bool isfound = false;
for(int32_t j = 0; j < count; j++){ for(int32_t j = 0; j < count; j++){

View File

@ -44,7 +44,7 @@ taos_string_builder_t *taos_string_builder_new(void) {
self->init_size = TAOS_STRING_BUILDER_INIT_SIZE; self->init_size = TAOS_STRING_BUILDER_INIT_SIZE;
r = taos_string_builder_init(self); r = taos_string_builder_init(self);
if (r) { if (r) {
taos_string_builder_destroy(self); (void)taos_string_builder_destroy(self);
return NULL; return NULL;
} }