Alex van den Bogaerdt wrote:

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

Hmm... It seems that this error appears when I tried to update just 
created empty RRD file with record that have timestamp in the past (RRD 
files created on-the-fly when necessary), so this is documented 
situation and I should use --start parameter for rrdcreate command to 
avoid this.

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

_______________________________________________
rrd-users mailing list
[email protected]
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users

Reply via email to