Fix data query on stale chart (#13159)
* Fix data query on stale chart * Remove more checks vs the last timestamp of a point collected
Stelios Fragkakis committed
Jun 17, 2022 at 12:28 UTC
b53a30ae5380b8af42634df26a78aae7854f350d
1 file changed
+3
-44
web/api/queries/query.c
+3
-44
@@ -893,6 +893,8 @@ static RRDR *rrd2rrdr_fixedstep(
893
, struct context_param *context_param_list
894
, int timeout
895
) {
896
+ UNUSED(last_entry_t);
897
+
898
int aligned = !(options & RRDR_OPTION_NOT_ALIGNED);
899
RRDDIM *temp_rd = context_param_list ? context_param_list->rd : NULL;
900
@@ -973,13 +975,6 @@ static RRDR *rrd2rrdr_fixedstep(
975
976
// we align the request on requested_before
977
time_t before_wanted = before_requested;
976
- if(likely(before_wanted > last_entry_t)) {
977
- #ifdef NETDATA_INTERNAL_CHECKS
978
- error("INTERNAL ERROR: rrd2rrdr() on %s, before_wanted is after db max", st->name);
979
- #endif
980
-
981
- before_wanted = last_entry_t - (last_entry_t % ( ((aligned)?group:1) * update_every ));
982
- }
978
979
// we need to estimate the number of points, for having
980
// an integer number of values per point
@@ -1027,23 +1022,9 @@ static RRDR *rrd2rrdr_fixedstep(
1022
if(after_wanted < first_entry_t)
1023
error("INTERNAL CHECK: after_wanted %u is too small, minimum %u", (uint32_t)after_wanted, (uint32_t)first_entry_t);
1024
1030
- if(after_wanted > last_entry_t)
1031
- error("INTERNAL CHECK: after_wanted %u is too big, maximum %u", (uint32_t)after_wanted, (uint32_t)last_entry_t);
1032
-
1025
if(before_wanted < first_entry_t)
1026
error("INTERNAL CHECK: before_wanted %u is too small, minimum %u", (uint32_t)before_wanted, (uint32_t)first_entry_t);
1027
1036
- if(before_wanted > last_entry_t)
1037
- error("INTERNAL CHECK: before_wanted %u is too big, maximum %u", (uint32_t)before_wanted, (uint32_t)last_entry_t);
1038
-
1039
-/*
1040
- if(before_slot >= (size_t)st->entries)
1041
- error("INTERNAL CHECK: before_slot is invalid %zu, expected 0 to %ld", before_slot, st->entries - 1);
1042
-
1043
- if(after_slot >= (size_t)st->entries)
1044
- error("INTERNAL CHECK: after_slot is invalid %zu, expected 0 to %ld", after_slot, st->entries - 1);
1045
-*/
1046
-
1028
if(points_wanted > (before_wanted - after_wanted) / group / update_every + 1)
1029
error("INTERNAL CHECK: points_wanted %ld is more than points %ld", points_wanted, (before_wanted - after_wanted) / group / update_every + 1);
1030
@@ -1278,6 +1259,7 @@ static RRDR *rrd2rrdr_variablestep(
1259
, struct context_param *context_param_list
1260
, int timeout
1261
) {
1262
+ UNUSED(last_entry_t);
1263
int aligned = !(options & RRDR_OPTION_NOT_ALIGNED);
1264
1265
// the duration of the chart
@@ -1360,13 +1342,7 @@ static RRDR *rrd2rrdr_variablestep(
1342
1343
// we align the request on requested_before
1344
time_t before_wanted = before_requested;
1363
- if(likely(before_wanted > last_entry_t)) {
1364
- #ifdef NETDATA_INTERNAL_CHECKS
1365
- error("INTERNAL ERROR: rrd2rrdr() on %s, before_wanted is after db max", st->name);
1366
- #endif
1345
1368
- before_wanted = last_entry_t - (last_entry_t % ( ((aligned)?group:1) * update_every ));
1369
- }
1346
//size_t before_slot = rrdset_time2slot(st, before_wanted);
1347
1348
// we need to estimate the number of points, for having
@@ -1416,23 +1392,9 @@ static RRDR *rrd2rrdr_variablestep(
1392
if(after_wanted < first_entry_t)
1393
error("INTERNAL CHECK: after_wanted %u is too small, minimum %u", (uint32_t)after_wanted, (uint32_t)first_entry_t);
1394
1419
- if(after_wanted > last_entry_t)
1420
- error("INTERNAL CHECK: after_wanted %u is too big, maximum %u", (uint32_t)after_wanted, (uint32_t)last_entry_t);
1421
-
1395
if(before_wanted < first_entry_t)
1396
error("INTERNAL CHECK: before_wanted %u is too small, minimum %u", (uint32_t)before_wanted, (uint32_t)first_entry_t);
1397
1425
- if(before_wanted > last_entry_t)
1426
- error("INTERNAL CHECK: before_wanted %u is too big, maximum %u", (uint32_t)before_wanted, (uint32_t)last_entry_t);
1427
-
1428
-/*
1429
- if(before_slot >= (size_t)st->entries)
1430
- error("INTERNAL CHECK: before_slot is invalid %zu, expected 0 to %ld", before_slot, st->entries - 1);
1431
-
1432
- if(after_slot >= (size_t)st->entries)
1433
- error("INTERNAL CHECK: after_slot is invalid %zu, expected 0 to %ld", after_slot, st->entries - 1);
1434
-*/
1435
-
1398
if(points_wanted > (before_wanted - after_wanted) / group / update_every + 1)
1399
error("INTERNAL CHECK: points_wanted %ld is more than points %ld", points_wanted, (before_wanted - after_wanted) / group / update_every + 1);
1400
@@ -1706,9 +1668,6 @@ RRDR *rrd2rrdr(
1668
else {
1669
if(after_requested < first_entry_t)
1670
after_requested = first_entry_t;
1709
-
1710
- if(before_requested > last_entry_t)
1711
- before_requested = last_entry_t;
1671
}
1672
1673
if(!points_original)