summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelios Fragkakis <52996999+stelfrag@users.noreply.github.com>2022-05-18 21:11:27 +0300
committerGitHub <noreply@github.com>2022-05-18 21:11:27 +0300
commit4db41c80be6076c99c6b35b48ccf0946529f3bc6 (patch)
tree282c90a726191db0184a72e96133de9ef369c7af
parent77b30d25d8d4a82272b4e010dd674bd69db0c929 (diff)
Defer the dimension payload check to the ACLK sync thread (#12951)
Defer payload check to the aclk sync thread
-rw-r--r--database/sqlite/sqlite_aclk_chart.c9
-rw-r--r--database/sqlite/sqlite_aclk_chart.h1
2 files changed, 3 insertions, 7 deletions
diff --git a/database/sqlite/sqlite_aclk_chart.c b/database/sqlite/sqlite_aclk_chart.c
index c69d04e657..49203608f4 100644
--- a/database/sqlite/sqlite_aclk_chart.c
+++ b/database/sqlite/sqlite_aclk_chart.c
@@ -294,7 +294,7 @@ int aclk_add_dimension_event(struct aclk_database_worker_config *wc, struct aclk
goto cleanup;
rc = aclk_add_chart_payload(wc, &aclk_cd_data->uuid, claim_id, ACLK_PAYLOAD_DIMENSION,
- (void *) aclk_cd_data->payload, aclk_cd_data->payload_size, NULL, 0);
+ (void *) aclk_cd_data->payload, aclk_cd_data->payload_size, NULL, aclk_cd_data->check_payload);
freez(claim_id);
cleanup:
@@ -1120,16 +1120,11 @@ void queue_dimension_to_aclk(RRDDIM *rd, time_t last_updated)
if (unlikely(!payload))
return;
- time_t date_submitted = payload_sent(wc->uuid_str, &rd->state->metric_uuid, payload, size);
- if (date_submitted) {
- freez(payload);
- return;
- }
-
struct aclk_chart_dimension_data *aclk_cd_data = mallocz(sizeof(*aclk_cd_data));
uuid_copy(aclk_cd_data->uuid, rd->state->metric_uuid);
aclk_cd_data->payload = payload;
aclk_cd_data->payload_size = size;
+ aclk_cd_data->check_payload = 1;
struct aclk_database_cmd cmd;
memset(&cmd, 0, sizeof(cmd));
diff --git a/database/sqlite/sqlite_aclk_chart.h b/database/sqlite/sqlite_aclk_chart.h
index f98cf55c5c..fd8c139741 100644
--- a/database/sqlite/sqlite_aclk_chart.h
+++ b/database/sqlite/sqlite_aclk_chart.h
@@ -28,6 +28,7 @@ struct aclk_chart_dimension_data {
uuid_t uuid;
char *payload;
size_t payload_size;
+ uint8_t check_payload;
};
struct aclk_chart_sync_stats {