@cryptotaxi247 / netdata-1 / commits / 4db41c80b

Defer the dimension payload check to the ACLK sync thread (#12951)

Defer payload check to the aclk sync thread

Stelios Fragkakis committed May 18, 2022 at 21:11 UTC 4db41c80be6076c99c6b35b48ccf0946529f3bc6
2 files changed +3 -7
database/sqlite/sqlite_aclk_chart.c
+2 -7
@@ -294,7 +294,7 @@ int aclk_add_dimension_event(struct aclk_database_worker_config *wc, struct aclk
294 goto cleanup;
295
296 rc = aclk_add_chart_payload(wc, &aclk_cd_data->uuid, claim_id, ACLK_PAYLOAD_DIMENSION,
297 - (void *) aclk_cd_data->payload, aclk_cd_data->payload_size, NULL, 0);
297 + (void *) aclk_cd_data->payload, aclk_cd_data->payload_size, NULL, aclk_cd_data->check_payload);
298
299 freez(claim_id);
300 cleanup:
@@ -1120,16 +1120,11 @@ void queue_dimension_to_aclk(RRDDIM *rd, time_t last_updated)
1120 if (unlikely(!payload))
1121 return;
1122
1123 - time_t date_submitted = payload_sent(wc->uuid_str, &rd->state->metric_uuid, payload, size);
1124 - if (date_submitted) {
1125 - freez(payload);
1126 - return;
1127 - }
1128 -
1123 struct aclk_chart_dimension_data *aclk_cd_data = mallocz(sizeof(*aclk_cd_data));
1124 uuid_copy(aclk_cd_data->uuid, rd->state->metric_uuid);
1125 aclk_cd_data->payload = payload;
1126 aclk_cd_data->payload_size = size;
1127 + aclk_cd_data->check_payload = 1;
1128
1129 struct aclk_database_cmd cmd;
1130 memset(&cmd, 0, sizeof(cmd));
database/sqlite/sqlite_aclk_chart.h
+1
@@ -28,6 +28,7 @@ struct aclk_chart_dimension_data {
28 uuid_t uuid;
29 char *payload;
30 size_t payload_size;
31 + uint8_t check_payload;
32 };
33
34 struct aclk_chart_sync_stats {