[rrd-users] RRD::update failing on first update every time?

A Darren Dunham ddunham at taos.com
Tue Aug 10 17:18:13 CEST 2010


On Mon, Aug 09, 2010 at 07:47:55PM -0700, Jo Rhett wrote:
> I have a statistical data source giving me numbers that are exactly 300 seconds apart, with multiple intervals at once.  (ie data in 5 minute windows delivered hourly, etc)
> 
> Data which is exactly 300 seconds apart should make RRD happy, but RRD is always rejecting the very first update.   Why?
> 
>        RRD filename is /rrd/vlan-0.0/queue-1.rrd
>         getLatestRRDTimestamp( /rrd/vlan-0.0/queue-1.rrd ):
>                 rrd start = 1281393300, step = 300
> 		(steps through data to find the last defined value)
>         Exiting getLatestRRDTimestamp( /rrd/vlan-0.0/queue-1.rrd ) with timestamp 1281406200
>         insert into /rrd/vlan-0.0/queue-1.rrd values 1281406473, 3420012071625, 3420012071625
> ERROR while updating /rrd/vlan-0.0/queue-1.rrd: illegal attempt to update using time 1281406473 when last update time is 1281406473 (minimum one second step)
>         insert into /rrd/vlan-0.0/queue-1.rrd values 1281406773, 3420061076791, 3420061076791
>         insert into /rrd/vlan-0.0/queue-1.rrd values 1281407073, 3420108690075, 3420108690075
>         insert into /rrd/vlan-0.0/queue-1.rrd values 1281407373, 3420860926634, 3420860926634
> 
> Why is it failing on the first update every time?

Unfortunately, you don't show what is actually being run by the system.

Can you recreate this situation with a simple 'rrdcreate' and
'rrdupdate' lines that are runnable by others?

My first guess is that RRD is correct, but there's a bug in your script
and the first 'rrdupdate' is getting run twice.

> And no, I'm not doing an update at any other time, there's only one
> place in the code where update() is called, and it outputs the debug
> message you see here...

Maybe you could wrap the update() call to show the command line?

-- 
Darren



More information about the rrd-users mailing list