-
Problem report
-
Resolution: Fixed
-
Critical
-
6.0.0alpha5
-
None
-
Sprint 82 (Nov 2021)
-
0.25
Steps to reproduce:
- Create some item and trigger
- Make the item not supported (by sending wrong value type by example)
- Item is not supported, but the trigger still shows as enabled
- Send another wrong value
- Trigger will become unknown
- Send correct value, item will become supported
- Trigger is still UNKNOWN and is not calculated using this value
- Send another correct value
- Trigger now becomes enabled and calculates value
Result:
The same history syncer is making item supported, and then complaining that trigger can not be calculated because the same item is still not supported
Zabbix server log (truncated, only important lines left)
229756:20211104:124536.902 zbx_setproctitle() title:'history syncer #1 [processed 0 values, 0 triggers in 0.000156 sec, syncing history]' 229756:20211104:124536.902 item "Test:test.item" became supported 229756:20211104:124536.902 query [txnlev:1] [update item_rtdata set state=0,error='' where itemid=39229;] 229756:20211104:124536.903 End of DBmass_update_items() 229756:20211104:124536.910 In recalculate_triggers() 229756:20211104:124536.911 zbx_substitute_functions_results() expression[0]:'{26692}=1' => 'ERROR(Cannot evaluate function last(/Test/test.item): item is not supported.)=1' 229756:20211104:124536.911 End of zbx_substitute_functions_results() 229756:20211104:124536.911 End of substitute_functions() 229756:20211104:124536.911 evaluate_expressions():expression [{26692}=1] cannot be evaluated: Cannot evaluate function last(/Test/test.item): item is not supported. 229756:20211104:124536.911 End of evaluate_expressions() 229756:20211104:124536.911 In zbx_process_triggers() values_num:1 229756:20211104:124536.911 In zbx_process_trigger() triggerid:20506 value:0(1) new_value:2 229756:20211104:124536.911 End of zbx_process_trigger():FAIL flags:0 229756:20211104:124536.911 End of zbx_process_triggers() 229756:20211104:124536.911 End of recalculate_triggers() 229756:20211104:124536.911 zbx_setproctitle() title:'history syncer #1 [processed 1 values, 1 triggers in 0.009759 sec, idle 1 sec]'
Expected:
When item becomes supported, trigger is calculated immediately using the value received.
Currently the very first value is always ignored
And vice versa, when item becomes not supported, trigger switches to unknown status immediately.
This may affect many customers, completely ignoring valid collected value is not expected from monitoring software. It will become even worse if the item has large update interval (hours or even days) or preprocessing steps with discard values