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