diff options
author | Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com> | 2022-05-18 21:11:27 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-18 21:11:27 +0300 |
commit | 4db41c80be6076c99c6b35b48ccf0946529f3bc6 (patch) | |
tree | 282c90a726191db0184a72e96133de9ef369c7af | |
parent | 77b30d25d8d4a82272b4e010dd674bd69db0c929 (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.c | 9 | ||||
-rw-r--r-- | database/sqlite/sqlite_aclk_chart.h | 1 |
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 { |