[rrd-users] rrdupdate time problem

Oleg Derevenetz oleg at vsi.ru
Tue Aug 14 13:18:59 CEST 2007

Hi all,

I am developing NMS with ability to store variables (interface counters, temperature, environment, etc) in RRD. Due to heavy load 
(hundreds of thousands values stored in RRD per minute) I use some sort of buffering - counters from hardware with timestamps 
temporary stored in memory queues and periodically entire queue that relates to given RRD file stored into this file by separate 
thread using single command like that:

::Rrd::update file_path --template In:Out 1187065338:12345:6789 1187065358:123456:67890 ...

But sometimes such updates fails with error like that:

RRD Error: illegal attempt to update using time 1187065338 when last update time is 1187065682 (minimum one second step)

This error occures with different RRD files with different structures. I added debugging output regarding this problem, and this 
debug shows that before this error was no attempt to update this RRD file using timestamp 1187065682 at all, and failed command also 
does not contain argument with this timestamp.

How this can happen ? Any ideas ? I have only one idea - sometimes RRD file's last update time is time of real update, and not the 
latest timestamp from rrdupdate's data arguments, and if previous update happened later than the first counter value appears in 
memory queue, than such error will encounter on the next update.

Oleg Derevenetz <oleg at vsi.ru> OOD3-RIPE
Phone: +7 4732 539880
Fax:   +7 4732 531415         http://www.vsi.ru
CenterTelecom Voronezh ISP    http://isp.vsi.ru

More information about the rrd-users mailing list