[rrd-developers] [rrd] longstanding bug in rrd update core solved (I think)

Tobias Oetiker tobi at oetiker.ch
Wed Mar 3 00:26:02 CET 2010


Folks,

I think I just solved a longstanding bug in the rrd_update routine
... I am writing a tool for seeding new rrd files from an existing
one ... essentially enabeling arbitrary restructuring ...

while doing this I found the following:

pdp:     1 2 | 3 4 5 6 7 | 8 9

for a consolidation of 5 steps I get

AVG RRA  ..  |         5 | ..
MIN RRA  ..  |         2 | ..
MAX RRA  ..  |         7 | ..

while I would have expected to get

AVG RRA  ..  |         5 | ..
MIN RRA  ..  |         3 | ..
MAX RRA  ..  |         7 | ..

the behavior has been like this at least since 1.2

looking at the code I found that the behavior had been introduced
by a patch optimizing rrd_update for updates covering multiple pdps
in one go ... in that optimization, the normal case where an update
covers exactly ONE pdp had been sort of neglected ... so much for
tunel vision.

The problem was, that the cdp value for MIN and MAX got initialized
from the last pdp value BEFORE the consolidation interval ... for
normal data no one would notice (or did notice) but it is still
wrong ...

I think http://oss.oetiker.ch/rrdtool-trac/changeset/2024 should
fix it ...

cheers
tobi

-- 
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
http://it.oetiker.ch tobi at oetiker.ch ++41 62 775 9902 / sb: -9900



More information about the rrd-developers mailing list