-
Change Request
-
Resolution: Fixed
-
Medium
-
6.0.14, 6.4.0
-
Sprint 98 (Mar 2023), Sprint 99 (Apr 2023), Sprint 100 (May 2023)
-
0.5
Current proxy houskeeper logic:
Check if we have min(clock) older now-OfflineBufer*1h
If we have -> delete all such data and finish the housekeeping cycle
If we have min(clock) newer now-OfflineBufer*1h we delete 4 housekeepr periods at a time
* provided that this data was transferred to the server (<id from ids table for the proxy_history)
This logic creates a problem when the proxy for some reason receives data from the past. In the most negative case, the database can "grow" to "OfflineBuffer" period of data and never get less (untill truncate proxy_history and ids tables)
We can delete data older than offline buffer first and then checking minclock and deleting 4*Housekeeper period of data. That should be done in one query or at least in one transaction (in case if proxy receive another data from the past - it should be deleted after it is sent to zabbix server)