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 {