After doing a little more digging it actually appears as though this bug is presenting itself in the RRDs perl module and not the rrdtool binary itself. I am digging a little more to see if I can find some more information but it appears as though this patch is introducing some sort of logic bug in RRDs.so
I am trying to come up with a simple way to duplicate this problem, right now the problem is presenting itself when using a program called NMIS. This program it a pretty complex perl script that does all sorts of network monitoring on various routers. At certain times the program does "threshold" calculations, basically it takes a value from an RRD table, compares it to a stored threshold value, and then sends an alarm when the RRD table value exceeds the stored threshold value. My first inclination is to point my finger at NMIS since it is performing the threshold calculations and it appears as though the RRD values are correct. However, with the removal of the one line patch I posted previously everything works as expected. I am at somewhat of a loss as to what is happening here but I will try to come up with some more details. Mike McHenry Senior Network Engineer Origix Corp. -----Original Message----- From: Alex van den Bogaerdt [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 06, 2002 6:15 PM To: Mike McHenry Cc: RRD developers Subject: Re: [rrd-developers] Another bug in CVS 12/25/01? Mike McHenry wrote: > Can anyone offer any comments on what this change was supposed to fix? > The 12/25/01 build seems to be giving incorrect data when I fetch data > from RRD structures and reverting back to the old 12/24/01 code seems to > fix the problem. However, I have not tested extensively with the removal > of this patch to see if there are any side effects to be had from > removing it. The change has to do with an off-by-one error that was present in the code. There shouldn't be any differences in the output. I created a quick test script; this doesn't show the problem you're describing. Maybe you can create one that does? rrdtool create check.rrd \ --start 1013036100 \ DS:x:GAUGE:600:U:U \ RRA:AVERAGE:0:1:10 rrdtool update check.rrd 1013036400:1 1013036700:2 1013037000:3 rrdtool update check.rrd 1013037300:4 1013037600:5 1013037900:6 rrdtool update check.rrd 1013038200:7 1013038500:8 1013038800:9 rrdtool update check.rrd 1013039100:10 rrdtool fetch check.rrd --start 1013036100 --end 1013039100 AVERAGE x 1013036400: 1.0000000000e+00 1013036700: 2.0000000000e+00 1013037000: 3.0000000000e+00 1013037300: 4.0000000000e+00 1013037600: 5.0000000000e+00 1013037900: 6.0000000000e+00 1013038200: 7.0000000000e+00 1013038500: 8.0000000000e+00 1013038800: 9.0000000000e+00 1013039100: 1.0000000000e+01 The rrdtool version that was used to do this is the most recent snapshot, to be found at (sorry for the long line): http://people.ethz.ch/~oetiker/webtools/rrdtool/pub/beta/rrdtool-cvs-sna p.tar.gz cheers, -- __________________________________________________________________ / [EMAIL PROTECTED] [EMAIL PROTECTED] \ | work private | | My employer is capable of speaking therefore I speak only for myself | +----------------------------------------------------------------------+ | Technical questions sent directly to me will be nuked. Use the list. | +----------------------------------------------------------------------+ | http://faq.mrtg.org/ | | http://rrdtool.eu.org --> tutorial | +----------------------------------------------------------------------+ -- Unsubscribe mailto:[EMAIL PROTECTED] Help mailto:[EMAIL PROTECTED] Archive http://www.ee.ethz.ch/~slist/rrd-developers WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi
