I have created cpuload.rrd with rrdtool create cpuload.rrd \ DS:cpuload:GAUGE:600:0:U \ RRA:AVERAGE:0.5:1:600 \ RRA:AVERAGE:0.5:6:600 \ RRA:AVERAGE:0.5:24:600 \ RRA:AVERAGE:0.5:288:600 \ RRA:MAX:0.5:1:600 \ RRA:MAX:0.5:6:600 \ RRA:MAX:0.5:24:600 \ RRA:MAX:0.5:288:600 So there's AVERAGE and MAX, but not MIN. As expected, rrdtool fetch cpuload.rrd AVERAGE -s -1080000 and rrdtool fetch cpuload.rrd MAX -s -1080000 both output values with step 1800. But rrdtool fetch cpuload.rrd MIN -s -1080000 also outputs values. Selected step is 300, and most values (for the oldest timestamps) are NaN. Instead, it should fail. This is a regression.
In case you're wondering why I try to read values associated with a CF that has not been declared with "rrdtool create", this is because this is done via a Perl script on several .rrd files, via the RRDs Perl module. For some of these files, MIN has been declared, but not all of them, and the script doesn't know which CFs are used. So it tries all of them. If a CF isn't used, it expects an error so that it can skip it instead of getting unexpected results.