Fix retention messages (#11762)
Stelios Fragkakis committed
Nov 8, 2021 at 14:29 UTC
989c68cac8ae800e369ceac1abc825846982ff34
1 file changed
+12
-5
database/sqlite/sqlite_aclk_chart.c
+12
-5
@@ -768,7 +768,11 @@ void aclk_update_retention(struct aclk_database_worker_config *wc, struct aclk_d
768
if (!update_every || update_every != (uint32_t) sqlite3_column_int(res, 1)) {
769
if (update_every) {
770
debug(D_ACLK_SYNC,"Update %s for %u oldest time = %ld", wc->host_guid, update_every, start_time);
771
- rotate_data.interval_durations[rotate_data.interval_duration_count].retention = rotate_data.rotation_timestamp.tv_sec - start_time;
771
+ if (start_time == LONG_MAX)
772
+ rotate_data.interval_durations[rotate_data.interval_duration_count].retention = 0;
773
+ else
774
+ rotate_data.interval_durations[rotate_data.interval_duration_count].retention =
775
+ rotate_data.rotation_timestamp.tv_sec - start_time;
776
rotate_data.interval_duration_count++;
777
}
778
update_every = (uint32_t) sqlite3_column_int(res, 1);
@@ -813,16 +817,19 @@ void aclk_update_retention(struct aclk_database_worker_config *wc, struct aclk_d
817
}
818
if (update_every) {
819
debug(D_ACLK_SYNC, "Update %s for %u oldest time = %ld", wc->host_guid, update_every, start_time);
816
- rotate_data.interval_durations[rotate_data.interval_duration_count].retention = rotate_data.rotation_timestamp.tv_sec - start_time;
820
+ if (start_time == LONG_MAX)
821
+ rotate_data.interval_durations[rotate_data.interval_duration_count].retention = 0;
822
+ else
823
+ rotate_data.interval_durations[rotate_data.interval_duration_count].retention =
824
+ rotate_data.rotation_timestamp.tv_sec - start_time;
825
rotate_data.interval_duration_count++;
826
}
827
820
- for (int i = 0; i < rotate_data.interval_duration_count; ++i) {
828
#ifdef NETDATA_INTERNAL_CHECKS
822
- info("%d --> Update %s for %u Retention = %u", i, wc->host_guid,
829
+ for (int i = 0; i < rotate_data.interval_duration_count; ++i)
830
+ info("Update for host %s (node %s) for %u Retention = %u", wc->host_guid, wc->node_id,
831
rotate_data.interval_durations[i].update_every, rotate_data.interval_durations[i].retention);
832
#endif
825
- };
833
aclk_retention_updated(&rotate_data);
834
freez(rotate_data.node_id);
835
freez(rotate_data.interval_durations);