[rrd-users] rrdupdate time problem

Alex van den Bogaerdt alex at ergens.op.het.net
Tue Aug 14 16:58:47 CEST 2007

On Tue, Aug 14, 2007 at 03:18:59PM +0400, Oleg Derevenetz wrote:
> 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 ...

Sounds good.

> 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.

I understand what you are saying, but I don't agree 100%.  What you have
shown is that you believe there is no such update.  See below.

> 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.

This sounds reasonable however it would mean a bug in RRDtool, one which
only manifests itself once in a while.

If you can reproduce the problem by replaying your logged updates,
some bughunting is necessary.  But before this, I think it is fair
to at least consider the possibility that you overlooked something.

Alex van den Bogaerdt

More information about the rrd-users mailing list