notifications: use always time.Now() for event IDs#1150
Merged
Conversation
Previously, the LastStateChange column was used to generate the event ID, but this is not reliable for events other than state changes, as the checkable can be ACKED, set in Downtime etc. while still being in the same problem state, thus the LastStateChange timestamp does not change. So, we now use the current timestamp in milliseconds to generate a unique event ID for each event, as everything sent to Icinga Notifications is considered a new event, even if the checkable is still in the same state.
oxzi
reviewed
Jul 14, 2026
oxzi
approved these changes
Jul 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Previously, the LastStateChange column was used to generate the event ID, but this is not reliable for events other than state changes, as the checkable can be ACKED, set in Downtime etc. while still being in the same problem state, thus the LastStateChange timestamp does not change. So, we now use the current timestamp in milliseconds to generate a unique event ID for each event, as everything sent to Icinga Notifications is considered a new event, even if the checkable is still in the same state.
I've just merged #1148 without actually testing it, I only noticed this again when I was testing the HA related in Icinga Notifications.