When sending a dimension for the first time, make sure there is a non zero created_at timestamp (#13035)
Stelios Fragkakis committed
May 31, 2022 at 12:25 UTC
665f7ba25b4934bb040bdf4bd6d53a3d80b72457
1 file changed
+6
-1
database/sqlite/sqlite_aclk_chart.c
+6
-1
@@ -1093,6 +1093,11 @@ void queue_dimension_to_aclk(RRDDIM *rd, time_t last_updated)
1093
if (likely(rd->state->aclk_live_status == live))
1094
return;
1095
1096
+ time_t created_at = rd->state->query_ops.oldest_time(rd);
1097
+
1098
+ if (unlikely(!created_at && rd->updated))
1099
+ created_at = rd->last_collected_time.tv_sec;
1100
+
1101
rd->state->aclk_live_status = live;
1102
1103
struct aclk_database_worker_config *wc = rd->rrdset->rrdhost->dbsync_worker;
@@ -1110,7 +1115,7 @@ void queue_dimension_to_aclk(RRDDIM *rd, time_t last_updated)
1115
dim_payload.name = rd->name;
1116
dim_payload.id = rd->id;
1117
dim_payload.chart_id = rd->rrdset->id;
1113
- dim_payload.created_at.tv_sec = rd->state->query_ops.oldest_time(rd);
1118
+ dim_payload.created_at.tv_sec = created_at;
1119
dim_payload.last_timestamp.tv_sec = last_updated;
1120
1121
size_t size = 0;