Heh, I would like to share with my opinion.
At pictures attached by Daniel (the issue reporter) we see repeated several PROBLEM events in a row. It's not very clear why that happened. I cannot imagine.
Additionally we don't know update interval for that item, maybe it is 180 seconds ? (the same as trigger function).
But in the events we see that OK event generated exactly at start of minute. OK events can be generated only by "db syncer" process when some value is received and the trigger is in PROBLEM state.
PROBLEM events can be generated only by "timer" process when trigger is in OK or UNKNOWN (because of server restart) states.
So, I suppose data came from the item exactly at the start of minute (processed by "db syncer"), and we know that "timer" executed every 30 seconds exactly at 00 and 30 seconds.
The events, to which Daniel draws attention, are less interesting for me than other events.
10:16:00 - PROBLEM,
10:16:00 - OK
00:04:00 - PROBLEM,
00:04:01 - OK
I can show more clear case. See attached "O_new_trigger_error.jpg", there you will find all detail.
We see that the trigger has been processed by two processes almost in the same time.
11:02:31 = eventID 10959666 - "timer" process generated PROBLEM event
11:02:30 = eventID 10959668 - "db syncer" process generated OK event
Here is not clear why "db syncer" decided that the trigger is in PROBLEM state. It's possible that "timer" already changed it to PROBLEM (in some cache or in the table)
And later "db syncer" probably changed the state to OK. :/
So we should prevent such cases somehow.
Zabbix server version is 1.8.6 in this last example.